Piecewise Smooth Surfaces:Piecewise smooth surfaces have innumerable applications in art, entertainment, industrial design, industrial inspection, scientific visualization, medical diagnosis, surgical planning, education, and computer simulation of physical and biological phenomena, special effects and computer animation, etc. Manipulating piecewise smooth surface models efficiently and intuitively, maintaining desired degrees of continuity across patches, including creases (G 0 continuity), continuity of surface normals (G 1 ), and of curvatures (G 2 ), has been a challenging problem in special effects and animation, where subdivision surfaces have become the surface representation of choice. A very attractive modeling paradigm is the ability to prescribe surface points and normal vectors specified at given vertices of a control polygon mesh. Still, performing normal control for subdivision surfaces remains challenging. Several deformations methods using normal control have been proposed, however most rely on approximation schemes [Nasri 1991; Biermann et al. 2000; Salomon et al. 2002]. In addition, in current subdivision schemes supporting higher orders of continuity across patch boundaries the geometry of each surface patch depends not only on the data associated with boundary vertices of the corresponding face in the control mesh, but also on all the data specified at vertices of neighboring faces. Closely related problems are how to impose boundary constraints, the creation and control of creases, and the construction of smooth surfaces interpolating networks of smooth curves [Biermann et al. 2000; Levin 1999].
Contribution:We present a new method to construct a piecewise smooth surface interpolating coordinates of control points and associated surface normal vectors specified at the vertices of a triangle mesh. The interpolating surface is composed of curved edges and curved triangle patches in one-to-one correspondence with mesh edges and mesh triangles, and satisfying the same incidence relations. The shape of each triangle patch is determined only by the coordinates and normal vectors specified at the three incident mesh vertices. Triangle patches meet with G 1 continuity along shared curved edges, and are constructed independently of each other in a hierarchical fashion. This is ideal for parallel evaluation, hardware implementation, and consistent with T-strip Algorithm: Figure (A) shows a flat shaded control T-mesh. Positions pi and normal vectors ni are specified at the vertices. Figure (B) shows the specified normal vectors and the resulting Gouraud shaded control mesh. A curved triangle patch is constructed for each triangle in three steps. First, for each edge (i, j) a Bezier cubic curve pij(t) interpolating the two positions (pij(0) = pi, pij(1) = pj) and orthogonal to the two normal vectors (n t iṗij (0) = 0 = n t jṗij (1)) is computed. We show that the solution is unique if normal accelerations at the ends are aligned with the specified normal vectors (ni ×pij(0) = 0 = nj ×pij(1)). Second, a ...