The goal of the project was to simulate the effects of water-color paint propagation. Traditionally, fluids and gasses are simulated on a grid of cells, and a fluid flow is computed between the cells. This approach can be slow and we were looking for a faster solution.
In this project we developed a novel approach, in which the fluid location is defined by a set of overlapping semitransparent shapes of uniform color. Instead of computing the fluid flow between cells of a grid, our algorithm computes the movement of vertices that specify the edges of each shape.
Each shape has a certain lifespan and certain time, in which it is considered wet. The movement of shape vertices is controlled by several parameters: whether the vertex is over another shape that is still wet, where was the shape located withing the area of the initial deposition, and a few random parameters.
See the paper below for more details.
The initial prototype of the technique was developed by Daichi in Adobe's Deco scripting environment, with help of Radomir. Aravind and Steve helped to implement the algorithm in C++, improve it and then deply it i on an ipad application and inside Photoshop, respectively. The ipad application, Eazel, was shipped with Photoshop CS5.5.