Computer Aided Design. CAD Surfaces

Size: px
Start display at page:

Download "Computer Aided Design. CAD Surfaces"

Transcription

1 CAD Surfaces 1

2 CAD Surfaces Parametric Coons patches Tensor product surfaces (Bézier triangle) Nurbs surfaces Procedural (non parametric) Subdivision surfaces 2

3 CAD Surfaces Coons patches 3

4 Coons patches Bilinear Coons patch Steven Anson Coons (published in 1967 but idea came from research done during WWII in aeronautics) Let 4 parametric curves (Bézier or B-Splines or other) passing trough 4 points (A,B,C,D) : P1(u)=P(u,0), P2(u)=P(u,1), Q1(v)=P(0,v), Q2(v)=P(1,v) such as P(0,0)=A P(1,0)=B P(1,1)=C P(0,1)=D The surface P(u,v) is carried by these 4 curves D P(0,v) =Q1 A P(u,1)=P2 P(u,v) P(u,0)=P1 C P(1,v) =Q2 B 4

5 Bilinear Coons patches We define 3 surfaces by linear interpolation: S 1 (u, v)=(1 v) P (u,0)+v P (u,1) S 2 (u, v)=(1 u) P (0, v)+u P (1, v) S 3 (u, v)=(1 u)(1 v) P (0,0)+u(1 v) P (0,1) +v (1 u) P (1,0)+ uvp (1,1) S 2 u, v S 1 u, v S 3 u, v 5

6 Bilinear Coons patches The Bilinear Coons patch is defined by : P (u, v)=s 1 (u, v)+ S 2 (u, v) S 3 (u, v) Why? S1 interpolates A,B,C,D and the curves P1 and P2 S2 interpolates A,B,C,D and the curves Q1 and Q2 S1+S2 does not interpolate A,B,C,D any more, one has to subtract a term depending on A,B,C,D and linear in u and v. S 2 u, v S 1 u, v S 3 u, v 6

7 Bilinear Coons patches Characteristics of a bilinear Coons patch Easy to build Based on any set of 4 boundary curves However, there is no precise control of the shape of the surface inside the patch e.g. it is impossible to impose a C1 continuity between two neighbouring patches without constraints on the network of curves 7

8 Bilinear Coons patches Systematic notation The surface may be expressed as : 0 P (u,0) P (u,1) 1 P (u, v)=(1 F 1 (u) F 2 (u)) P (0, v) P (0,0) P (0,1) F 1 (v) P (1, v) P (1,0) P (1,1) F 2 (v) ( )( ) In this notation, F1(x)=1-x and F2(x)=x are blending functions, (x is either u or v). They can be replaced by any function to achieve e.g. a better continuity (see later). In the matrix, the lower right 4-by-4 square corresponds to surface S3; the upper line to S1 and left column to S2. 8

9 Hermite blending 0 P (u,0) P (u,1) 1 P (u, v)=(1 F 1 (u) F 2 (u)) P (0, v) P (0,0) P (0,1) F 1 (v) P (1, v) P (1,0) P (1,1) F 2 (v) It is possible to carefully select F1 and F2 so that they are C1 continuous, like e.g. Hermite polynomials : F 1 ( x)=2 x 3 3 x 2 +1 F 2 ( x)= 2 x 3 +3 x 2 ( F {1,2}( x) Then, as x )( ) =0, the derivatives are x={0,1} continuous over patch boundaries. However, this is usually not sufficient : there are too many constraints on the derivatives (they vanish) and it yields a surface with flat regions along edges and at corners. 9

10 Hermite Blending Hermite interpolation H is Hermite's matrix C (u)=( A1, A2, A1u, Au2 ) ( 3 u 2 u u 1 )( ) Au1 A2 A1 Au2 10

11 Hermite Blending Bicubic Hermite patch Hermite interpolation in 2D 4 positions at corners 8 normal derivatives 4 torsion vectors at corners S 3 u, v = u 3, u2, u, 1 H T S(u,v) A00 A10 Au00 Au10 A01 A11 Au01 Au11 Av00 v A10 Auv 00 uv A10 Av01 v3 2 Av11 v H uv v A01 1 Auv 11 11

12 Bicubic Coons patches Bicubic Coons patch One can build a surface that is based on any boundary curves as for the bilinear patch 8 curves are necessary : 4 positional curves + 4 curves depicting normal derivatives There are constraints between the derivative curve on one side and the positional curve on an incident side. There are also constraints on the derivative curves on each corner (cross derivatives must be equal) S(u,v) 12

13 Bicubic Coons patches As for the bilinear case, we need information on boundary curves : position + derivatives, and corresponding info at the corners. P v (u,1) [D] P u (0, v) P(u,1) P u (1, v) P(u,v) P(0, v) [A] [C] P (1, v) P (u,0) [B] P v (u,0) [X] = [P(i,j), P(i,j)u, P(i,j)v, P(i,j)uv], (i,j)={0,1}2 13

14 Bicubic Coons patches Systematic notation for the bicubic Coons patch P (u, v)=(1 F 1 (u) F 2 (u) F 3 (u) F 4 (u)) 0 P (0, v) P (1, v) P u (0, v) P u (1, v) ( P (u,0) P (u,1) P (0,0) P (0,1) P (1,0) P (1,1) P u (0,0) P u (0,1) P u (1,0) P u (1,1) P v (u,0) P v (0,0) P v (1,0) P uv (0,0) P uv (1,0) P v (u,1) P v (0,1) P v (1,1) P uv (0,1) P uv (1,1) 1 F 1 (v) F 2 (v) F 3 (v) F 4 (v) )( ) 14

15 Bicubic Coons patches =(1 u 3 u 2 u 1) (H *)T 0 P (0, v) P (1, v) P u (0, v) P u (1, v) ( P (u,0) P (0,0) P (1,0) P u (0,0) P u (1,0) with P (u,1) P (0,1) P (1,1) P u (0,1) P u (1,1) P v (u,0) P v (0,0) P v (1,0) P uv (0,0) P uv (1,0) P v (u,1) 1 3 P v (0,1) v * P v (1,1) H v 2 P uv (0,1) v 1 P uv (1,1) ) () H *= and H= 0 H ( ) ( ) 15

16 Bicubic Coons patches As for bilinear patches, it can be decomposed into three surfaces 3 v 2 v S 1 (u, v)=( P (u,0), P (u,1), P v (u,0), P v (u,1) ) H v 1 S 1 u, v () () u3 2 u S 2 (u, v)=( P (0, v), P (1, v), P u (0, v), P u (1, v ) ) H u 1 S 2 u, v 16

17 Bicubic Coons patches 3 2 S 3 (u, v)= ( u, u, u, 1 ) H T P (0,0) P (0,1) P v (0,0) P v (0,1) v3 2 P (1,0) P (1,1) P v (1,0) P v (1,1) v H P u (0,0) P u (0,1) P uv (0,0) P uv (0,1) v 1 P u (1,0) P u (1,1) P uv (1,0) P uv (1,1) ( ) () P (u, v)=s 1 (u, v)+ S 2 (u, v) S 3 (u, v) 17

