Sederberg and Parry [1] offer a technique for free-form deformation of arbitrary solid geometric models using a system of control points to define a tensor product trivariate Bernstein polynomial. In this project, we implement free-form deformation of triangular meshes using the Sederberg and Parry framework, and extend the utility of such deformations by adding Catmull-Clark-based keyframe animation capability.
Converting Xianfeng Gu's Mesh Library to C++ and adapting it to the Win32 platform, we used Microsoft Visual C++ 6.0 to add the deformation and animation functionality. Implementation of animation was based on the implementation of keyframe animation of robots for Assignment 7 in CS175, with significant modification to enable interpolation between deformed mesh keyframes.
ffd ("noff" or "off" mesh file) (scale factor)
or
ffd (keyframe file)
The following keyboard commands may be used:
Dragging the mouse while depressing the left mouse button rotates the selected object (no effect if selected object is control point). Dragging the mouse while depressing the right mouse button or both mouse buttons translates the selected object or control point in the appropriate axis.
A cascading menu of functions is accesible by clicking the middle mouse button anywhere within the manipulating window, and is the location for file functionality, display functionality (hiding or showing edges, faces, vertices, floor, and the bounding box), additional manipulation and keyframe functionality, and the ability to add or delete control points from the bounding box. Note that one cannot add or delete control point planes if there is more than one keyframe in the list.
The following must be placed in the system32 directory to provide the GL/Glut capability needed by the program.
Quando Shlomo cadet, cadet et mundus.
[1] Sederberg, T. W., and Parry, S. R. "Free-Form Deformation of Solid Geometric Models." Proceedings of SIGGRAPH ‘86, Computer Graphics 20, 4 (August, 1986), 151-159.
Copyright © 2001 / Last Updated 11 June 2001 / All Rights Reserved