The basic idea behind the Free Form Deformation technique is that there exists a mapping between any 4 sided object and another 4 sided object (in 2D case).
In other words, if there is a circle in a square as shown below, it is not hard to imagine how this circle would deform based on the deformation of the square. This intuition describes the one to one mapping which states that "for every point in the original square, there exists a corresponding point in the deformed quadrilateral."
In order to deform any objects then, the object must be enclosed to some cubes or quadrilaterals. In our system, we created an intuitive user interface to make this step easy and painless.
The picture above shows the basic steps of adding a cube to the existing cubes. First the user selects a face where a cube would be attached (as seen in the third picture). Then by clicking on the "Add Cube" button in the control panel, a new cube is added to the existing ones.
We employed the a modified version of the volume subdivision technique described by Catmull and Clark. Volume subdivision weighs the volume being subdivided, and creates "smoother" curves while adding more detail (more quadilaterals).
After the mesh object has been parameterized (which means that after the vertices on the mesh are given coordinate positions based on where they are in the quadrilaterals), deformation could be achieved by moving the points of the lattices around.