Chandrajit L. Bajaj Jindon Chen Guoliang Xu. Purdue University. West Lafayette, Indiana. January 22, 1996.

Size: px
Start display at page:

Download "Chandrajit L. Bajaj Jindon Chen Guoliang Xu. Purdue University. West Lafayette, Indiana. January 22, 1996."

Transcription

1 Modeling with C Quintic A-patches Chandrajit L. Bajaj Jindon Chen Guoliang Xu Department of Computer Sciences Purdue University West Lafayette, Indiana fbajaj,jdc,xuguog@cs.purdue.edu January, 996 Abstract We present an ecient algorithm to construct C smooth meshes of quintic A-patches that interpolate or approximate the vertices of a given triangulated polyhedron P. An A-patch is a smooth and functional zero-contour patch of a trivariate polynomial in Bernstein-Bezier (BB) form dened within a tetrahedron. A simplicial hull is constructed based on P. A quintic A-patch is then constructed within each tetrahedron of so that the piecewise C algebraic surface interpolates or approximates the vertices of P with given C data. We guarantee that the algebraic surface is smooth and functional, namely, fully connected and free of singularity, unwanted branches. Introduction In this paper, we present an ecient algorithm to construct a C smooth mesh with quintic A- patches to interpolate or approximate the vertices of a given polyhedron P with given C data. The A-patch is a smooth and functional zero-contour patch of a trivariate polynomial in Bernstein- Bezier (BB) form dened within a tetrahedron[bcx95a], where \A" stands for algebraic. Solutions have been given to the problem of constructing a C mesh of algebraic patches which interpolate the vertices of a simplicial polyhedron P, by [Dah89] using quadric patches, [Guo9b, DTS93, Guo93, BCX95a] using cubic patches and [BI9b] using quintic for convex P(all faces are triangular) and degree seven patches for arbitrary P. While papers [Dah89, Guo9b, BI9b, DTS93, Guo93] provide heuristics based on monotonicity and least square approximation to circumvent the multiple sheeted and singularity problems of implicit patches, [BCX95a] introduces new suciency conditions for the BB form of trivariate polynomials within a tetrahedron, such that the zero contour of the polynomial is guaranteed functional and non-singular surface within the tetrahedron (the A-patch). The conditions are no more complicated than linear inequalities. [BX9] can be regarded as the two This work was supported in part by NSF grants CCR 9-67, DMS 9-0, AFOSR grants F , F , NASA grant NAG--73 and a gift from AT&T.

2 dimensional version of [BCX95a], where C k continuous piecewise real algebraic curves(a-splines) are used to achieve local interpolation and approximation. In [BCX9, BCX95b], new schemes are given to construct an \inner" hull of a polyhedron P, such that the A-patch surface approximates P instead of interpolating its vertices. In this paper, we present ascheme for building a C patch complex with quintic surface patches. Like the C scheme [BCX95a], a pair of tetrahedra are built on each side of each face of a triangulated polyhedron P. We call them the face tetrahedra. A pair of tetrahedra are built to ll in the gap between each pair of face tetrahedra that share an edge and on the same side of P. A quintic BB polynomial is dened within each tetrahedron so that they are C continuous across their share boundaries. The zero contour of the piecewise C polynomial C interpolates the vertices of P. We guarantee that the zero contour surface is non-singular and topologically equivalent to P. If we use the schemes described in [BCX9, BCX95b] to construct the simplicial hull, then the nal C spline surface approximates P instead of interpolates it. Related papers which approximate scattered data using algebraic patches are [Baj9, BBX9, BI9a, BIW93, MW9, Pra87, Sed90] and a classication of data tting using parametric surface patches is given in [Pet90]. The rest of this paper is as follows. Section gives some preliminary facts about Bernstein- Bezier (BB) representations, A-patches, the geometry of simple polyhedra and a denition of a simplicial hull. Section 3 presents details of the C continuity schemes for quintic A-patches. Section discuss a set of sucient conditions which guarantee that the zero contour surface is functional. Section 5 provides some implementation details. And nally, Section 6 concludes the paper. Notation and Preliminary Details. Bernstein-Bezier Representation and A-Patches Let fp ;:::p j gir 3. Then the convex hull of these points is dened by [p p :::p j ]=fp IR 3 : p = P j i= ip i ; i 0; P j i= i =g. Let p ; p ; p 3 ; p IR 3 be ane independent. Then the tetrahedron(or three dimensional simplex) with vertices p ;p ;p 3, and p,isv =[p p p 3 p ]. For any p = X i= i p i V, =( ; ; 3 ; ) T is the barycentric coordinate of p. Let p =(x; y; z) T, p i =(x i ;y i ;z i ) T. Then the barycentric coordinates relate to the Cartesian coordinates via the following relation x x y 6 x x 3 x 7 z 5 = y 6 y y 3 y 7 z z z 3 z (:) 3 5 Any polynomial f(p) of degree m can be expressed in Bernstein-Bezier(BB) form over V as f(p) = P jj=m b B m(); Z + where B m() = m!!!3!! 3 3 are the trivariate Bernstein polynomials for jj = P i= i with =( ; ; 3 ; ) T. Also =( ; ; 3 ; ) T is the barycentric coordinate of p, b = b 3 (as a subscript, we simply write as 3 ) are called control points, and Z+ stands for the set of all four dimensional vectors with nonnegative

3 0300 B A nonnegative control point free control point zero control point nonpositive control point 00 D p nonnegative control point free control point 00 zero control point 00 p p C nonpositive control point 0300 p (a) (b) Figure.: (a) A three sided cubic patch tangent atp ;p ;p 3 (b) A degenerate four sided cubic patch interpolates p and p 3 α α β integer components. Let Figure.: Three-sided and four-sided patches F () = X jj=m b B m (); jj =; (:) P be a given polynomial of degree m on the tetrahedron S = f( ; ; 3 ; ) T IR : i= i = ; i 0g. The surface patch within the tetrahedron is dened by S f S : F ( ; ; 3 ; )=0. Denition. Three-sided patch. Let the surface patch S F be smooth on the boundary of the tetrahedron S. If any open line segment (e j ; ) with S j = f( ; ; 3 ; ) T : P j =0; i > 0; i6=j i =g intersects S F at most once(counting multiplicities), then we call S F a three-sided j-patch (see Figure.). Denition. Four-sided patch. Let the surface patch S F be smooth on the boundary of the tetrahedron S. Let (i; j; k; `) be a permutation of (,, 3, ). If any open line segment ( ; ) with (e i e j ) and (e k e`) intersects S F at most once(counting multiplicities), then we call S F a four-sided ij-k`-patch (see Figure.). It is easy to see that if S F is a four-sided ij-k`-patch, it is then also a ji-`k-patch, a `k-ji-patch, and so on. The Appendix contains proofs of the lemmas and theorems below. 3

