This paper describes a framework for introducing visually smooth surfaces into sketch-based freeform modeling systems. An existing sketch-based freeform modeling system generates rough polygonal meshes with uneven triangulations after each operation. Our approach generates a dense, visually smooth polygonal mesh by beautifying and refining the original rough mesh. A beautification process generates near-equilateral triangles with a near-uniform distribution of vertices to mask the noise and bad sampling of the uneven mesh. The vertices are distributed on a smoothed surface that approximately interpolates the original mesh. Refinement generates a smooth, dense mesh by subdividing the beautified mesh and moving the vertices to the interpolative surface. The smooth interpolative surface is computed via implicit quadratic surfaces that best fit the mesh locally in a least-squares sense. Keywords: Polygonal Meshes, Subdivision, Beautification, Skin, Implicit Surfaces, Sketch-based Modeling. Teddy [5] introduced a nice sketch-based modeling interface, but the resulting models were rough polygonal meshes. Their triangulations were uneven and the models had many undesirable small bumps and dents; such artifacts were introduced by almost all operations in the system. One could subdivide the mesh [9, 20] , but the resulting shape was not visually smooth because of the uneven triangulations. Our goal here is to introduce visually smooth surfaces like those seen in parametric and implicit models [17] to sketch-based modeling systems for free-form objects. Our approach is to beautify and refine the irregular polygonal meshes resulting from the original Teddy algorithms (Figure 1) . A beautification process, based on the Skin algorithm [11], generates near-equilateral triangles with a near-uniform distribution of vertices on the surface to hide irregularities in the original polygonal model; then refinement generates a dense polygonal mesh that smoothly interpolates the beautified mesh. Beautification and refinement are guided by an implicit smooth surface that approximately interpolates the polygonal mesh. We compute implicit quadratic surfaces that best fit the mesh locally in a least-squares sense, and move the vertices to the surface during beautification and refinement. The implicit surfaces only approximately interpolate the mesh, and C 1 continuity among adjacent surface pieces is not guaranteed. This is not acceptable if one wants to use the implicit surface as final output, but works well for guiding the beautification and refinement of polygonal meshes. In addition, our framework is intended to apply to simple rotund objects without small details, such as those in Teddy. One can smooth meshes with geometric fairing [1, 6, 14] , but these methods are designed to remove high-frequency noise from dense polygonal meshes with fairly uniform vertex distributions, such as those arising from 3D scans; they do not work well for the uneven, coarse meshes seen in Teddy. They also tend to make the surface drift away from the original mesh. We avoid this problem by fitting smooth surfaces to the mesh in a least-squares sense. Our framework gives a basis for exploring various modeling operations with smooth surfaces. Given the built-in beautification mechanism, one can focus on the design of algorithms that construct arbitrary polygonal meshes without worrying about mesh quality or noise. Our basic representation for 3D geometry is a polygonal mesh. In response to editing operations, our system first generates an irregular polygonal mesh based on the algorithms introduced in Teddy [5] . Then we beautify the mesh internally and show the smoothly shaded refined mesh to the user. The algorithms have parameters that depend on the size of the models. The models are scaled to have their largest extent be 1.0. The system maintains three polygonal mesh representations for each 3D model (Figure 2 ). The first is the skin mesh, which is the primary mesh for representing the target 3D shape. It adjusts itself over time through beautification. The second is the skeleton mesh, which is the irregular polygonal mesh created directly from the input strokes and serves as the reference for guiding the skin mesh during beautification. The third is the visible mesh, which is a dense, smooth polygonal mesh displayed on the screen as feedback to the user. The visible mesh is created from the skin mesh by refinement and is rendered using smooth shading. It is important to separate the visible mesh and skin mesh for efficient computation of the geometry. We describe beautification and refinement in detail in the following sections. When the user performs an editing operation, a copy of the skin mesh is modified to reflect the new geometry (Figure 3 ). This new geometry (whose triangulation is uneven and contains bumps and dents) is used as a new skeleton mesh; a new skin (which starts from this new skeleton mesh and gradually beautifies itself) is created from it. The user always sees the smooth visible mesh
Mesh refinement plus geometric fairing algorithm is proposed in REF .
Smooth meshes for sketch-based freeform modeling
SIGGRAPH '06
Computer Science