18 Bicubic Coons patches Bicubic Coons patch P (u, v)=s 1 (u, v)+ S 2 (u, v) S 3 (u, v) 3 2 S 3 (u, v )=( u, u, u,1 ) H T ( A00 A 01 A00 v A 01 A10 u A00 A11 u A 01 A10 uv A00 v A11 uv A 01 u 10 u 11 uv 10 uv 11 A A A v v A 3 v 2 v H v 1 )() The terms of the matrix are computed with the help of boundary curves and verify the following conditions : v v A00= P(0,0) A01 =P (0,1) A00= P v (0,0) A01 =P v (0,1) A10= P(1,0) A11= P(1,1) Av10 =P v (1,0) Av11= P v (1,1) Au00 =P u (0,0) Au01=P u (0,1) A uv Auv 00= P uv (0,0) 01 =P uv (0,1) u A10 =P u (1,0) Au11=P u (1,1) uv Auv A11 =P uv (1,1) 10= P uv (1,0) 18

19 Bicubic Ferguson patch Ferguson patch P (u, v)=s 1 (u, v)+ S 2 (u, v) S 3 (u, v) 3 2 S 3 u, v = u, u, u,1 H T A00 A10 u A00 u A10 A01 A11 Au01 u A11 v A00 v A10 Auv 00 uv A10 v 3 A01 v v 2 A11 v H uv v A01 uv 1 A11 The terms of the matrix are computed with the help of boundary curves and verify the following conditions : A00= P(0,0) A10= P(1,0) u 00 A =P u (0,0) u A10 =P u (1,0) v A01 =P (0,1) A11= P(1,1) 2 P A =P u (0,1) A such that (0,0)=0 u v 2 P u uv A11=P u (1,1) A10 such that (1,0)=0 u v u 01 v A00 =P v (0,0) v A10 =P v (1,0) uv 00 A01=P v (0,1) v A11 =P v (1,1) 2 P A such that (0,1)=0 u v 2 P uv A11 such that (1,1)=0 u v uv 01 19

20 Bicubic Coons patches We can impose the position and the normal tangent along the boundaries Remain the problem of the continuity at every corner We usually impose that cross derivatives vanish Ferguson patch Other constraints may be found in the literature... 20

21 CAD Surfaces Tensor product surfaces 21

22 Tensor product surfaces Parametric surfaces as a polar form S (u, v)= N k (u, v ) P k k One shape function per control point If Nk is separable : «Tensor product» surface Combination of elementary curves/shape functions independently defined on u and v. S (u, v)= G i (u) H j (v) P ij i j Usually built upon Bézier and B-Splines curves/sfs The unique shape function is N k (u, v)=g i (u) H j (v) 22

23 B-Spline surfaces B-Splines surfaces uses 1D B-Spline shape fns. Definition as tensor product : n m S u, v = N ip u N qj v P ij i=0 j=0 Every variable u and v has a degree (p and q) and a nodal sequence U and V : U ={0,, 0, u p+ 1,, ur p 1,1,,1 } (r+ 1 nodes) p+ 1 p+ 1 V ={0,, 0, v q+ 1,, v s q 1, 1,,1 } q+ 1 (s+ 1 nodes) q+ 1 The control points forms a regular net Pij ( n+1 times m+1 ) values. We have the following relations : r=n+ p+ 1 s=m+ q+ 123

24 B-Spline surfaces Example of basis functions U ={0, 0, 0,0,1/4,1/ 2, 3/ 4,1,1,1,1} p=3 V ={0, 0, 0,1/5, 2/5, 3/5, 3/5, 4/5,1,1,1} q=2 N 24 v N 22 v N 34 u N 34 (u) N 24 (v) Basis function associated to P 44 N 34 u N 34 (u) N 22 (v) Basis function associated to P 42 L. Piegl «The NURBS Book» 24

25 B-Spline surfaces Properties of surface basis functions Extrema If p>0 and q>0, N ip u N qj v has a unique maximum. Continuity Inside rectangles formed by the nodes ui and vj, the SF are infinitely differentiable. At a node ui (resp. vj), N ip u N qj v is (p-k) (resp. (q-k) ) times differentiable, k being the node multiplicity ui (resp. vj) The continuity with respect to u (resp. v) depends solely on the nodal sequence U (resp. V). 25

