Cs679 - Free-Form Deformations


Overview

Free-form deformation is a versatile modeling tool that can be used for solids, analytic surfaces or polygonal data. However with free-form deformations it can be difficult to control the shape of the object under complex deformations. The interface for free-form deformations requires the user to understand the underlying mathematics to the construction. It can also be difficult to manipulate the control points as they may become embedded or obscured by the object being deformed.

Direct manipulation is an attempt to make deformations of objects more user-friendly. The user selects point on the surface of the object and moves the point to a new location. The program automatically determines adjustments to the control points that effect this change.


What I did

My project consisted of implementing interactive free-form deformations using tri-variate Bezier volumes. The interface allows manipulation of the control points (free-form deformations) and also manipulation of points on the surface of the object (free-form deformations with direct manipulation). This allows the user to compare the differences between the two methods, as well as having greater modeling flexibility.

My program has the following main interface features (See Figure 1):

User-Inteface
Figure 1: User-Interface for the Free-Form Deformation Program


Implementation Details



What I learned

In a nutshell...How to implement free-form deformations with and without direct manipulation using tri-variate Bezier's.

In more detail...



What I deserve marks for

Basic Project

Extras



Pictures

Notes:
Click on picture for a larger image.
FFD stands for free-form deformation.
DM stands for direct manipulation.
[JPEG Image]
Figure 1
Beethoven Model before
deformation with 4x6x5 lattice
[JPEG Image]


Figure 2
Beethoven after a few
iterations of FFD
[JPEG Image]
Figure 3
Beethoven with multiple points
selected for DM
[JPEG Image]
Figure 4
Final Lattice after a several
more DM steps
[JPEG Image]
Figure 5
Final Beethoven model after
several rounds of FFD and DM
[JPEG Image]



Figure 6
ATC model before deformation
[JPEG Image]
Figure 7
ATC after several DM steps
with multiple target points
[JPEG Image]


Figure 8
Lattice after DM on ATC
[JPEG Image]
Figure 9
ATC deformed by several DM steps
[JPEG Image]
Figure 10
FFD using an X cross section
selection on ATC
[JPEG Image]
Figure 11
Deathstar model
[JPEG Image]
Figure 12
Deathstar model with 4x4x4
lattice in line mode to
facilitate point selection
[JPEG Image]
Figure 13
Deathstar partially deformed
using FFD
[JPEG Image]
Figure 14
The DeathEgg!
[JPEG Image]
Figure 15
Triceratop Model
[JPEG Image]
Figure 16
Triceratop model showing lattice
after a number of DM steps
[JPEG Image]
Figure 17
Triceratop after deformation by DM
[JPEG Image]
Figure 18
Tie Interceptor Model
[JPEG Image]
Figure 19
FFD Deformation with 4x4x3 lattice
[JPEG Image]
Figure 20
Resulting model...
Beware those hi-G turns!


References




Daniel Koch
Last modified: Fri May 4 06:31:26 EDT 2001
"All your splines are belong to us!"