Free Form Deformation


Designing virtual worlds requires tools, supporting artists and engineers to create 3D models for artificial environments. These models may have a large number of polygons which the designer would rather deform in a generic manner instead of deforming each vertex or polygon separately. The free-form deformation (FFD), introduced by Thomas W. Sederberg and Scott R. Parry, is a capable tool for deforming objects in a simple and quick way with promising results.

The main idea of their algorithm is to create a lattice around the model to deform. This lattice is kept very simple: Basically it is a grid describing the form of a box or a cylinder. The user will then deform the lattice instead of the model, while the vertices of the model change their position on the basis of the lattice cell they reside in.

The FFD package was created during a practical by Marlene Hochrieser. The FFD can be applied on a scene graph node of an OpenSG scene. It is as well possible to use the module with inVRs in order to collaboratively deform 3D models in Networked Virtual Environments.


  • Creation of a lattice for any part of the scenegraph by using its AABB
  • Creation of a lattice by providing a customized axis aligned box for deforming only a part of a model
  • Lattice subdivision modification
  • Execution of the bend, twist, taper deformation functions on the lattice
  • Deformation of the lattice by applying any customized 4x4 matrix
  • Changing the position of single or multiple lattice cell points
  • Reverting function

Files - FFD source files for inVRs version 1.0a5 or higher (1.73 MB) Christoph Anthes, 11/04/2010 10:18 AM

inVRs_external_free_form_deformation_manual.pdf.pdf - FFD Manual (605 KB) Christoph Anthes, 11/04/2010 11:58 AM