26 B-Spline surfaces Properties of surface basis functions A consequence of properties of the 1D shape functions Non-negativity p q N i u N j v 0 i, j, p, q, u, v Partition of unity n m p q N u N i j v =1 u, v [u min, u max ] [v min, v max ] i=0 j=0 Compact support N ip (u) N qj (v)=0 outside (u, v) [ u i, u i+ p+ 1 [ [ v j, v j+ q+ 1 [ There are at most (p+1)(q+1) non zero SF in a given interval [ ui, ui 1 [ [ v j, v j 1 [. In particular N ip u N qj v 0 i 0 p i i 0 j 0 q j j

27 B-Spline surfaces Properties of surface basis functions Extrema If p>0 and q>0, N ip u N qj v has a unique maximum. Continuity Inside rectangles formed by the nodes ui and vj, the SF are infinitely differentiable. At a node ui (resp. vj), N ip u N qj v is (p-k) (resp. (q-k) ) times differentiable, k being the node multiplicity ui (resp. vj) The continuity with respect to u (resp. v) depends solely on the nodal sequence U (resp. V). 27

28 B-Spline surfaces N 32 u N 22 v N 34 u N 24 v U ={0, 0, 0,0,1, 2, 2, 2, 2} p=3 U ={0, 0, 0,0,1, 2, 3, 4, 5,6,6,6,6} V ={0,0, 0, 1, 2, 3, 3,3} q=2 V ={0, 0, 0,1, 2, 3, 4,5,6, 7, 7, 7} 28

29 B-Spline surfaces N 30 u N 28 v N 31 u N 27 v N 38 u N 28 v N 30 (u) N 20 (v) N 37 u N 27 v N 31 (u) N 12 (v) N 38 u N 20 v N 37 u N 21 v U ={0, 0, 0,0,1, 2, 3, 4, 5,6,6,6,6} p=3 V ={0,0, 0, 1, 2, 3, 4,5,6, 7, 7, 7} q=2 29

30 B-Spline surfaces Computation of a point on the surface 1 Find the nodal interval in which u is located u [ u i, u i 1 [ 2 Compute the non vanishing 1D shape functions p p N i u,, N p i u 3 Find the nodal interval in which v is located v [ v j, v j +1 [ 4 Compute the non vanishing 1D shape functions N qj q v,, N qj v 5 Multiply the SFs with the adequate control points S u, v = N kp u P kl N lq v k l i p k i, j q l j 30

31 B-Spline surfaces Control point Corresponding position at a couple (ui,vj) V ={0,0,0,1, 2,3,3, 3} p=2 U ={0,0,0,0,1, 2, 3, 3, 3, 3} q=3 Each coloured square has an independent polynomial expression 31

32 B-Spline surfaces U ={0, 0, 0,0,1, 2, 2, 2, 2} p=3 V ={0,0, 0, 1, 2, 3, 3,3} q=2 32

33 B-Spline surfaces Repetitions in the nodal sequence U or V Discontinuities along iso-v or iso-u U ={0, 0, 0,0, 2, 2, 2, 4, 4, 4, 4} p=3 V ={0,0, 0, 1.5,1.5, 3, 3,3} q=2 33

34 B-Spline surfaces Properties of the B-Spline surface Interpolate the 4 corners if the nodal sequences are of the form U ={0,, 0, u p 1,, ur p 1,1,,1 } p 1 p 1 V ={0,, 0, v q 1,, v s q 1,1,,1 } q 1 q 1 If the nodal sequences correspond to Bézier curves : U ={0,, 0,1,,1 } 0,1,,1 } V ={0,, p 1 p 1 q 1 q 1 then the surface is called a Bézier patch. 34

35 B-Spline surfaces Properties of the B-Spline surface The surface has the property of affine invariance (invariance by translation in particular) The convex hull of the control points contains the surface. In every interval (u, v) [ ui, ui +1 [ [ v j, v j +1 [, the portion of the surface is in the convex hull of the control points P ij, (i, j ) such that i 0 p i i 0 j 0 q j j Control points may have a local control There is no variation diminishing property ( on the contrary to B-Spline/Bézier curves) 35

36 B-Spline surfaces Isoparametrics Computation of isoparametrics is easy : Set u=u0 n m p q C u v =S u 0, v = N i u 0 N j v P ij 0 i=0 j=0 m q j j=0 n m = N v N u0 P ij = N qj v Q j u 0 i=0 p i j=0 n with Q j (u 0 )= N ip (u 0 ) P ij i=0 same with v=v0 n C v (u)=s (u, v 0 )= N ip (u)qi (v 0 ) m i=0 with Q i (v 0 )= N qj (v0 ) P ij 0 j=0 36

37 B-Spline surfaces Derivatives of a B-Spline surface k l S u, v We want to compute k l u v Differentiation of basis functions : n k l m k l p q S u, v = N u N i j v P ij k l k l u v i=0 j=0 u v n m = i=0 j=0 n m k l q p N i u l N j v P ij k u v p k = N i i=0 j=0 q l u N j v P ij 37

38 B-Spline surfaces Derivatives expressed as B-Spline surfaces Let's derive formally S with respect to u: m n S (u, v) = N qj (v) N ip (u) P ij u u i=0 j=0 ( ) m = N qj (v) C j (u) u j=0 ( ) n with C j (u)= N ip (u) P ij i=0 We want to apply equations seen for curves : 38

39 B-Spline surfaces n Derivatives of the curve C j u = N ip u P ij i=0 U ={u u m p,, u m } 0,, u p,, p+ 1 times p+ 1 times ' ' ' ' ' U ' ={u,, u,, u,, u } with u 0 p 1 m p 1 m 2 i =u i+ 1 p times p times n 1 P ' (u)= N ip 1 (u)qi with N ip 1 defined on U ' i=0 P i 1 j P ij Qi = p u i d 1 u i 1 39

40 B-Spline surfaces We obtain : n 1 m S u, v = N ip 1 u N qj v P 1,0 ij u i=0 j=0 with P (1,0) ij P i+ 1 j P ij =p u i+ p+ 1 u i+ 1 U ={u u m p,, u m } 0,, u p,, p+ 1 times p+ 1 times (1) (1) (1) (1) (1) U (1)={u,, u,, u,, u } with u 0 p 1 m p 1 m 2 i =u i+ 1, 0 i m 2 p times p times 40

41 B-Spline surfaces Let's derive formally S with respect to v: n m 1 S u, v 0,1 = N ip u N q 1 v P j ij v i=0 j=0 with P (0,1) ij P i j+ 1 P ij =q v j+ q+ 1 v j+ 1 V ={v v n q,, v n } 0,, v q,, q+ 1 times (1) (1) q+ 1 times (1) (1) (1) (1) V ={v v n q 1,, v n 2 } with v j =v j+ 1,0 j n 2 0,, v q 1,, q times q times 41

42 B-Spline surfaces Let's derive formally S with respect to u, then v: n 1 m 1 2 S u, v 1,1 = N ip 1 u N q 1 v P j ij u v i=0 j=0 (1,0) (1,0) P P i j+ 1 ij with P (1,1) =q ij v j+ q+ 1 v j+ 1 (1) (1) (1) (1) (1) U (1)={u,, u,, u,, u } with u 0 p 1 m p 1 m 2 i =u i+ 1, 0 i m 2 p times p times (1) (1) (1) (1) (1) V (1)={v,, v,, v,, v } with v 0 q 1 n q 1 n 2 j =v j+ 1, 0 j n 2 q times q times 42

43 B-Spline surfaces General case : n k m l k l S u, v p k q l k, l = N u N v P i j ij uk vl i=0 j=0 (k,l 1) (k, l 1) P i j+ 1 P ij (k, l ) with P ij =(q l+ 1) v j+ q+ 1 v j+ l (k ) (k ) (k ) (k ) (k ) U (k )={u,, u,, u,, u } with u 0 p k m p k m 2k i =u i+ k, 0 i m 2 k p+ 1 k times p+ 1 k times (l ) (l ) (l) (l) (l) V (l )={v,, v,, v,, v } with v 0 q l n q l n 2l j =v j+ l, 0 j n 2l q+ 1 l times q+ 1 l times The derivative vector of a B-Spline surface also is a BSpline surface... 43

44 B-Spline surfaces Periodic surfaces Like for the curves, possibility to close a B-Spline surface by transforming the nodal sequence According to one parameter (u or v) Cylindrical surfaces A single periodic nodal sequence Control points on both sides of the seam are doubled According to both parameters (u and v) Toroidal surfaces Two periodic nodal sequences Some control points are repeated 4 times! 44

45 B-Spline surfaces v u v u Pipe Möbius strip 45

46 B-Spline surfaces U ={ 3, 2, 1,0,1, 2,3, 4,5, 6,7,8, 9,10,11,12,13,14,15} p=3 46 V ={0, 0, 0,1, 2,3, 4,5,6,7,7, 7} p=2

47 B-Spline surfaces U ={ 3, 2, 1,0,1, 2,3, 4,5, 6,7,8, 9,10,11,12,13,14,15} p=3 47 V ={0, 0, 0,1, 2,3, 4,5,6,7,7, 7} p=2

48 B-Spline surfaces v u v u Tore Twisted Tore... 48

49 B-Spline surfaces 49

50 B-Spline surfaces 50

51 B-Spline surfaces U ={ 3, 2, 1,0,1, 2,3, 4,5, 6,7,8, 9,10,11,12,13,14,15} p=3 51 V ={ 2, 1, 0, 1, 2, 3, 4,5, 6, 7, 8,9} p=2

52 B-Spline surfaces v u Klein's bottle 52

53 B-Spline surfaces Some manipulations Insertion of nodes Extraction of iso-parametrics Calculation of the position of a point on the surface Subdivision of the surface Transformation into Bézier patches 53

54 B-Spline surfaces Insertion of nodes We insert nodes In a nodal sequence (U ou V) The new nodal sequence replace the old one The control points are modified If U is modified, every series of control points corresponding to v=cst is independently modified If V is modified, every series of control points corresponding to u=cst is independently modified We use Boehm's algorithm as for curves v V ={0,0,0,1, 2,3,3, 3} p=2 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 u 54

55 B-Spline surfaces Insertion of nodes in u U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0, 0, 0, 0, 0.4,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 55

56 B-Spline surfaces Insertion of nodes in v U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 0.4, 1, 2, 3, 3, 3} q=2 56

57 B-Spline surfaces Extraction of iso-parametrics using node insertion We must saturate one node in u=uiso (resp. in v=viso ). The new control points obtained by Boehm's algorithm do form the control polygon of the iso-parametric curve. The nodal sequence of this curve is V (resp. U ). 57

58 B-Spline surfaces Extraction of an isoparametric in u uiso=0.4 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0, 0, 0,0, 0.4, 0.4,0.4,1, 2, 3, 3,3,3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 58

59 B-Spline surfaces Extraction of an isoparametric in v viso=0.4 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 0.4, 0.4, 1, 2, 3, 3, 3} q=2 59

60 B-Spline surfaces Computation of the position of a point on the surface u=0.4 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 v=0.4 U ={0, 0, 0, 0, 0.4, 0.4, 0.4,1, 2, 3,3,3, 3} p=3 V ={0, 0, 0, 0.4, 0.4, 1, 2, 3, 3, 3} q=2 60

61 B-Spline surfaces Subdivision of the surface into independent patches U ={0.4, 0.4, 0.4, 0.4,1, 2, 3,3,3,3} p=3 V ={0.4,0.4,0.4,1, 2,3,3,3} p=2 U ={0, 0, 0, 0, 0.4, 0.4, 0.4, 0.4} p=3 V ={0,0,0,0.4,0.4,0.4 } p=2 U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0.4, 0.4, 0.4, 0.4,1, 2, 3,3,3,3} p=3 V ={0, 0, 0, 0.4, 0.4, 0.4} q=2 61

62 B-Spline surfaces Subdivision into Bézier patches... one must saturate every node of each nodal sequence U and V U ={0, 0, 0, 0,1, 2,3,3,3, 3} p=3 V ={0, 0, 0, 1, 2, 3, 3, 3} q=2 U ={0, 0, 0,0,1, 1, 1, 2, 2, 2, 3, 3, 3, 3} p=3 V ={0, 0, 0, 1,1, 2, 2, 3, 3, 3} q=2 62

63 B-Spline surfaces Continuity requirements for surfaces C1 vs C2 becomes visible when light interaction comes into play 63

64 CAD Surfaces Bézier triangle 64

65 Bézier triangle Need for specific topology Box corner aka «coin de valise» (in French) S. Hahmann 65

66 Bézier triangle There are several techniques to model the corner It's more difficult than one thinks... On may take a regular patch with 4 sides and «limit» it by a triangle in the parametric space Problem : The surface in question is not built with the control points of the other surfaces, so any continuity is difficult to enforce (minimization of a non linear functional) v u 66

67 Bézier triangle Degenerated quadrangular patch Normals and derivatives are undefined at the singular point 67

68 Bézier triangle 68

69 Bézier triangle Triangular B-splines 1992 : works of Dahmen, Micchelli et Seidel W. Dahmen, C.A. Micchelli and H.P. Seidel, Blossoming begets BSplines built better by B-patches, Mathematics of Computation, 59 (199), pp , 1992 Extension of the definition of B-Splines on triangular surfaces of any topology Network of control points «Mesh» of non structured topology instead of a structured network as for B-splines surfaces Complex and not usually not implemented in current CAD software, therefore not a standard tool. 69

70 Bézier triangle Triangular Bézier Surfaces Example : surface of order 3 70

71 Bézier triangle a Barycentric coordinates p=u a v b w c u v w=1 p b Affine invariance 0 u, v, w 1 p is in the triangle u= c area ( p, b, c) area ( p, c, a) area ( p, a, b) v= w= area (a, b, c) area (a, b,c) area (a, b, c) 71

72 Bézier triangle Barycentric coordinates a w v w u b w v p u u v c 72

73 Bézier triangle Decomposition of the Bézier triangle Defined by the control points Pi,j,k Degree d : i+j+k=d Example with d=3 P0,3,0 P0,2,1 P1,2,0 P0,1,2 P1,1,1 P2,1,0 P0,0,3 P1,0,2 P2,0,1 P3,0,0 P0,0,3 Overall, d 2 d 1 control points. 2 P0,3,0 P1,2,0 P3,0,0 73

74 Bézier triangle De Casteljau's algorithm on the Bézier triangle The Pi,j,k are given We want to compute P(u,v,w) with u+v+w=1 We follow the following algorithm : initialize P 0i, j, k u, v, w = P i, j, k for r from 1 to d and for every triplet (i,j,k) s.t. i+j+k=d-r r r 1 r 1 r 1 P i, j, k u, v, w =u P i 1, j, k v P i, j 1, k w P i, j, k 1 The point on the surface is the last point : d P u, v, w = P 0,0,0 u, v, w 74

75 Bézier triangle De Casteljau's algorithm on the Bézier triangle d P 0,0,0 u, v, w 75

76 Bézier triangle Characteristics of the Bézier triangle Affine invariance Contained in the convex hull of the control points Interpolation of extremal vertices Edges of the Bézier triangle are in fact Bézier curves Algebraic form : another form of Bernstein polynomials P u, v, w = i j k =d with (recurrence) B d i, j,k B id, j, k u, v, w P i, j, k d! i j k u, v, w = uv w i! j!k! d 1 d 1 d 1 B id, j, k u, v, w =ub i 1, vb wb j,k i, j 1, k i, j, k 1 0 B 0,0,0 u, v, w =1 76

77 Bézier triangle Characteristics (following) On the contrary to tensor product surfaces, the Bézier triangle is variation diminishing. 77

78 Bézier triangle Degree elevation The Pi,j,k are given, we search the P' i,j,k corresponding to the same surface of degree d+1 Forrest's relations for the Bézier triangle P 'i, j, k = 1 i P i 1, j, k j P i, j 1, k k P i, j, k 1 d 1 B id, 1j, k u, v, w P 'i, j, k i j k =d 1 = B id, j, k u, v, w P i, j, k P u, v, w = i j k =d 78

79 Bézier triangle Subdivision 79

80 Bézier triangle Derivatives For tensor product surfaces, partial derivatives are computed along u=const or v=const Here, we express directional derivatives for u=const; v=const or w=const. - these are not partial derivatives! P u, v tdv, w tdw P u, v, w D u P u, v, w =lim t t 0 80

81 Bézier triangle Case of a surfaces of degree 3 P 0,1,0 = P 0,3,0 P0,3,0 D u P u, v, w 0,1,0 =3 P 0,2,1 P 0,3,0 P0,2,1 P1,2,0 D v P u, v, w 0,1,0 =3 P 1,2,0 P 0,2,1 P0,1,2 P1,1,1 P2,1,0 P0,0,3 P1,0,2 P2,0,1 P3,0,0 D w ( P (u, v, w))(0,1,0)=3( P 1,2,0 P 0,3,0 ) D uu P u, v, w 0,1,0 =6 P 0,1,2 2P 0,2,1 P 0,3,0 D vv P u, v, w 0,1,0 =6 P 2,1,0 2P1,1,1 P 0,1,2 Same at other corners D ww P u, v, w 0,1,0 =6 P 2,1,0 2P 1,2,0 P 0,3,0 D uv P u, v, w 0,1,0 =6 P 1,1,1 P 0,2,1 P 0,1,2 P 1,2,0 D uw P u, v, w 0,1,0 =6 P 1,1,1 P 0,3,0 P 0,2,1 P 1,2,0 D vw P u, v, w 0,1,0 =6 P 2,1,0 P 0,2,1 P 1,2,0 P 1,1,1 81

82 CAD Surfaces NURBS surfaces

83 NURBS surfaces Definition and properties

84 NURBS surfaces NURBS surfaces As for rational curves, a weight is used (homogeneous coordinates) n w m p q w S u, v = N i u N j v P ij i=0 j=0 U ={0,, 0, u p+ 1,, ur p 1,1,,1 } p+ 1 p+ 1 V ={0,, 0, v q+ 1,, v s q 1, 1,,1 } q+ 1 x ij w ij P w y w P wij = ij ij = ij ij w ij z ij w ij w ij ( r+ 1 nodes, r=n+ p+ 1) (s+ 1 nodes, s=m+ q+ 1) q+ 1 We have the equivalence [wx, wy, wy, w ] [ x, y, z,1] n m N ip u N qj v P ij w ij S u, v = i=0n j=0m p q N k u N l v w kl k =0 l=0 w 0

85 NURBS surfaces NURBS Basis functions n m N ip u N qj v P ij w ij S u, v = i=0 j=0 n m p q N k u N l v w kl k =0 l=0 N ip u N qj v w ij p,q R ij u, v = n m p q N k u N l v w kl k =0 l =0 n m R ijp, q u, v P ij i=0 j=0

86 NURBS surfaces Properties of basis functions of 3D NURBS Partition of unity n m Rijp, q u, v =1 i=0 j=0 Positivity (if the w are positive) R ijp, q u, v 0 NO property of tensor product R ijp, q u, v Rip u R qj v except if the weights are all equal w ij =a 0 i, j {0 n} {0 m} R ijp, q u, v = N ip u N qj v

87 NURBS surfaces Properties of basis functions of 3D NURBS Compact support R ijp, q u, v =0 si u, v [ u i, u i p 1 [ [ v j, v j q 1 [ At the most (p+1)(q+1) non zero basis functions on an interval [ ui0, ui0 1 [ [ v j0, v j0 1 [ : R ijp, q u, v 0 si i, j {i0 p i0 } { j0 q j0} R ijp, q u, v has exactly a maximum if p>0 et q>0. If the nodal sequences with p+1 and q+1 repetitions : p,q p,q p,q p,q R 00 u, v =1, R n0 u, v =1, R0m u, v =1, R nm u, v =1 Infinitely differentiable functions for u {ui } and v {v j } otherwise they are (p-ku) times differentiable (direction u) and/or (q-kv) times differentiable (direction v)

88 NURBS surfaces Effect of the weight on a shape U ={0, 0,0, 0, 1, 2,3, 4, 4, 4, 4} V ={0, 0,0,1, 2, 3,3,3}

89 NURBS surfaces Effect of the weight on a shape w=1 w=2 w=5 w=10

90 NURBS surfaces Effect of the weight on a shape w=1 w=0.5 w=0.2 w=0.1

91 NURBS surfaces Derivatives of a NURBS surface It is easy to compute the derivatives in the space of homogeneous coordinates (4D) but...we obviously want derivatives in the 3D space... n m p q N i u N j v P ij w ij S u, v = i=0n j=0m N kp u N ql v w kl k =0 l=0 S u, v = A u, v w u, v A(u, v) w(u, v) S (u, v) S (u, v) α α =, α=u or v α w(u, v)

92 NURBS surfaces With a recursion, it is possible to show that : k +l k k +l i ( k i)+l S 1 A S k w = u k v l w u k v l i=1 i u i u k i v l ( l j () k +(l j) S l w j v j uk vl j () k l w + ( ) ( ) i j u v u j=1 k i=1 n! n = k k! n k! l j=1 i+ j i (k i)+(l j) j k i v S l j )

93 NURBS surfaces Second derivative 2 S 1 2 A 2 w w S w S = S u v w u v u v u v v u 2 S 1 2 A 2 w w S = S 2 u u u 2 w u 2 u2 2 S 1 2 A 2 w w S = S 2 v v v2 w v 2 v 2

94 CAD Surfaces Subdivision surfaces 94

95 Subdivision surfaces Parametric surfaces: an explicit representation Lightweight Discretization algorithms are non trivial... but it is necessary for display purposes and in computer graphics Generally, these surfaces are used in cases where the geometric accuracy is essential, as in the computation of intersections and other precise geometric primitives Modelling operators are not trivial In computer graphics, such accuracy is generally not needed. 95

96 Subdivision surfaces Subdivision surfaces Modelling basis = elementary mesh By successive iterations, this mesh is refined up to the accuracy needed for the application It is more like an algorithmic description vs. an algebraic representation, because the algorithm that is used to subdivide the mesh determines the final shape and the properties of the limiting surface (ie. when the number of subdivisions tends to the infinite) Some of these limiting surfaces are equivalent to regular parametric surfaces, therefore have the same accuracy. 96

97 Subdivision surfaces History 1974 George Chaikin An algorithm for high speed curve generation 1978 Daniel Doo & Malcolm Sabin (D) A subdivision algorithm for smoothing irregularly shaped polyhedrons (D&S) Behaviour of recursive division surfaces near extraordinary points Edwin Catmull & Jim Clark Recursively generated B-Spline surfaces on arbitrary topological meshes 1987 Charles Loop Smooth subdivision surfaces based on triangles 2000 Leif Kobbelt 3 subdivision (interpolating scheme) 97

98 Subdivision surfaces Chaikin's scheme George Chaikin, An algorithm for high speed curve generation, Computer graphics and Image Processing 3 (1974),

99 Subdivision surfaces Chaikin's scheme or «Corner-cutting» 99

100 Subdivision surfaces Chaikin's scheme Chaikin's idea was simple : repeating the corner cutting, to the limit, one obtains a smooth curve 100

101 Subdivision surfaces Chaikin's scheme Starting from a polygon having n vertices {P0,P1, Pn-1}, one builds the polygon having 2n vertices {Q0,R0,Q1,R1, Qn-1,Rn-1}. This polygon serves as a basis for the next step of the algorithm : {P'0,P'1, P'2n-1} The new vertices are : P0 Q0 R0 3 1 Qi = P i P i Ri = P i P i P1 Q1 Pn R1 Rn-1 Qn-1 Pn-1 101

102 Subdivision surfaces Chaikin's scheme Riesenfeld (1978) has shown that this algorithm leads at the limit to an uniform quadratic B-spline, which exhibits a C1 continuity. P0 Q0 R0 3 1 Q i = P i P i Ri = P i P i P1 Q1 Pn R1 Rn-1 Qn-1 Pn-1 102

103 Subdivision surfaces Demonstration of the equivalence of Chaikin's scheme and uniform quadratic B-Splines The B-Spline curve is defined n by : P u = P i N 2i u i=0 u u i u i 3 u 1 1 N u = N i u N i 1 u u i 2 u i u i 3 u i 1 2 i 1 N i u = N 0i (u)= u u i u i 2 u 0 0 N i u N i 1 u u i 1 u i u i 2 u i 1 1 if 0 otherwise { u i u<u i+1 U ={u 0,, u n 2 }, u i 1 u i =1, i=0 n 1 103

104 Subdivision surfaces It can be rewritten as an assembly of curve parts : n 2 i n 2 «Portion» of curve P u = P i N u = P k u i=0 k =0 Pk with P k u =[1 u u ] M k P k 1 P k 2 2 [ ] The matrix Mk depends on the nodal sequence U. P1 P3 P4 P2(u) P0(u) P0 P1(u) P2 104

105 Subdivision surfaces Computation of shape functions of degree d 2 for u2= 0 u u3=1 U ={u 0 = 2, u 1 = 1, u 2 =0,u 3 =1,u 4 =2, u 5=3} 0 N 0= N =0 0 N =1 u N =u 0 N =0 N 1 =0 0 N 2 =1 N 3 =0 N 4 =0 General case : M k = with : =u k 3 u k 1 =u k 4 u k 2 1 u k +3 u k + 2 [ 1 N 20 = 1 2 u u N 12 = 1 2 u 2 u N 22 = u Therefore, M 0 = [ 2 u k +3 α u k +3 2 α 1 α 2 u k + 3 u k +1 u k +4 u k + 2 uk+2 α β β u k +3 +u k +1 u k +4 +u k + 2 u k β α β α β β ] ] 105

106 Subdivision surfaces Binary subdivision of a B-Spline curve for 0 u 1 One has to find the new set of control points for each halves of the curve We set n=2 (number of control points -1) P0 P u =[1 u u ] M P 1 P2 2 [] M = [ One wants to express P[0,1 /2] u and P[1 /2,1] u - on each subdivision, the parameter u shall be in between 0 and 1. P0 ] P1 P[0,1 /2] u P[1 /2,1] u P2 106

107 Subdivision surfaces Case of P[0,1 /2] u P0 P[0,1 /2] u = P u/ 2 =[1 u /2 u / 4] M P 1 P2 2 [] ] [] P =[1 u u ] 0 1/2 0 M P /4 P2 2 [ P =[1 u u ] M M 0 1/ 2 0 M P /4 P2 2 ] [] [] [] [ 1 Q0 =[1 u u ] M Q1 Q2 2 [ avec Q0 P Q1 =M 0 1/ 2 0 M P / 4 Q2 P2 ] [] S [0,1 /2] 107

108 Subdivision surfaces Case of P[1 /2,1] u P0 P[1 /2,1] u = P 1 u / 2 =[1 1 u /2 1 u / 4] M P 1 P2 2 [] P0 1 1/2 1/4 =[1 u u ] 0 1/2 1/2 M P /4 P2 2 [ ] [] [ ] [] [] [] [ P0 1 1/2 1/ 4 =[1 u u ] M M 0 1/2 1/ 2 M P / 4 P2 2 1 R0 =[1 u u ] M R 1 R2 2 avec R0 P0 1 1/ 2 1/4 1 R 1 =M 0 1/ 2 1/2 M P /4 R2 P2 ] [] S [1/ 2,1] 108

109 Subdivision surfaces Finally, Q0 P0 Q1 =S [ 0,1/2] P 1 Q2 P S [0,1/ 2]=M 0 1/ 2 0 M = / Q0 3 P 0 P 1 1 Q1 = P 0 3 P 1 4 Q2 3 P 1 P 2 R0 P0 R 1 =S [1/ 2,1] P 1 R2 P2 1 1/ 2 1/ S [1/ 2,1]=M 0 1/ 2 1/ 2 M = / R0 P 3 P R 1 = 3 P 1 P 2 4 R2 P 1 3 P 2 [] [] [] [] 1 1 [ [ ] [ ] [] [ ] ] [ ] [] [ ] P1 Q1 = R 0 Q2= R1 Q0 P0 One finds the same coefficients as in Chaikin's scheme... (except for the indices) R2 P[0,1 /2] u P[1 /2,1] u P2 3 1 Qi = P i P i Ri = P i P i

110 Subdivision surfaces This can be extended to cubic B-Splines C2 continuity 1 1 E i = P i P i V i = P i P i 1 P i P1 P0 E0 V0 E1 Pn V1 En-1 Pn-1 110

111 Subdivision surfaces Doo-Sabin scheme This is an extension of Chaikin's scheme for a uniform biquadratic BSpline surface The new mesh is built using the control points resulting from the subdivision of the original patch into 4 new sub-patches. P02 P00 S1(u,v) S (u,v) 3 S2(u,v) P20 S4(u,v) P22 111

112 Subdivision surfaces Expression of the bi-quadratic patch as a monomial form for 0 u 1 and 0 v 1: N t = 1 2 t t S u, v = N i u N j v P ij 1 i=0 j=0 (with t = u or v ) N 21 t = 1 2 t 2t 2 2 U =V ={ 2, 1,0,1,2,3} 1 N 22 t = t 2 2 P 0 v P02 2 P00 S u, v =[1 u u ] M P 1 v v P 2 v u P 00 P 01 P 02 1 T S u, v =[1 u u ] M P 10 P 11 P 12 M v 2 v P 20 P 21 P 22 2 P20 [ ] [ ] [] P Again, M = [ ] 112

113 Subdivision surfaces Subdivision - patch S1(u,v) 1 S 1 u, v =S u/ 2, v / 2 =[1 u /2 u /4] M P M v /2 2 v /4 P 00 P 01 P 02 P= P 10 P 11 P 12 P 20 P 21 P 22 1 S 1 u, v =S u/ 2, v / 2 =[1 u u ] C M P M C v 2 v C= 0 1/ / 4 2 T 2 P02 S1(u,v) P20 P22 [ T ] ] 1 =[1 u u ] M M C M P M C ( M ) M v 2 v T T =[1 u u ] M ( M C M ) P ( M C M ) M v 2 v 1 2 T =[1 u u ] M P ' M v P ' =S P S T S =M 1 C M v P00 T [ [ ] [] T 1 [] T 1 T T [] []

114 Subdivision surfaces P02 P00 Finally, P ' =S P S T P' S =M C M = [ ] ][ ] P 00 P 01 P P'= P 10 P 11 P P 20 P 21 P [ ][ P'20 P'02 S1(u,v) P'22 P20 3(3 P 00 + P 10 )+3 P 01 + P 11 3 P 00 + P 10 +3(3 P 01+ P 11) 3(3 P 01 + P 11 )+3 P 02 + P 12 1 P'= 3( P P 10 )+ P P 11 P P 10 +3( P P 11) 3( P P 11 )+ P P (3 P 10 + P 20 )+3 P 11 + P 21 3 P 10 + P 20 +3(3 P 11 + P 21) 3(3 P 11 + P 21)+3 P 12 + P 22 [ Same developments should be done with the 3 other quadrants, and will lead to the same structure P22 ] 114

115 Subdivision surfaces Subdivision - patch S2(u,v) P 00 P 01 P 02 P= P 10 P 11 P 12 P 20 P 21 P 22 [ ] [ [] 1 2 T S 2 (u, v )=S (u/ 2,(1+v)/2)=[1 u/2 u /4] M P M (1+v)/ 2 (1+v)2 / 4 ] 1 S 2 (u, v )=S (u/ 2,(1+v)/2)=[1 u u ] C u M P M C v v2 2 T C u = 0 1/ / 4 [ T v 1 1/2 1/4 C v= 0 1/2 1/ /4 [ ] 1 =[1 u u ] M ( M C u M ) P ( M C v M ) M v v2 1 T 1 2 T Q ' =S u P S v S u =M C u M =[1 u u ] M Q ' M v 2 v S v= M 1 C v M [] T T ] [] 115

116 Subdivision surfaces T Q ' =S u P S v S u =M C u M = [ ] [ ] ][ ] Q'00 S2(u,v) S v= M C v M = P 00 P 01 P Q '= P 10 P 11 P P 20 P 21 P [ ][ P02 P00 Q'02 Q'20 Q'22 P20 P22 Some of the points (2) are already computed, e.g. Q ' 00 =3( P P 01)+ P P 11 ( =P ' 01=3 P 00 + P 10 +3(3 P 01 + P 11 ) ) 116

117 Subdivision surfaces Extension to meshes showing an arbitrary topology P00 P20 P02 P22 The new vertices are obtained as a simple arithmetic mean of 3 categories of vertices : The vertices of the old mesh Vertices on the edges (barycentre of the extremities of the edge) Vertices inside a face (barycentre of the vertices of the face) 117

118 Subdivision surfaces Extension to meshes showing an arbitrary topology 1 Computation of the vertices P' (for each vertex P, compute the mean between P, the vertices on the adjacent faces, and the vertices on adjacent edges) 118

119 Subdivision surfaces Extension to meshes showing an arbitrary topology 2 For each face, link the corresponding vertices P' 119

120 Subdivision surfaces Extension to meshes showing an arbitrary topology 3 For each old vertex, connect the new ones that have been created for each adjacent face to this old vertex. 120

121 Subdivision surfaces Extension to meshes showing an arbitrary topology 4 For each old edge, connect the new vertices that have been created for each adjacent face to this old edge. 121

122 Subdivision surfaces Some points on the mesh and the limiting surface are «extraordinary» These are vertices with a valence (number of incident edges) that is different from 4. Everywhere the continuity of the limiting surface is C1 ; except at extraordinary points, where it decreases to C0. Image : wikipedia 122

123 Subdivision surfaces Catmull-Clark scheme Similar idea for bicubic B-Splines ( proof : Jos Stam, Siggraph 1998) P00 P03 P30 P33 123

124 Subdivision surfaces Three types of vertices - «Face» vertices are at the barycentre of the vertices of that face: P f =Q - «Edge» vertices are at the barycentre of the extremities of the edge and the two «Face» vertices of the adjacent faces : Q R P e= 2 - «Corner» vertices are positioned such that : Q 2 R n 3 S Pv= n Q = mean of the barycentre of the incident faces R = mean of the barycentre of the incident edges S = original vertex n = number of incident edges to S (Valence) «face» vertices «edge» vertices «corner» vertices 124

125 Subdivision surfaces 1/4 1/4 6/64 1/4 Face vertex 1/16 6/16 1/16 1/4 36/64 1/16 6/16 1/16 Edge vertex 1/64 6/64 1/100 6/100 6/100 65/100 6/36 1/36 15/36 6/36 Corner vertex (depends on the valence) 125

126 Subdivision surfaces Reconnecting the new vertices 1 Connect the «face» vertices to the «edge» vertices of neighbouring edges 2 Connect the «corner» vertices to the «edge» vertices of incident edges Images : Ken Joy - UCLA 126

127 Subdivision surfaces As with Doo-Sabin surface, the continuity is degraded for some extraordinary vertices. The bicubic surfaces are therefore C2 everywhere except at extraordinary points : it is then only C1. Images : Imorasa Suzuki 127

128 Subdivision surfaces Loop's scheme Allows to subdivide triangular meshes The limiting surface is C2, except at extraordinary vertices of valence <>6, where it is only C1. The principle is to subdivide triangles into 4 sub-triangles. Corner 1vertices (black) and1 edge vertices (red) are created V E V 1= 10 V +Q 1+Q 2 +Q3 +Q 4 +Q 5 +Q = V+ Q 8 8 E 1= 6 V 1 +6 V 2 +2 F F

129 Subdivision surfaces As such, works only for vertices with a valence equal to 6 It may be extended to other valences, but the formula has to be adapted such that the resulting surface is smooth. Let V 1 =α n V +(1 α n )Q 3 1 3π 2 3 with α n = + cos n 8 ( ) n is the valence of the original vertex. On boundaries : vertices should not move inside the surface, they should rather slide along the boundary. One recovers the classical cubic B-Spline scheme in that case E 1= 11 1 E V V 1 +V 2 2 * 1 Q +Q 6 V 1= V * 2 (only if the vertices are neighbours on the boundary) 129

130 Subdivision surfaces Loop's scheme 130

131 Subdivision surfaces Kobbelt's 3 scheme See paper on the course's website For a similar level of refinement, it generates less triangles than Loop's scheme 131

132 Subdivision surfaces Subdivision surfaces in CATIA A very easyto-use design tool As S-s are equivalent to some class of B-Spline surfaces, they retain a good degree of accuracy CATIA Shape module Imagine Shape (IMA) tool 132

133 Subdivision surfaces and in NX A very easyto-use design tool As S-s are equivalent to some class of B-Spline surfaces, they retain a good degree of accuracy NX Realize shape tool 133

134 Architectural applications Catia in architecture Frank O. Gehry (Fish sculpture, Barcelona,1992) 134

135 Architectural applications Catia in architecture Frank O. Gehry (Guggenheim museum, Bilbao,1997) 135

136 Architectural applications Catia in architecture Frank O. Gehry (Guggenheim museum, Bilbao,1997) 136

137 Architectural applications Catia in architecture Frank O. Gehry (Walt Disney concert hall, Los Angeles,2003) Carol M. Highsmith 137

138 Splines of all kinds Zoo of Splines... Lg-splines Analytic splines Parabolic Arc splines Beta splines B-splines Bernoulli splines Box splines Cardinal splines Circular splines Complete splines Nu-splines Natural splines L-splines Whittaker splines Nonlinear splines Dm splines Discrete splines Euler splines Exponential splines Gamma splines GB-splines HB-splines Hyperbolic Splines Complete Monosplines Tchebycheffian splines Tension splines Trigonometric splines Bézier splines One-sided splines Parabolic splines Perfect splines Periodic splines Poly-splines Rational splines Simplex splines Spherical splines Taut splines Complex splines Confined splines Deficient splines Thin plate splines 138

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

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

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Curve and Surface Basics

Curve and Surface Basics Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

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

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t) Advanced Modeling 2 Katja Bühler, Andrej Varchola, Eduard Gröller March 24, 2014 1 Parametric Representations A parametric curve in E 3 is given by x(t) c : c(t) = y(t) ; t I = [a, b] R z(t) where x(t),

More information

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic

More information

Subdivision Curves and Surfaces: An Introduction

Subdivision Curves and Surfaces: An Introduction Subdivision Curves and Surfaces: An Introduction Corner Cutting De Casteljau s and de Boor s algorithms all use corner-cutting procedures. Corner cutting can be local or non-local. A cut is local if it

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

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

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

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

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

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

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

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

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

Spline Surfaces, Subdivision Surfaces

Spline Surfaces, Subdivision Surfaces CS-C3100 Computer Graphics Spline Surfaces, Subdivision Surfaces vectorportal.com Trivia Assignment 1 due this Sunday! Feedback on the starter code, difficulty, etc., much appreciated Put in your README

More information

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati Subdivision Surfaces Surfaces Having arbitrary Topologies Tensor Product Surfaces Non Tensor Surfaces We can t find u-curves and v-curves in general surfaces General Subdivision Coarse mesh Subdivision

More information

Subdivision Curves and Surfaces

Subdivision Curves and Surfaces Subdivision Surfaces or How to Generate a Smooth Mesh?? Subdivision Curves and Surfaces Subdivision given polyline(2d)/mesh(3d) recursively modify & add vertices to achieve smooth curve/surface Each iteration

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

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 9 15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

More information

Curve Corner Cutting

Curve Corner Cutting Subdivision ision Techniqueses Spring 2010 1 Curve Corner Cutting Take two points on different edges of a polygon and join them with a line segment. Then, use this line segment to replace all vertices

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

Information Coding / Computer Graphics, ISY, LiTH. Splines

Information Coding / Computer Graphics, ISY, LiTH. Splines 28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

More information

Curves and Surfaces 2

Curves and Surfaces 2 Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision

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

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

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial

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

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

3D Modeling techniques

3D Modeling techniques 3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists

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

Need for Parametric Equations

Need for Parametric Equations Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need

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

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

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

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

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT On-Line Geometric Modeling Notes QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

Splines. Connecting the Dots

Splines. Connecting the Dots Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More

More information

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Curves and Curved Surfaces Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface

More information

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier B-spline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until

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

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

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes) Non-Uniform Recursive Doo-Sabin Surfaces Zhangjin Huang 1 Guoping Wang 2 1 University of Science and Technology of China 2 Peking University, China SIAM Conference on Geometric and Physical Modeling Doo-Sabin

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

Bézier and B-spline volumes Project of Dissertation

Bézier and B-spline volumes Project of Dissertation Department of Algebra, Geometry and Didactics of Mathematics Faculty of Mathemathics, Physics and Informatics Comenius University, Bratislava Bézier and B-spline volumes Project of Dissertation Martin

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

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Subdivision Surfaces Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd NURBS patches aren t the greatest NURBS patches are nxm, forming

More information

(Spline, Bezier, B-Spline)

(Spline, Bezier, B-Spline) (Spline, Bezier, B-Spline) Spline Drafting terminology Spline is a flexible strip that is easily flexed to pass through a series of design points (control points) to produce a smooth curve. Spline curve

More information

Discrete Coons patches

Discrete Coons patches Computer Aided Geometric Design 16 (1999) 691 700 Discrete Coons patches Gerald Farin a,, Dianne Hansford b,1 a Computer Science and Engineering, Arizona State University, Tempe, AZ 85287-5406, USA b NURBS

More information

Figure 5.1: Spline and ducks.

Figure 5.1: Spline and ducks. Chapter 5 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 segments that are connected together to form a single continuous

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

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches Homework 1: Questions/Comments? Subdivision Surfaces Last Time? Curves & Surfaces Continuity Definitions Spline Surfaces / Patches Tensor Product Bilinear Patches Bezier Patches Trimming Curves C0, G1,

More information

Geometric modeling 1

Geometric modeling 1 Geometric Modeling 1 Look around the room. To make a 3D model of a room requires modeling every single object you can see. Leaving out smaller objects (clutter) makes the room seem sterile and unrealistic

More information

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products

More information

Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches

Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches Fuhua Frank Cheng,GangChen, and Jun-Hai Yong University of Kentucky, Lexington, KY, USA Tsinghua University, Beijing,

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

G 2 Bezier Crust on Quad Subdivision Surfaces

G 2 Bezier Crust on Quad Subdivision Surfaces Pacific Graphics (2013) B. Levy, X. Tong, and K. Yin (Editors) Short Papers G 2 Bezier Crust on Quad Subdivision Surfaces paper 1348 Figure 1: Two examples of Bezier crust applied on Catmull-Clark subdivision

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

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

Freeform Curves on Spheres of Arbitrary Dimension

Freeform Curves on Spheres of Arbitrary Dimension Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures

More information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

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

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

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

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces Using Semi-Regular 8 Meshes for Subdivision Surfaces Luiz Velho IMPA Instituto de Matemática Pura e Aplicada Abstract. Semi-regular 8 meshes are refinable triangulated quadrangulations. They provide a

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

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

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015 Subdivision curves and surfaces Brian Curless CSE 557 Fall 2015 1 Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications, 1996, section 6.1-6.3, 10.2,

More information

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin. Technical Report UCAM-CL-TR-689 ISSN 1476-2986 Number 689 Computer Laboratory Removing polar rendering artifacts in subdivision surfaces Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin June 2007

More information

Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

More information

Smooth Multi-Sided Blending of bi-2 Splines

Smooth Multi-Sided Blending of bi-2 Splines Smooth Multi-Sided Blending of bi-2 Splines Kȩstutis Karčiauskas Jörg Peters Vilnius University University of Florida K. Karčiauskas, J. Peters (VU, UF) SMI14: Bi-3/4 Caps for bi-2 Splines 1 / 18 Quad

More information

Subdivision overview

Subdivision overview Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1 Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners

More information

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.

More information

Curves. Computer Graphics CSE 167 Lecture 11

Curves. Computer Graphics CSE 167 Lecture 11 Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen

More information

Evaluation of Loop Subdivision Surfaces

Evaluation of Loop Subdivision Surfaces Evaluation of Loop Subdivision Surfaces Jos Stam Alias wavefront, Inc. 8 Third Ave, 8th Floor, Seattle, WA 980, U.S.A. jstam@aw.sgi.com Abstract This paper describes a technique to evaluate Loop subdivision

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

Linear Precision for Parametric Patches

Linear Precision for Parametric Patches Department of Mathematics Texas A&M University March 30, 2007 / Texas A&M University Algebraic Geometry and Geometric modeling Geometric modeling uses polynomials to build computer models for industrial

More information

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Shape modeling Modeling technique Shape representation! 3D Graphics   Modeling Techniques D Graphics http://chamilo2.grenet.fr/inp/courses/ensimag4mmgd6/ Shape Modeling technique Shape representation! Part : Basic techniques. Projective rendering pipeline 2. Procedural Modeling techniques Shape

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

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Further Graphics Bezier Curves and Surfaces Alex Benton, University of Cambridge alex@bentonian.com 1 Supported in part by Google UK, Ltd CAD, CAM, and a new motivation: shiny things Expensive products

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

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland) Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews

More information

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html

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

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse? Homework 1: Questions/Comments? Subdivision Surfaces Questions on Homework? Last Time? What s an illegal edge collapse? Curves & Surfaces Continuity Definitions 2 3 C0, G1, C1, C 1 a b 4 Interpolation

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

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Review of Tuesday. ECS 175 Chapter 3: Object Representation Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday

More information

Removing Polar Rendering Artifacts in Subdivision Surfaces

Removing Polar Rendering Artifacts in Subdivision Surfaces This is an electronic version of an article published in Journal of Graphics, GPU, and Game Tools, Volume 14, Issue 2 pp. 61-76, DOI: 10.1080/2151237X.2009.10129278. The Journal of Graphics, GPU, and Game

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

Subdivision Surfaces. Homework 1: Questions/Comments?

Subdivision Surfaces. Homework 1: Questions/Comments? Subdivision Surfaces Homework 1: Questions/Comments? 1 Questions on Homework? What s an illegal edge collapse? 1 2 3 a b 4 7 To be legal, the ring of vertex neighbors must be unique (have no duplicates)!

More information

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline

More information

On-Line Geometric Modeling Notes REFINEMENT

On-Line Geometric Modeling Notes REFINEMENT On-Line Geometric Modeling Notes REFINEMENT Kenneth I Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview Bézier curves, B-spline curves

More information

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces David L. Finn Today, we continue our discussion of subdivision surfaces, by first looking in more detail at the midpoint method and

More information

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK 1 An analysis of the problem: To get the curve constructed, how many knots are needed? Consider the following case: So, to interpolate (n +1) data points, one needs (n +7) knots,, for a uniform cubic B-spline

More information

Computer Graphics Spline and Surfaces

Computer Graphics Spline and Surfaces Computer Graphics 2016 10. Spline and Surfaces Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-12-05 Outline! Introduction! Bézier curve and surface! NURBS curve and surface! subdivision

More information