4 Lemma. The three-sided j-patch and the four-sided ij-k`-patch are smooth (non-singular). Proof. See [BCX95a]. 3 Theorem. Let F () = P jj=n b B n () satisfy the smooth vertex and smooth edge conditions and j( j ) be a given integer. If there exists an integer k(0 k<n) such that b 3 0; j =0; ;:::;k, ; (:3) b 3 0; j = k +;:::;n (:) P and jj=n b > 0 P if k>0, jj=n b < 0 for at least one m(k <m n), then S F j =0 j =m j-patch. is a three-sided Theorem. Let F () = P jj=n b B n () satisfy the smooth vertex and smooth edge conditions and (i; j; k; `) beapermutation of (,, 3, ). If there exists an integer k(0 k<n) such that b 3 0; i + j =0; ;:::;k, ; (:5) b 3 0; i + j = k +;:::;n (:6) P and jj=n b > 0 P if k >0, jj=n b < 0 for at least one m(k <m n), then S F i + j =0 i + j =m four-sided ij-k`-patch. Proof. See [BCX95a]. 3 is Lemma. Let f(p) = P jj=n b B n () be dened on the tetrahedron [p p p 3 p ], then b (n,)ei +e j = b nei + n (p j, p i ) T rf(p i ); j =; ; 3; ; j 6= i (:7) b (n,)ei +e j +e k =,b nei + b (n,)ei +e j + b (n,)ei +e k + n(n,) (p j, p i ) T r f(p i )(p k, p i ); j 6= i; k 6= i (:8) (.7) can be found in [Guo9a](p.3). (.8) is derived from directional derivative formulas (see [Far90] p.30). Lemma.3 ([Far90] p.38) Let f(p) = P jj=n a B n() and g(p) =P jj=n b B n () be two polynomials dened on two tetrahedra [p p p 3 p ] and [p 0 p p 3 p ],respectively. Then (i) f and g are C 0 continuous at the common face [p p 3 p ] if and only if a = b ; for any =0 3 ; jj = n (:9) (ii) f and g are C continuous at the common face [p p 3 p ] if and only if (.9) holds and b 3 = a 3 + a a a (:0)

5 (iii) f and g are C continuous at the common face [p p 3 p ] if and only if (.9)-(.0) holds and b 3 = a 3 + a a a a a a a a a (:) where =( ; ; 3 ; ) T are dened by the following relation p 0 = p + p + 3 p 3 + p ; jj = In Lemma.3, if = 3 = 0, that is p 0 ;p and p are collinear, then (.0) and (.) become a = a 3 + b 3 (:) a 3, a = b 3, b (:3) respectively, where =, ; =, that is p = p + p 0.. Simplicial Hull Denition.3 Edge convexity Let [p i p j ] be anedge of a polyhedron P with endpoint vertex normals n i and n j.if(p j,p i ) T n i (p i, p j ) T n j 0, then the edge is convex. Otherwise, it is nonconvex. If the edge satises the convex condition. and at least one of (p j, p i ) T n i and (p i, p j ) T n j is positive, then we say the edge [p i p j ] is positively convex. Ifboth of them are zero then we say it is zero convex. Ifatleast one of them is negative, the edge is negatively convex. Denition. Face convexity Let [p i p j p k ] be a triangular face ofapolyhedron P. If its three edges are non-negatively (positively or zero) convex and at least one of them is positive convex, then we say the face [p i p j p k ] is positively convex. If all the three edges are zero convex then the face is zero convex. If its three edges are non-positively (negatively or zero) convex and at least one of them is negatively convex, the face is negatively convex. Otherwise, [p i p j p k ] is non-convex. Note, that here we are overloading the term convex to characterize the relations between the vertex normals and edges of faces. We distinguish between convex and non-convex faces in the simplicial hull below where we build one tetrahedra for convex faces and double tetrahedra for non-convex faces. Denition.5 Face tetrahedra A face-tetrahedron [p i p j p k q l ] is a tetrahedron that is built based on a triangular face [p i p j p k ] P. A face-tetrahedron [p i p j p k q l ] is fpositively j zero j negative j non-)g convex if the face [p i p j p k ] is fpositively j zero j negative j non-)g convex. Denition.6 Tangent containment Aconvex face-tetrahedron [p p p 3 p ] is tangent-containing if the tangent planes at the three interpolatory vertices p, p and p 3 intersect with [p p p 3 p ];Apair of non-convex face-tetrahedra [p p p 3 p q ] is tangent-containing if the tangent planes at the three interpolatory vertices p, p and p 3 intersect with either [p p p 3 p ] or [p p p 3 q ]; 5

6 Denition.7 Simplicial hull A simplicial hull of triangulation T, denoted as=(s f ; S e ; R tf ; R fe ) is dened as () S f = f[p i p j p k q l ]g is a collection of face tetrahedra. () S e = f[p i p j q k s l ]g is a collection of edge tetrahedra. (3) R tf = T S f is a relation between T and S f, which can be described as (i) (single sided) there isonetangent-plane-containing face-tetrahedron [p i p j p k q l ] S f is built on a convex face [p i p j p k ] T and (ii) (double sided) there areatangent-plane-containing pair of nonconvex face-tetrahedra [p i p j p k q l ]; [p i p j p k q l ] S f are built on a nonconvex face [p p p 3 ] T, one on each side; () R fe = S f S f S e S e is a relation between a pair of neighboring face-tetrahedra and a pair of edge tetrahedra, which can be described as (i) (non-intersection) two face-tetrahedra [p i p j p k q l ]; [p i p j p m q n ] S f that share acommon edge [p i p j ] T does not intersect each other and (ii) a pair of edge-tetrahedra [p i p j q l s r ]; [p i p j q n s r ] S e where s r = q l +(, )q n ); 0 <<, are built between the pair of edge-sharing face-tetrahedra that are on the same side of triangulation T. 3 C Mesh of Quintic Patches The input of our algorithm is a triangulated polyhedron P, with optional C data at eachvertex. C data means that each vertex p is given a gradient vector f(p) and a Hessian matrix f(p). The gradient vector and/or Hessian matrix can be specied by a plane or a conic surface F p (x; y; z)=0 goes through p, For each vertex that has incomplete C data, a preprocessing step computes reasonable ones by tting a conic surface to the vertex and its neighboring vertices. We then construct a simplicial hull P as in [BCX95a], except that we impose a stronger tangent containment condition: For a tetrahedral simplex [p p p 3 p ] built on polyhedral face [p p p 3 ], jn p [p p ]j >; (3:) where N p is the normal at p and is a given small positive constant. We will show later that we need this stronger condition to guarantee that piecewise surface is connected within. This stronger condition can usually be enforced by raising p. Once we have established a simplicial hull P for the given polyhedron P and a set of point normals N, we construct a C trivariate piecewise polynomial function F within P such that F has the given C data at each vertex. We then further set the free polynomial coecients so that they are C continuous to each other. We adapted the C and functional cubic scheme from [BCX95a] to quintic piecewise polynomial. Please refer to it for a full description of the C scheme. Figure 3.3 illustrates between the weights of neighboring tetrahedral simplex in. V = [p p p 3 p ]; V = [p 0 p p 3 p 0 ]; W = [p 00 p p 3 p ]; W = [p 00 p p 3 p 0 ]; V 0 = [p p p 3 q ]; V 0 = [p 0 p p 3 q 0 ]; W 0 = [q 00p p 3 p ]; W 0 = [q 00p p 3 p 0 ]; and the polynomials f i over V i, g i over W i, fi 0 over V i 0 and g0 i over W i 0 be expressed in Bernstein- Bezier forms with coecients a i ;bi and ci, respectively. Nowwe shall determine these coecients 6

7 0005 p 6 b () () p" b p free weight dependent weight () a a () p p p p c () c () q q q" d () d () Figure 3.3: Adjacent Tetrahedra, Quintic Functions and Control Points for two Non-Convex Adjacent Faces 7

8 step by step. Denote p 00 p 00 p 00 q 00 = p + p + 3p 3 + p ; = = p0 + p + 3 p 3 + p0 ; = = p + p 0 ; + = = q + q 0 ; + = (3:5) Algorithm 3. C quintic scheme(see Figure 3.3). The number 0 weights are given by the function values at the vertices. For examples, a () 5e i = f(p i );i=; ; 3.. The number weights are determined by formula (.7). 3. The number weights are determined by formula (.8).. The number 3 weights, that is a (i) 0 ;a(i) 0 and a(i) 0, are free. 5. The number weights are determined by C condition (.0). 6. The number 5 and 6 weights have to be determined simultaneously. In determining these weights, we need to consider all the C and C conditions related to the tetrahedra surrounding the vertex p. Suppose there are k triangles(hence k edges) around p. Along edge [p p 3 ], there are a \clique" of 8 sets of weights with respect of the 8 tetrahedra around [p p 3 ]. W (i), 0 W (i), 30 W (i), 00 W (i), 0 W (i), 030 W (i), 030 W (i), 03 W (i), W (i), 0 W (i), 0 i = ;, W = a; b; c; d. Actually each of the 8 sets is just a dierent BB-form with respect to a dierent basis. Further studying their relations, we gure that there is a linear relation between a () and a(), regardless of the number6weights or weights c(i). However, a number 5 weight, for example a, is shared by two \cliques" around [p p 3 ] and [p p ]. Therefore, around vertex p, there is a k k linear system. One can show that this system is of rank k, and hence always solvable. a (i) are set by solving the system. The other number 5weights and number 6 weights are set by C condition. Please note that the symmetric linear system with respect to c (i) on the other side is trivially satised by the solution of. See Appendix A for further details. a (i) 7. The number 7 weights are similarly determined as that of number 6 weights. 8. The number 8 weight a (i) are free. 9. The number9weights are determined by C and C conditions. Both the number of equations and the number of unknowns are 6k. See Appendix B for details. 0. For the number 0 weights, we have six equations parallel to the equations (B.53){(B.56) with all the index changed by the rule the index of the number0weright = the index of the number 9, e + e 3 (3:6) and seven independent weights. By choosing one of them, say b (i) 30, to be a free parameter, the entire system can be solved. 8

9 . The number weights are determined in the same way as the that of number 9 weights.. The number and 3 weights are free. The numberweights are determined by C and C conditions. That is b (i) 03 are dened by (.0), and b(i) 0 are dened by (.). For b(i), 30 we haveby (.) and (.3) b () + 30 b () = 30 b() 00 Hence, b () 30 + b () 30 = b () 0, b () 0 b () 30 = b() 00, b() 0 + b() 0 b () 30 = b() 00 + b() 0, b() 0 3. The number 5 weights are similar to that of number, the index is changed by the rule (3.6).. The number 6 weights are free, the number 7's are determined by C and C conditions. 5. The remaining weights with index 3 are determined by C and C conditions (.0) and (.) for and freely chosen for > In summary, the construction steps { are according to the C and C conditions across the common tetrahedra faces that are over or below the original triangulation. Step 5 is according to the C and C conditions across the common tetrahedra faces that are on the original triangulation. Therefore, the composite polynomial function is global C continuous. In the algorithm, there are quite some free weights need to be set. whatever values they are assigned to have impacts on the shape of the surface. Instead of an optimization analysis, we proposed two kinds of cheap heuristics. The rst method is the following. We rst construct a C A-patch surface with cubic patches. After we make sure that the surface looks good, we degreeraised the whole simplicial hull to quintic patches. Now whatever weights a quintic patch has will be used as default values if needed. The second method is to always set the free weight so that the polynomial approximate a polynomial of lower degree. We observe that the rst method works better. Functional Zero Contouring Quintics This section gives a set of sucient conditions to ensure that each quintic is an A-patch. Namely, besides C continuous between adjacent tetrahedra, the zero contouring surface is singly-connected, non-singular and topologically equivalent to T. In the C cubic scheme, one is able to arrange the weights of the BB polynomial so that there is a layer of weights that separates the nonpositive weights and nonnegative. Such an arrangement turns out to be a simple sucient condition for an A-patch. However, in the C quintic scheme, after meeting the C conditions, the signs of the weights could alternate through the the layers. In particular, the weights at the st, nd and 3rd layers can be of any sign. We show in the following 9

10 Free weights () Weights of subpolynomial f3 Fixed weights () Weights of subpolynomial f3 -t t -t t Figure.: Making sure a cubic polynomial is positive by looking into its two subpolynomials text that, one can arrange the th, 5th layers to be nonnegative and large enough in absolute value, so that the zero contouring surface is an A-patch. We rst discuss some sucient conditions to guarantee that a BB polynomial is positive in its domain. Then we discuss some sucient conditions to make sure a univariate BB polynomial has exactly one root between (0; ). Then we show that the sucient functional zero contouring conditions for a quintic is an integration of the single-rooted and non-rooted conditions at every rays, for a three-sided patch, shooting from the top vertex p of the tetrahedron to the bottom face, or for a four sided patch, from edge [p ;p 00] of the tetrahedron to edge [p ;p 3 ].(for a four See Figure Enforcing positivity of a BB polynomial.. Univariate A necessary condition for a univariate polynomial F () to be positive in[0; ] is that F (0) = b m0 > 0 and F () = b 0m > 0. Actually, ifwe are given F (0; ) = b m0 >", for some small constant ">0, and some other weights excluding F (; 0) = b 0m,we can always set b 0m and other free weights to be large enough so that F () > 0; [0:]. In stead of giving a full proof, we check out several cases that are going to be used in weight setting processes. For a cubic BB polynomial F 3() =b 30 B 3 30()+b B 3 ()+b B 3 ()+b 03 B 3 03() (:7) 0

11 Free weights Fixed weights () Weights of subpolynomial f () Weights of subpolynomial f t -t t -t Figure.5: Making sure a quartic polynomial is positive by looking at its two subpolynomials where b 30 > 0, b are given, set b and b 03 so that F 3() > 0in[0; ]. From the subdivision properties of BB polynomial, if F 3() > 0, then there must exist a subdivision of the BB polynomial where the weights of each piece are all positive. Based on this observation, we subdivide the univariate cubic polynomial F 3() into two pieces, F 3 () = b () 30 B3 30 ()+b() B3 ()+b() B3 ()+b() 03 B3 03 () (.8) F 3 () = b () 30 B3 30()+b () B3 ()+b () B3 ()+b () 03 B3 03() (.9) upon =(, t; t) (See gure.). We now just need to choose t carefully so that b () =(, t)b 30 + tb > 0 (:0) The other weights are positive function of b and b 03 and hence can be set to be positive by setting b and b 03 large enough. Quantitative details are given in appendix C. For a quartic BB polynomial, F () = b 0 B 0()+b 3 B 3()+b B ()+b 3 B 3()+b 0 B 0() (.) where b 0 >", b 3 and b are given, set b 3 and b 0 so that F () > 0in[0; ]. We subdivide the univariate quartic polynomial F () into two pieces, F () () = b () 0 B 0 + b () 3 B 3 + b () B + b () 3 B 3 + b () 0 B 0 (.) F () () = b () 0 B 0 + b () 3 B 3 + b () B + b () 3 B 3 + b () 0 B 0 (.3)

12 Free weights Fixed weights () Weights of subpolynomial f Weights of subpolynomial f () t -t t -t Figure.6: Making sure a quintic polynomial is positive by looking at its two subpolynomials upon =(, t; t) (see gure.5). By choosing t carefully, one makes sure that b () 3 = (, t)b 0 + tb 3 > 0 (.) b () = (, t) b 0 + (, t)tb 3 + t b > 0: (.5) The rest of the control points is a positive function of b 3, b 0 and hence can be set to be positive. Quantitative details are given in appendix C For a quintic BB polynomial, F 5() = b 50 B 5 50 ()+b B 5 ()+b 3B 5 3 ()+b 3B 5 3 ()+b B 5 ()+b 05B 05 () (.6) where b 50 >", b, b 3 and b 3 are given, set b and b 05 so that F 5() > 0in[0; ]. We subdivide the univariate quintic polynomial F 5() into two pieces, F 5 () () = b () 50 B b () B5 + b () 3 B5 3 + b () 3 B5 3b () B5 + b () 05 B5 05 (.7) F 5 () () = b () 50 B b () B5 + b () 3 B5 3 + b () 3 B5 3b () B5 + b () 05 B5 05 (.8)

13 upon =(, t; t (see gure.6). By choosing t carefully, one makes sure that b () = (, t)b 50 + tb > 0 (.9) b () 3 = (, t) b 50 + (, t)tb + t b 3 > 0 (.30) b () 3 = (, t) 3 b (, t) tb + 3(, t)t b 3 + t 3 b 3 > 0 (.3) The rest of the control points is a positive function of b, b 05 and hence can be set to be positive. Quantitative details are given in appendix C.. Bivariate Given a bivariate degree m BB polynomial F () in[p p p 3 ], if F () ^ 3 = 0 is xed and larger than a small constant ", we can set b 00m and any other free weights so that F () > 0 in the domain. A sucient algorithm to achieve this is given as follows. We rst construct a \worst case" univariate degree m polynomial Fm, () =b, m0 Bm m0 ()+::: + b, (m,j)j Bm (m,j)j ()+b, 0m Bm 0m (): (:3) where, for the jth layer F () ^ 3 = j, 0<j<m, if a minimum value can be determined from the xed weights assign it to b,. Otherwise mark (m,j)j b, as a free weights and layer j as free (m,j)j layer. We then set the free weights to make sure the univariate polynomial Fm, > 0. Then we make sure that the subpolynomial in each free layer is larger than the corresponding free weight in Fm,. By doing that, we make sure that the univariate subpolynomial in any line [pp 3 ], p [p ;p ], is positive. If we have more time or our computer is more powerful, we may obtain more relax result by rst subdividing [p p ]into n pieces, [p (i) ;p(i) ], p() = p, p (n) = p. Then applying the above algorithm to each triangular simplex [p (i) ;p(i) p 3], and then in each layer, setting the free weights so that it is no less than what is required for each subdivided subpolynomial. Similarly, ifb 00m is xed and larger than a small constant ",we can set the weights of F ()^ 3 = 0 and any other free weights so that F () > 0 in the domain...3 Trivariate There are two kinds of congurations with trivariate BB polynomials. The rst case is analog to the bivariate case. For a trivariate degree m BB polynomial F () in[p p p 3 p ], if F () ^ =0 is xed and larger than a small constant ", we can always set b 000m and any other free weights so that F () > 0 for any over the domain simplex. If b 000m >">0 is given, we can always set the weights of subpolynomial in [p p p 3 ], namely F () ^ ( = 0) and any other free weights to be large enough so that F () > 0. The second case, if F () ^ = = 0 is xed and larger than a small constant ", we can always set the weights of F () ^ = 3 = 0 and any other free weight to be large enough so that F () > 0. In particular, the worst case polynomial Fm, () =b, m0 Bm m0()+::: + b, (m,j)j Bm (m,j)j ()++:::::: + b, 0m () (:33) where b, (m,j)j is the minimum of F ()^ + = j, if the minimum can be determined. Otherwise b, (m,j)j is marked free. 3

14 Summing up, in a simplex tetrahedron, if the subpolynomial in a face is given positive, we can adjust the subpolynomial at its opposite vertex so that the entire polynomial over the simplex is positive and vice versa. If the subpolynomial in an edge is given positive, we can adjust that subpolynomial at its opposite edge so that the entire polynomial over the simplex is positive. The rst case is for the three sided patch while the second case is for the four sided case. Similarly, relax result can be obtained by subdividing [p p p 3 p ]. For the rst case (three sided patch), [p p p 3 p ] is subdivided into [p (i) p(i) p(i) 3 p ]'s, where [p (i) p(i) p(i) ] is a sub-triangle of 3 [p p p 3 ]. For the second case (four sided patch), [p p p 3 p ] is subdivided into [p s i ps i+ ps i p s i+ 's, where [ps i ps i+ is a subsegment of[p p ], and [p s i p s is a subsegment i+ of[p p 3 ].. Sucient conditions for single-rooted univariate quintic BB polynomials We now tackle the following problem. Give a univariate quintic BB polynomial F 5() =b 50 B 5 50 ()+b B 5 ()+b 3B 5 3 ()+b 3B 5 3 ()+b B 5 ()+b 05B 5 05 () (:3) where b 50, b, b 3, and b 3 are given, set b and b 05 so that the polynomial has exactly one root within the interval of (0; ) if () b 50 < 0, or () b 50 = 0 and b >, where >0 is a constant. We rst assume that b 50 < 0. Such a quintic BB polynomial can be classied into the 8 cases in terms of the signs of b, b 3 and b 3, shown in gure.7. If we denote each case by a triple consists of the signs of b, b 3 and b 3 respectively, then in cases (,;,;,), (,;,; +), (,; +; +) and (+; +; +), there is only one sign change in the weights, which is a sucient condition to guarantee that there is exactly one root in [0; ]. We call these four cases category (0). The other four cases are divided into the following two categories in terms of the dierence between b 50 and b : () b 50, b <,", where " is a small positive number, which can be set as b 50 =00; and () otherwise. Case (+; +;,), (+;,; +) and (+;,;,) fall into case (), while case (,; +;,) is further divided into () and () (See gure.8). For a polynomial of category (), we set b and b 05 to make sure that the rst derivative of F 5(), F 5 () = 5((b, b 50 )B 0()+(b 3, b )B 3()+(b 3, b 3 )B ()+ (b, b 3 )B 3()+(b 05, b )B 0()) (.35) is positive in[0; ]. It follow that F 5() is monotonic and hence single-rooted. The problem is hence reduced to the quartic case we have discussed in last subsection. For a polynomial of case (), we set b and b 05 to make sure that the second derivative off (), F 5 () = 0((b 3, b + b 50 )B 3 30()+(b 3, b 3 + b )B 3 ()+ (b, b 3 + b 3 )B 3 ()+(b 05, b + b 3 )B 3 03()) (.36) is positive. The positivity off () ensure that F () is monotonic, which ensure that F () is single-rooted, providing that F 5(0) = b 50 < 0 and F 5() = b 05 > 0. As b 50 < 0, b < 0, b 3 > 0 and b 50, b " we have b 3, b + b 50 > 0. Hence the problem is reduced to the cubic case we discuss in last subsection. In the case that b 50 and b >>0, the polynomial has a root at =(; 0). As b >>0, we can set b and b 05 large enough so that there is no other roots.

15 (a) (,;,;,) (b)(,;,; +) (c)(,; +; +) (d)(+; +; +) (e)(,; +;,) (f)(+; +;,) (g)(+;,;,) (h)(+;,; +) Figure.7: Quintic BB polynomials are subdivided into 8 cases according to the signs of weights b, b 3 abd b 3. 5

16 ε (a) (b) Figure.8: case (,; +;,) is further subdivided. (a) b 50, b <,". (b) Otherwise.3 Sucient conditions for quintic A-patches From denition, a three sided quintic patch is an A-patch if a line segment [pp ] connecting the top vertex p and any point p on the bottom [p p p 3 ]intersects the surface at most once. In other words, the univariate subpolynomial in [pp ] has at most one root in [0; ]. In the case of a four sided patch, a ray polynomial is the univariate subpolynomial in [p p 3 ], where p [p p ], p 3 [p p 3 ]. We rst assume that, at the bottom face [p p p 3 ] (where = 0), F () > 0. Then [pp ] intersects the surface exactly once. We call such a subpolynomial a ray polynomial of the trivariate polynomial in [p p p 3 p ]. Note that how many times [pp ]intersects with the surface are determined by the ray polynomial in [pp ]. Recalling that, in section 3, the weights at the th and 5th are free in the C continuity weight setting algorithm, each ofsuch univariate quintic polynomials can be made single-rooted as we discussed above. So if one can check all [p p]'s for all p in [p p p 3 ], to make sure that the ray polynomial has exactly one root in [0; ], we make sure that the surface is an A-patch. But obviously, it is non-practical to keep track of the innite number of ray polynomials. Hence, we instead subdivide the bottom face [p p p 3 ]into small triangles [p (i) p(i) p(i) 3 ], such that the subpolynomial in [p (i) p(i) p(i) 3 p ] is simpler in the sense that the ray polynomials fall in the same category that we discussed above. We are then able to make sure that all ray polynomials in [p p] are single-rooted by making sure that the \worst case" is single-rooted. Similarly, in the case of a four sided patch [p p p 3 p ], we subdivide edge [p p ] and edge [p p 3 ] to subdivide the tetrahedron into smaller four sided patches, within each of which we enforce that the surface is an A-patch by treating a \worst" case ray polynomial. However, it is not practical to subdivide the polynomial into into subpolynomials that exactly fall into individual categories. Instead, we subdivide the polynomial until the individual subpolynomial can be treated the same way. To see that is possible, in last subsection, we classify the univariate quintic subpolynomials into 3 categories. Category (0) can be trivially made singlesheeted by setting b and b 05 to be positive. So, if a ray polynomial of a trivariate polynomial is either in category (0) or (), we can treat them all as if they are all in category (). Similarly, when aray polynomial of a trivariate polynomial is either in category (0) or (). The algorithm that guarantees a category () subpolynomial single-rooted rely on the fact that b 50 + b 3, b > 0, which can apply to some member of categories (0) and () as well. Hence if we subdivide the polynomial deep enough, we can get subpolynomial whose ray polynomials are in category (), or (0), or () but with b 50 + b 3, b > 0. Based on the above observation, we layout the subdivision scheme in the following way. 6

17 Let F 0 () =F () ^ ( = 0) be the bivariate polynomial in the bottom face, or the 0th layer, F () =F () ^( = ) be the quartic bivariate polynomial in the st layer, F () =F () ^( = ) be the cubic bivariate polynomial in the nd layer. We dene the following two polynomials in [p p p 3 p ] F () = F 0 (), F () (.37) F () = F 0 (), F () + F () (.38) We denote the weights of polynomial F () asb(f ). b(f ) <cmeans the weights of F are all less than c. Then we keep subdividing [p p p 3 p ]until for each subpolynomial [p (i) p(i) p(i) 3 p ] satises one of the following cases. (0) There is only one sign change; () b(f ) <,", which implies that for every univariate subpolynomial in [p p], b 50, b <,"; () b(f ) < 0 ^ (b(f ) _ b(f ) < 0 _ b(f 3 ) > 0) which implies that for every univariate subpolynomial in [p p], b < 0 and b 50, b + b 3 > 0, or can be classied into category (0). where In cases () and (), we dene the worst univariate subpolynomial F worst (x) = b, 50 B b, B5 + b, 3 B5 3 ++b, 3 B5 3 + b, B5 + b, 50 B5 05 (.39) b, 50 = Minfb(F 0 )g b, = Minfb(F )g b, 3 = Minfb(F )g Enforcing the worst univariate subpolynomial to be single-rooted, we guarantee that all the univariate subpolynomial over [p p] is single-rooted, which implies that the surface is an A-patch. In the case that F 0 () is not always positive, we subdivide face [p p p 3 ]until in each subpolynomial F (i) 0 () in[p(i) p(i) p(i) 3 ] is one of the following. Positive. Set the free weights of F (i) () so that the trivariate polynomial has no root.. Negative. Set the free weights of F (i) () so that the trivariate polynomial has exactly one root. 3. The subpolynomial in [p (i) p(i) p(i) (i) 3 ] (denoted as F ()) is an A-spline [BX9]. A sucient condition is that, there exists an integer j( j 3) an integer k(0 <k<5) such that b 0; j =0; ; :::;k, (.0) b 0; j = k +; :::; 5 (.) In this case, say j =,we set the free weights of F (i) () so that the bivariate subpolynomial in [p (i) p(i) 3 p ] is positive, and furthermore, large enough so that any ray subpolynomial in pp, where p [p (i) p(i) 3 p ], is single-rooted. 7

18 At a corner of face [p p p 3 ], say p or =(; 0; 0; 0), the weight b 5000 =0. From the stronger tangent containment condition 3. that we have enforced, b 00 >for some small constant >0. Thus there exists a small neighborhood ; j,j <, where F ( ) > 0. Hence it can be treated as an instance of category (). In short, the functional zero contour enforcing scheme can be embed into the C scheme as follows. Steps and 8 replace steps and 8 in scheme 3.. Step ' is inserted between steps and. Algorithm. Functional zero contouring. If face [p p p 3 ] is convex, set a (i), 0 a(i), 0 a(i) 0 to be positive. 8. Set number8weight, a (i) to be positive. '. Set number weight to be large enough so that (a) we are sure the polynomial in [p p p 3 p ] is a three sided A-patch, and (b) when we compute number 3, and 5 weights later in step, they are large enough so that we are sure the polynomial in [p 00 p p 3 p ] is a four sided A-patch.. Summary In summary, we give an outline of the algorithm. depending on the implementation. The last step can be incorporated into one, Algorithm.3 Construction of C A-patch surface INPUT: a triangulated polyhedron P. Compute the normal at each vertex of P. Construct C cubic simplicial hull and C A-patches Degree raising the cubic simplicial hull to quintic. Used as default values. Estimate C data (Hessian matrix) at each vertex. interpolate them with the polynomials. Construct piecewise C quintic polynomials. Set functional zero contouring conditions. OUTPUT: C A-patch surface. 8

19 (a) (b) (c) (d) Figure 5.9: A simple C example. (a) Drawn in dierent shades to show the piecewise structure. (b) C : Showing Gaussian curvature. (c) C : Showing Mean curvature. (d) C : Showing Gaussian curvature. 9

20 (a) (b) (c) (d) Figure 5.0: A C smooth icosahedron. (a) Drawn in dierent shades to show the piecewise structure. (b) Gaussian curvature. (c) Mean curvature. (d) Mean curvature. The surface is modied locally around the patch facing up. 0

21 (a) (b) (c) (d) (e) (f) Figure 5.: Interactive control of C A-patches. Starting from a sphere, the quintic piecewise surface is deforming toward a cube. (a) Sphere. (b) The surface is dragged toward a vertex of the cube. Mean curvature map. (c) Toward an edge of the cube. Gaussian curvature. (d) Toward an face of the cube. Mean curvature. (e) Toward the cube. Gaussian curvature. (f) Toward the cube. Shaded in pattern to show the piecewise structure.

22 5 Implementation We have presented algorithms for interpolating a three dimensional polyhedron with C quintic A-patches. These algorithms have been implemented in the SplineX and Shilp toolkits of Shastra, a distributed and collaborative geometric design environment [AB93]. Shilp is an X- based, interactive solid modeling system and is used to create a simplicial (face triangulated) polyhedral model of the desired shape. This model could also be the triangulation of an arbitrary surface in three dimensions. This triangulation is C smoothed by a client/server call to a SplineX computation using inter process communication. SplineX is a an X- based, interactive surface modeling toolkit for arbitrary algebraic surfaces (implicit or parametric) in BB form. It allows for the creation of simplex chains (as for example the simplicial hull of the triangulation) and the interactive change of control points and weights of the A-patches for shape control. SplineX also has the ability to distribute its rendering tasks (for the display of the individual A-patches) on a network of workstations, to achieve maximal display parallelism. Figure 5.9 shows a simple example, quintic A-patches based on triangles sharing a vertex. Figure 5.0 shows quintic A-patches built on top of a icosahedron. Note that the sizes of edge patches in pairs are not even, as an convention simplicial hull based on an icosahedron, with equal sized edge patch pair, would cause case degeneracy(see Appendix B). Figure 5. shows interactive control of C quintic A-patches. Starting from a sphere, we drag the surface towards the vertices of a cube by changing the weights a 03, a 03 and a 03 of the quintic face simplexes. Note that the simplicial hull in Figure 5. suers case degeneracy(see Appendix B). Hence we keep weight a as is, but instead change a 03, a 03 and a Conclusion We give piecewise C quintic A-patch scheme to C interpolate or approximate each vertex of a given polyhedron. However, as a rst step toward C algebraic splines in BB form, the scheme still has many problems. Compared to the C cubic A-patch scheme [BCX95a], this scheme is more complicated in the following aspects. First, we have to solve larger linear system to achieve C continuity. Secondly, it is far more dicult to guarantee that the surface is fully connected, free of singularity and unwanted branches, as in general, the \one sign change" principle is not practical. Thirdly, there are quite many degenerate cases, where the linear systems are singular and we have modied the simplicial hull to remove the degeneracies. However, it seems to us there is not much room that we can play with quintic surface for C continuity, under the same simplicial hull structure. Further improvements can be made by studying more about the degenerated cases, using higher degree surfaces, or dierent simplicial hull structures. For example, if we use degree 7 patches, which interpolates some given or precalculated C 3 data at each vertex, and C elsewhere, we are able to break up those big systems around the vertices into smaller ones around the edge. Namely, the systems involve no more than 8 simplexes, same level as in the C cubic case. Besides all these problem, the scheme inherits some common problem of surface tting, as shown in Figure 5.0, although C smooth, the surface looks bumpy. An optimization scheme is hence needed to construct fair surface with respect to this particular problem.

23 References [AB93] [Baj9] [BBX9] [BCX9] V. Anupam and C. Bajaj. Collaborative Multimedia Scientic Design in SHASTRA. In Proc. of the First ACM International Conference on Multimedia, ACM MULTIMEDIA 93, pages 7{56. ACM Press, 993. C. Bajaj. Surface tting with implicit algebraic surface patches. In H. Hagen, editor, Topics in Surface Modeling, pages 3 { 5. SIAM Publications, 99. C. Bajaj, F. Bernardini, and G. Xu. Reconstruction of Surfaces and Surfaces-on-Surfaces from Unorganized Weighted Points. Computer Science Technical Report, CS-93-00, Purdue University, 99. Appeared in SIG '95. C. Bajaj, J. Chen, and G. Xu. Smooth Low Degree Approximations of Polyhedra. Computer Science Technical Report, CSD-TR-9-00, Purdue University, 99. [BCX95a] C. Bajaj, J. Chen, and G. Xu. Modeling with Cubic A-Patches. ACM Transactions on Graphics, (), April 995. [BCX95b] C. Bajaj, J. Chen, and G. Xu. Smooth Low Degree Approximations of Polyhedra (Part ). Manuscript, September 995. [BI9a] C. Bajaj and I. Ihm. Algebraic surface design with Hermite interpolation. ACM Transactions on Graphics, 9():6{9, January 99. [BI9b] C. Bajaj and I. Ihm. C Smoothing of Polyhedra with Implicit Algebraic Splines. SIGGRAPH'9, Computer Graphics, 6():79{88, July 99. [BIW93] C. Bajaj, I. Ihm, and J. Warren. Higher order interpolation and least squares approximation using implicit algebraic surfaces. ACM Transactions on Graphics, ():37{37, Oct [BX9] C. Bajaj and G. Xu. A-splines: Local Interpolation and Approximation Using C k Continuous Piecewise Real Algebraic Curves. Technical Report CSD-TR-9-095,CAPO- 9-, Computer Sciences Department, Purdue University, December 99. [Dah89] W. Dahmen. Smooth piecewise quadratic surfaces. In T. Lyche and L. Schumaker, editors, Mathematical Methods in Computer Aided Geometric Design, pages 8{93. Academic Press, Boston, 989. [DTS93] [Far90] [Guo9a] [Guo9b] W. Dahmen and T-M. Thamm-Schaar. Cubicoids: modeling and visualization. Computer Aided Geometric Design, 0():89{08, Apr G. Farin. Curves and Surfaces for Computer Aided Geometric Design: a practical guide. Academic Press, Boston, MA, nd edition, 990. B. Guo. Modeling Arbitrary Smooth Objects with Algebraic Surfaces. PhD thesis, Computer Science, Cornell University, 99. B. Guo. Surface generation using implicit cubics. In N.M. Patrikalakis, editor, Scientic Visualizaton of Physical Phenomena, pages 85{530. Springer-Verlag,Tokyo, 99. 3

24 [Guo93] [MW9] [Pet90] B. Guo. Non-splitting Macro Patches for Implicit Cubic Spline Surfaces. Computer Graphics Forum, (3):3 { 5, 993. D. Moore and J. Warren. Approximation of dense scattered data using algebraic surfaces. In Proc. of the th Hawaii Intl. Conference on System Sciences, volume, pages 68{690, Kauai, Hawaii, 99. IEEE, IEEE Computer Society Press, Los Alamitos, California. J. Peters. Local smooth surface interpolation: a classication. Computer Aided Geometric Design, 7(-):9{95, June 990. [Pra87] V. Pratt. Direct least squares tting of algebraic surfaces. Computer Graphics, (3):5{5, 987. [Sed90] T. Sederberg. Techniques for cubic algebraic surfaces, tutorial part ii. IEEE Computer Graphics and Applications, 0(5):{, Sept. 990.

25 A Determining Number 5 and 6 Weights of Quintic It follows from (.0) and (.) that b (i) = (i) a(i) + (i) a(i) 03 + (i) 3 a(i) 0 + (i) a(i) 0 (A:) b (i) 0 = (i) (i) a(i) 0 +(i) (i) a(i) 30 +(i) (i) 3 a(i) 0 +(i) (i) a(i) + (i) (i) a(i) 00 +(i) (i) 3 a(i) 030 +(i) (i) a(i) 03 + (i) 3 (i) 3 a(i) 030 +(i) 3 (i) a(i) 0 + (i) (i) a(i) 0 for i =;. (A.3) can be written briey as (A:3) where is the known terms in (A.3). Since b (i) 0 =(i) (i) a(i) + (i) (i) a(i) 0 + (A:) b () 0 = b () + b () (A:5) b () 0, b () = b () 0, b () (A:6) then by substituting (A.) into (A.5) and (A.6) and then eliminating b (i) 0 (A.5) we get three equations related to four unknowns which could be written as: " (),,, (), #" () 0 0 () h, ( (), ) ( () #" a () 0 a () 0 0 a () 0, ) i" a () # # =, " (),,, (),, h () ;, () i " a () a () # from (A.) and #" a () a () # + (A:7) = (A:8) where are known terms. Since the coecient matrix of (A.7) is nonsingular, by solving [a () 0 a() 0 ]T from (A.7) and then substituting it into (A.8), we get one equation relating to the unknowns a () ; a(). Let the equation be in the form a () + a() =! (A:9) Therefore, these unknowns form a closed chain around the vertex p in one side of the tangent plane at p. Let 3 6 A = (A:50) k! = 6 5!!...! k k 5 (A:5)

26 We observe that system Ax =! (A:5) is of rank k,. In other words, it has innite number of solutions. Wehave not come up with a proof of this property yet. Assuming this observation is true, we choose the solution that least-squared approximate the default values. B Determining Number 9 Weights of the Quintic Scheme For i =;, and b (i) 0 = (i) a(i) 0 + (i) a(i) (i) 3 a(i) 0 + (i) a(i) 003 (B:53) b (i) 0 = (i) (i) a(i) 0 +(i) (i) a(i) 30 +(i) (i) 3 a(i) +(i) (i) a(i) 0 + (i) (i) a(i) 00 +(i) (i) 3 a(i) 03 +(i) (i) a(i) (i) 3 (i) 3 a(i) 0 +(i) 3 (i) a(i) 0 + (i) (i) a(i) 003 Substitute (B.53) and (B.5) into (B.56), we have (B:5) b () 300 = b () 0 + b () 0 (B:55) b () 0, b () 0 = b () 0, b () 0 (B:56) () (, () )b() 003, () (, () )b() 003 = This is a system of the form A = k k whose determinant is Q k+r i= i,(,) k+r Q k+r i= i. This matrix is nonsingular in general if the points given are in the general position. Hence the system can be solved. However, if the surrounding tetrahedra at the same side of p are not closed, the matrix A is in the form of A = k k By choosing one unknown, say the l-th to be a free parameter, A can be written as A = with A = l, l, l ; A = l+ l+ l k k " # A 0 0 A 6

27 Hence the system of equations breakup into two smaller sub-systems. Each of them can be solved separately. We identify two kinds of degeneracies as follows. () () = (), but not equal to zero. and need to be set to some values other than 0:5 so that A is not singular. () () and () are all zero. In this case, changing, would not solve the problem. We perturbed the tops of the face simplexes to avoid singularity in A. C Enforcing positivity of quartic and cubic BB polynomials C. Enforcing positivity of a cubic polynomial For a cubic BB polynomial F 3() =b 30 B 3 30()+b B 3 ()+b B 3 ()+b 03 B 3 03() (C:57) where b 30 > 0, b are given, set b and b 03 so that F 3() > 0in[0; ]. We observe that, if F 3() > 0, then there must exist a subdivision of the BB polynomial where the weights of each piece are all positive. We subdivide the univariate cubic polynomial F 3() into two pieces, F 3 () = b () 30 B3 30()+b () B3 ()+b () B3 ()+b () 03 B3 03() (C.58) F 3 () = b () 30 B3 30()+b () B3 ()+b () B3 ()+b () 03 B3 03() (C.59) upon = t (See gure.). We now just need to choose t = t 0 < b 30 b30,b so that b () =(, t 0)b 30 + t 0 b > 0 (C:60) The other weights are positive function of b and b 03 and hence can be set to be positive. In particular, Hence if b () = (, t 0 )b () t 0((, t 0 )b + tb ) (C.6) > t 0 ((, t 0 )b + t 0 b ) (C.6) (, t 0 )b + t 0 b > 0or b b 30, b 0 > 0; (C.63) b () > 0. It is trivial to verify that if furthermore b 03 > 0, all other control points are positive. 7

28 C. Enforcing positivity of a quartic polynomial For a quartic BB polynomial, F () = b 0 B 0()+b 3 B 3()+b B ()+b 3 B 3()+b 0 B 0() (C.6) where b 0 >", b 3 and b are given, set b 3 and b 0 so that F () > 0in[0; ]. We subdivide the univariate quartic polynomial F () into two pieces, F () () = b () 0 B 0 + b () 3 B 3 + b () B + b () 3 B 3 + b () 0 B 0 (C.65) F () () = b () 0 B 0 + b() 3 B 3 + b() B + b() 3 B 3 + b() 0 B 0 (C.66) upon = t (see gure.6). By choosing t carefully, one makes sure that b () 3 = (, t)b 0 + tb 3 > 0 (C.67) b () = (, t) b 0 + (, t)tb 3 + t b > 0: (C.68) Specically, Let r =,t t, inequality (C.68) is equivalent to Solving this inequality in r>0, b 0 r +b 3 r + b > 0 q r>,b 3 + b 3, b 0b b 0 (C:69) (C:70) p Hence by choosing r = r 0 >,b 3+ b 3,b0b, b () b0 > 0. It is easy to verify that so is b(). 3 Then, in order to make b () 3 > 0, as or b () 3 =(, t)b() + t(b 3B 0 + b B + b 3B 0 ) > 0 (C:7) b 3 B 0(t 0 )+b B (t 0 )+b 3 B 0(t 0 ) > 0 (C:7) where t 0 = +r0,or b 3 r 0 + b r 0 + b 3 > 0 (C:73) or q 0 q,b 3 + b 3 b 3 >, b 3 + b 3, b 0b b3 +b A b 0 b 0 Furthermore, with b 0 > 0, every other weights are positive. (C:7) 8

29 C.3 Enforcing positivity of a quintic polynomial For a quintic BB polynomial, F 5() = b 50 B 5 50()+b B 5 ()+b 3 B 5 3()+b 3 B 5 3()+b B 5 ()+b 05 B 05() (C.75) where b 50 >", b, b 3 and b 3 are given, set b and b 05 so that F 5() > 0in[0; ]. We subdivide the univariate quintic polynomial F 5() into two pieces, F 5 () () = b () 50 B b () B5 + b () 3 B5 3 + b () 3 B5 3b () B5 + b () 05 B5 05 (C.76) F 5 () () = b () 50 B b() B5 + b() 3 B5 3 + b() 3 B5 3 b() B5 + b() 05 B5 05 (C.77) upon = t (see gure.5). By choosing t carefully, one makes sure that b () = (, t)b 50 + tb > 0 (C.78) b () 3 = (, t) b 50 + (, t)tb + t b 3 > 0 (C.79) b () 3 = (, t) 3 b (, t) tb + 3(, t)t b 3 + t 3 b 3 > 0 (C.80) Similar to the cubic and quartic case, we solve in 0 <t<, or its equivalence (, t) 3 b (, t) tb + 3(, t)t b 3 + t 3 b 3 > 0 (C:8) r 3 b 50 +3r b +3rb 3 + b 3 > 0 (C:8) with r =,t t. Let t 0 be what we choose for t. We next choose b so that or b () = (, t 0 )t () 3 t 0(b B30(t 3 0 )+b 3 B(t 3 0 )+b 3 B(t 3 0 )+b B03(t 3 0 )) (C.83) > t 0 (b B 3 30 (t 0)+b 3 B 3 (t 0)+b 3 B 3 (t 0)+b B 3 03 (t 0)) > 0 (C.8) Setting b 05 > 0 makes every other weights positive. b >,(b r b 3 r 0 +3b 3 r 0 ) (C.85) 9

Interactive Shape Control and Rapid Display of A- patches

Interactive Shape Control and Rapid Display of A- patches Purdue University Purdue e-pubs Department of Computer Science Technical Reports Department of Computer Science 1994 Interactive Shape Control and Rapid Display of A- patches Chandrajit L. Bajaj Jindon

More information

Adaptive and Smooth Surface Construction by Triangular A-Patches

Adaptive and Smooth Surface Construction by Triangular A-Patches Adaptive and Smooth Surface Construction by Triangular A-Patches Guoliang Xu Institute of Computational Mathematics and Scientific/Engineering Computing, Chinese Academy of Sciences, Beijing, China Abstract

More information

Construct Piecewise Hermite Interpolation Surface with Blending Methods

Construct Piecewise Hermite Interpolation Surface with Blending Methods Construct Piecewise Hermite Interpolation Surface with Blending Methods Xiao-Shan Gao and Ming Li Institute of System Sciences, AMSS, Academia Sinica Beijing 100080, China (xgao,mli)@mmrc.iss.ac.cn Abstract

More information

Prior schemes using implicit surface representations interpolating vertices of a surface triangulation T use various simplicial hulls(see Dahmen and T

Prior schemes using implicit surface representations interpolating vertices of a surface triangulation T use various simplicial hulls(see Dahmen and T C 1 Modeling with A-patches from Rational Trivariate Functions Guoliang Xu Hongci Huang Institute of Computational Mathematics, Chinese Academy of Sciences Department of Mathematics, Hong Kong Baptist

More information

Gauss curvature. curvature lines, needle plot. vertices of progenitor solid are unit size. Construction Principle. edge. edge. vertex. Patch.

Gauss curvature. curvature lines, needle plot. vertices of progenitor solid are unit size. Construction Principle. edge. edge. vertex. Patch. The Platonic Spheroids Jorg Peters and Leif Kobbelt Abstract. We present a gallery of simple curvature continuous surfaces that possess the topological structure of the Platonic solids. These spherelike

More information

TESSELLATING ALGEBRAIC CURVES AND SURFACES USING A-PATCHES

TESSELLATING ALGEBRAIC CURVES AND SURFACES USING A-PATCHES TESSELLATING ALGEBRAIC CURVES AND SURFACES USING A-PATCHES Curtis Luk and Stephen Mann University of Waterloo, 200 University Ave W., Waterloo, Ontario, Canada cluk@uwaterloo.ca, smann@uwaterloo.ca Keywords:

More information

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting

implicit surfaces, approximate implicitization, B-splines, A- patches, surface fitting 24. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE ZBYNĚK ŠÍR FITTING OF PIECEWISE POLYNOMIAL IMPLICIT SURFACES Abstrakt In our contribution we discuss the possibility of an efficient fitting of piecewise

More information

Scientic Problem Solving in a Distributed and Collaborative. Multimedia Environment

Scientic Problem Solving in a Distributed and Collaborative. Multimedia Environment Scientic Problem Solving in a Distributed and Collaborative Multimedia Environment Vinod Anupam Chandrajit Bajaj Fausto Bernardini Steve Cutchin Jindon Chen Daniel Schikore Guoliang Xu Peinan Zhang Weiping

More information

Chapter 3. Quadric hypersurfaces. 3.1 Quadric hypersurfaces Denition.

Chapter 3. Quadric hypersurfaces. 3.1 Quadric hypersurfaces Denition. Chapter 3 Quadric hypersurfaces 3.1 Quadric hypersurfaces. 3.1.1 Denition. Denition 1. In an n-dimensional ane space A; given an ane frame fo;! e i g: A quadric hypersurface in A is a set S consisting

More information

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions International Journal of Mathematical Modelling & Computations Vol. 02, No. 03, 2012, 211-220 Approximation of 3D-Parametric Functions by Bicubic B-spline Functions M. Amirfakhrian a, a Department of Mathematics,

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph Circle and Sphere as rational splines Claudia Bangert and Hartmut Prautzsch Universitat Karlsruhe, Fakultat fur Informatik D-8 Karlsruhe, Germany corresponding author, e-mail: prau@ira.uka.de Abstract

More information

Algebraic Surface Design and Finite Element Meshes

Algebraic Surface Design and Finite Element Meshes Purdue University Purdue e-pubs Department of Computer Science Technical Reports Department of Computer Science 1992 Algebraic Surface Design and Finite Element Meshes Chanderjit L. Bajaj Report Number:

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

linear systems. We present a mix of symbolic and numerical algorithms for low degree

linear systems. We present a mix of symbolic and numerical algorithms for low degree Multi-dimensional Hermite Interpolation and Approximation for Modelling and Visualization Chandrajit L. Bajaj a 1 a Department of Computer Science, Purdue University, West Lafayette, Indiana 47907, USA,

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

Normals of subdivision surfaces and their control polyhedra

Normals of subdivision surfaces and their control polyhedra Computer Aided Geometric Design 24 (27 112 116 www.elsevier.com/locate/cagd Normals of subdivision surfaces and their control polyhedra I. Ginkel a,j.peters b,,g.umlauf a a University of Kaiserslautern,

More information

Cover Page. Title: Surface Approximation Using Geometric Hermite Patches Abstract:

Cover Page. Title: Surface Approximation Using Geometric Hermite Patches Abstract: Cover Page Title: Surface Approximation Using Geometric Hermite Patches Abstract: A high-order-of-approximation surface patch is used to construct continuous, approximating surfaces. This patch, together

More information

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

On Smooth Bicubic Surfaces from Quad Meshes

On Smooth Bicubic Surfaces from Quad Meshes On Smooth Bicubic Surfaces from Quad Meshes Jianhua Fan and Jörg Peters Dept CISE, University of Florida Abstract. Determining the least m such that one m m bi-cubic macropatch per quadrilateral offers

More information

Spline Functions on Triangulations

Spline Functions on Triangulations Spline Functions on Triangulations MING-JUN LAI AND LARRY L. SCHUMAKER CAMBRIDGE UNIVERSITY PRESS Contents Preface xi Chapter 1. Bivariate Polynomials 1.1. Introduction 1 1.2. Norms of Polynomials on Triangles

More information

spline structure and become polynomials on cells without collinear edges. Results of this kind follow from the intrinsic supersmoothness of bivariate

spline structure and become polynomials on cells without collinear edges. Results of this kind follow from the intrinsic supersmoothness of bivariate Supersmoothness of bivariate splines and geometry of the underlying partition. T. Sorokina ) Abstract. We show that many spaces of bivariate splines possess additional smoothness (supersmoothness) that

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

Piecewise polynomials of some xed degree and continuously dierentiable upto

Piecewise polynomials of some xed degree and continuously dierentiable upto Splines and Geometric Modeling Chandrajit L. Bajaj and Susan Evans INTRODUCTION Piecewise polynomials of some xed degree and continuously dierentiable upto some order are known as splines or nite elements.

More information

Using Isosurface Methods for Visualizing the Envelope of a Swept Trivariate Solid

Using Isosurface Methods for Visualizing the Envelope of a Swept Trivariate Solid Using Isosurface Methods for Visualizing the Envelope of a Swept Trivariate Solid Jason Conkey Kenneth I. Joy Center for Image Processing and Integrated Computing Department of Computer Science University

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

IMAGE-BASED RENDERING

IMAGE-BASED RENDERING IMAGE-BASED RENDERING 1. What is Image-Based Rendering? - The synthesis of new views of a scene from pre-recorded pictures.!"$#% "'&( )*+,-/.). #0 1 ' 2"&43+5+, 2. Why? (1) We really enjoy visual magic!

More information

A new 8-node quadrilateral spline finite element

A new 8-node quadrilateral spline finite element Journal of Computational and Applied Mathematics 195 (2006) 54 65 www.elsevier.com/locate/cam A new 8-node quadrilateral spline finite element Chong-Jun Li, Ren-Hong Wang Institute of Mathematical Sciences,

More information

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics Kai Hormann, N. Sukumar Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics Contents Chapter 1 Multi-Sided Patches via Barycentric Coordinates 1 Scott Schaefer 1.1 INTRODUCTION

More information

Curves and Surfaces for Computer-Aided Geometric Design

Curves and Surfaces for Computer-Aided Geometric Design Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego

More information

(Refer Slide Time: 00:02:24 min)

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

u 0+u 2 new boundary vertex

u 0+u 2 new boundary vertex Combined Subdivision Schemes for the design of surfaces satisfying boundary conditions Adi Levin School of Mathematical Sciences, Tel-Aviv University, Tel-Aviv 69978, Israel. Email:fadilev@math.tau.ac.ilg

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

Local Modification of Subdivision Surfaces Based on Curved Mesh

Local Modification of Subdivision Surfaces Based on Curved Mesh Local Modification of Subdivision Surfaces Based on Curved Mesh Yoshimasa Tokuyama Tokyo Polytechnic University tokuyama@image.t-kougei.ac.jp Kouichi Konno Iwate University konno@cis.iwate-u.ac.jp Junji

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

Normals of subdivision surfaces and their control polyhedra

Normals of subdivision surfaces and their control polyhedra Normals of subdivision surfaces and their control polyhedra I. Ginkel, a, J. Peters b, and G. Umlauf a, a University of Kaiserslautern, Germany b University of Florida, Gainesville, FL, USA Abstract For

More information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D From curves to surfaces Parametric surfaces and solid modeling CS 465 Lecture 12 2007 Doug James & Steve Marschner 1 So far have discussed spline curves in 2D it turns out that this already provides of

More information

Gardener s spline curve

Gardener s spline curve Annales Mathematicae et Informaticae 47 (017) pp. 109 118 http://ami.uni-eszterhazy.hu Gardener s spline curve Imre Juhász Department of Descriptive Geometry University of Miskolc agtji@uni-miskolc.hu

More information

G 2 Interpolation for Polar Surfaces

G 2 Interpolation for Polar Surfaces 1 G 2 Interpolation for Polar Surfaces Jianzhong Wang 1, Fuhua Cheng 2,3 1 University of Kentucky, jwangf@uky.edu 2 University of Kentucky, cheng@cs.uky.edu 3 National Tsinhua University ABSTRACT In this

More information

The Essentials of CAGD

The Essentials of CAGD The Essentials of CAGD Chapter 6: Bézier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2 Farin & Hansford The

More information

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces Mridula Dube 1, Urvashi Mishra 2 1 Department of Mathematics and Computer Science, R.D. University, Jabalpur, Madhya Pradesh, India 2

More information

Algebraic Geometry of Segmentation and Tracking

Algebraic Geometry of Segmentation and Tracking Ma191b Winter 2017 Geometry of Neuroscience Geometry of lines in 3-space and Segmentation and Tracking This lecture is based on the papers: Reference: Marco Pellegrini, Ray shooting and lines in space.

More information

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November Surfaces for CAGD FSP Tutorial FSP-Seminar, Graz, November 2005 1 Tensor Product Surfaces Given: two curve schemes (Bézier curves or B splines): I: x(u) = m i=0 F i(u)b i, u [a, b], II: x(v) = n j=0 G

More information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

More information

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE.

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE. Generalization of modied octrees for geometric modeling N. Hitschfeld Dpto. Ciencias de la Computacion, Univ. de Chile Blanco Encalada 2120, Santiago, CHILE E-mail: nancy@dcc.uchile.cl Abstract. This paper

More information

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018 CS354 Computer Graphics Surface Representation IV Qixing Huang March 7th 2018 Today s Topic Subdivision surfaces Implicit surface representation Subdivision Surfaces Building complex models We can extend

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

08 - Designing Approximating Curves

08 - Designing Approximating Curves 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

More information

Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5 ecture 8: Knot Insertion Algorithms for B-Spline Curves and Surfaces and the crooked shall be made straight, and the rough ways shall be made smooth; uke 3:5. Motivation B-spline methods have several advantages

More information

Topological Issues in Hexahedral Meshing

Topological Issues in Hexahedral Meshing Topological Issues in Hexahedral Meshing David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science Outline I. What is meshing? Problem statement Types of mesh Quality issues

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

CS-184: Computer Graphics

CS-184: Computer Graphics CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

More information

Curves, Surfaces and Recursive Subdivision

Curves, Surfaces and Recursive Subdivision Department of Computer Sciences Graphics Fall 25 (Lecture ) Curves, Surfaces and Recursive Subdivision Conics: Curves and Quadrics: Surfaces Implicit form arametric form Rational Bézier Forms Recursive

More information

linearize discretize Galerkin optimize sample

linearize discretize Galerkin optimize sample Fairing by Finite Dierence Methods Leif Kobbelt Abstract. We propose an ecient and exible scheme to fairly interpolate or approximate the vertices of a given triangular mesh. Instead of generating a piecewise

More information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

C 1 Quintic Spline Interpolation Over Tetrahedral Partitions

C 1 Quintic Spline Interpolation Over Tetrahedral Partitions C 1 Quintic Spline Interpolation Over Tetrahedral Partitions Gerard Awanou and Ming-Jun Lai Abstract. We discuss the implementation of a C 1 quintic superspline method for interpolating scattered data

More information

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

An Investigation of Closed Geodesics on Regular Polyhedra

An Investigation of Closed Geodesics on Regular Polyhedra An Investigation of Closed Geodesics on Regular Polyhedra Tony Scoles Southern Illinois University Edwardsville May 13, 2008 1 Introduction This paper was undertaken to examine, in detail, results from

More information

Lecture 0: Reivew of some basic material

Lecture 0: Reivew of some basic material Lecture 0: Reivew of some basic material September 12, 2018 1 Background material on the homotopy category We begin with the topological category TOP, whose objects are topological spaces and whose morphisms

More information

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Fathi El-Yafi Project and Software Development Manager Engineering Simulation An Introduction to Geometry Design Algorithms Fathi El-Yafi Project and Software Development Manager Engineering Simulation 1 Geometry: Overview Geometry Basics Definitions Data Semantic Topology Mathematics

More information

Approximating Polygonal Objects by Deformable Smooth Surfaces

Approximating Polygonal Objects by Deformable Smooth Surfaces Approximating Polygonal Objects by Deformable Smooth Surfaces Ho-lun Cheng and Tony Tan School of Computing, National University of Singapore hcheng,tantony@comp.nus.edu.sg Abstract. We propose a method

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Objects 2: Curves & Splines Christian Miller CS Fall 2011 Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary

More information

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama Introduction to Computer Graphics Modeling (3) April 27, 2017 Kenshi Takayama Solid modeling 2 Solid models Thin shapes represented by single polygons Unorientable Clear definition of inside & outside

More information

Shape Control of Cubic H-Bézier Curve by Moving Control Point

Shape Control of Cubic H-Bézier Curve by Moving Control Point Journal of Information & Computational Science 4: 2 (2007) 871 878 Available at http://www.joics.com Shape Control of Cubic H-Bézier Curve by Moving Control Point Hongyan Zhao a,b, Guojin Wang a,b, a Department

More information

Surfaces, meshes, and topology

Surfaces, meshes, and topology Surfaces from Point Samples Surfaces, meshes, and topology A surface is a 2-manifold embedded in 3- dimensional Euclidean space Such surfaces are often approximated by triangle meshes 2 1 Triangle mesh

More information

An Introduction to B-Spline Curves

An Introduction to B-Spline Curves An Introduction to B-Spline Curves Thomas W. Sederberg March 14, 2005 1 B-Spline Curves Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve

More information

Design considerations

Design considerations Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

BS-Patch: Constrained Bezier Parametric Patch

BS-Patch: Constrained Bezier Parametric Patch BS-Patch: Constrained Bezier Parametric Patch VACLAV SKALA, VIT ONDRACKA Department of Computer Science and Engineering University of West Bohemia Univerzitni 8, CZ 06 14 Plzen CZECH REPUBLIC skala@kiv.zcu.cz

More information

Rational Bezier Curves

Rational Bezier Curves Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

More information

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

CS 4620 Final Exam. (a) Is a circle C 0 continuous? CS 4620 Final Exam Wednesday 9, December 2009 2 1 2 hours Prof. Doug James Explain your reasoning for full credit. You are permitted a double-sided sheet of notes. Calculators are allowed but unnecessary.

More information

Hyperbolic structures and triangulations

Hyperbolic structures and triangulations CHAPTER Hyperbolic structures and triangulations In chapter 3, we learned that hyperbolic structures lead to developing maps and holonomy, and that the developing map is a covering map if and only if the

More information

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

More information

On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations

On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations Hendrik Speleers Paul Dierckx Stefan Vandewalle Report TW515, January 008 Ò Katholieke Universiteit

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

Finite Element Methods

Finite Element Methods Chapter 5 Finite Element Methods 5.1 Finite Element Spaces Remark 5.1 Mesh cells, faces, edges, vertices. A mesh cell is a compact polyhedron in R d, d {2,3}, whose interior is not empty. The boundary

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Representing Curves Part II. Foley & Van Dam, Chapter 11

Representing Curves Part II. Foley & Van Dam, Chapter 11 Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

More information

Estimating normal vectors and curvatures by centroid weights

Estimating normal vectors and curvatures by centroid weights Computer Aided Geometric Design 21 (2004) 447 458 www.elsevier.com/locate/cagd Estimating normal vectors and curvatures by centroid weights Sheng-Gwo Chen, Jyh-Yang Wu Department of Mathematics, National

More information

control polytope. These points are manipulated by a descent method to compute a candidate global minimizer. The second method is described in Section

control polytope. These points are manipulated by a descent method to compute a candidate global minimizer. The second method is described in Section Some Heuristics and Test Problems for Nonconvex Quadratic Programming over a Simplex Ivo Nowak September 3, 1998 Keywords:global optimization, nonconvex quadratic programming, heuristics, Bezier methods,

More information

The Free-form Surface Modelling System

The Free-form Surface Modelling System 1. Introduction The Free-form Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many real-world objects are inherently smooth (fig.1), and much

More information

More Accurate Representation of Conics by NURBS. One of the argument usually given to explain the popularity of NURBS is the fact that they

More Accurate Representation of Conics by NURBS. One of the argument usually given to explain the popularity of NURBS is the fact that they More Accurate Representation of Conics by NURBS Carole Blanc Christophe Schlick LaBRI 1, 51 cours de la liberation, 405 Talence (FRANCE) [blancjschlick]@labri.u-bordeaux.fr 1 Introduction One of the argument

More information

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions Nira Dyn School of Mathematical Sciences Tel Aviv University Michael S. Floater Department of Informatics University of

More information

On the positive semidenite polytope rank

On the positive semidenite polytope rank On the positive semidenite polytope rank Davíd Trieb Bachelor Thesis Betreuer: Tim Netzer Institut für Mathematik Universität Innsbruck February 16, 017 On the positive semidefinite polytope rank - Introduction

More information