Designing Freeform Models with 3D Curves

Students: LIU He, YIN Hengli
Advisor: Dr. Chiew-Lan TAI
Computer Science and Engineering Department
Hong Kong University of Science & Technology
[ Introduction ] - [ Modeling Operations ] - [ Differences between Our System and FiberMesh ] - [ Download ] - [ References ]

The goal of this project is to implement a sketch-based modeling system like the FiberMesh system [1]. The system provides a user-friendly interface that allows the user to design a freeform 3D model by interactively adding and modifying the control curves defining the surfaces.

Our system achieves most of the operations of FiberMesh, including initial surface creation, adding/erasing/dragging control curves, cut, extrusion and curve type changing. Instead of directly implementing the algorithms of FiberMesh, we have designed some new algorithms. First, we designed a new method for creating an inflated surface interpolating a sketched closed curve; second, we developed a method to optimize the shape of the surfaces whenever the user adds or changes control curves.

Our system was implemented in C++, using OpenGL as the graphics API and Microsoft Foundation Classes (MFC) for the user interface.

User Interface of Our System

Figure 1: User Interface of Our System. The user interactively defines the control curves, and the system continuously presents fair interpolative surfaces defined by these curves. The blue curves are smooth curves, and the red ones are sharp curves.