Back in 2009-11, when I was studying at UCLA for my Master’s, I was really interested in computer graphics. I like fine art; I have dabbled in painting/ sketching, and I love coding. So naturally I was drawn towards an area within graphics which straddles both — Non-Photorealistic Rendering.
Non-photorealistic rendering (NPR) is an area of computer graphics that focuses on enabling a wide variety of expressive styles for digital art. In contrast to traditional computer graphics, which has focused on photorealism, NPR is inspired by artistic styles such as painting, drawing, illustration, and animated cartoons.
There are many algorithms which take a photo as input and create an output image which looks painted or illustrated. One drawback of such algorithms is that it is not straightforward to extend these techniques to animation which looks smooth. This is because the algorithms have inherent randomness which makes each frame render differently from the previous one.
I tackled this problem for my Master's thesis and created a framework for using NPR techniques in 2D animation.
Here's a video of an animation created using a Java Swing application called LiveCanvas I wrote to implement the technique.
Complete source code is available at Github.