Types of Curves. Lecture 7. Parametric Curves. Plane Curves. - Not flexible enough, e.g. Circle. - e.g: ax+by+c = 0, x2 +y 2 -c 2 = 0

Size: px
Start display at page:

Download "Types of Curves. Lecture 7. Parametric Curves. Plane Curves. - Not flexible enough, e.g. Circle. - e.g: ax+by+c = 0, x2 +y 2 -c 2 = 0"

Transcription

1 Lecture 7 Curves/Surfaces Types of Curves Graph of a function : y = f(x e.g: y = ax3 +bx 2 +cx+d - Not flexible enough, e.g. Circle Implicit : f(x,y =0 - e.g: ax+by+c = 0, x2 +y 2 -c 2 = 0 Parametric: x=f x(t, y=fy(t e.g: x = a x+bxt, y = ay+byt; - x = cos(t, y = sin(t Most common - at least in Graphics - Parametric Curves Plane Curves You can think of the free parameter t as time. Then the parametric equation of a curve gives you the position(x,y of your pen at time t x = f x(t, y= fy(t How do we choose functions f x(t and fy(t?

2 ./-/0'-2%23-4'*./(0'(*% *6,3:9%5'%*0,,6%A(3,(C%8%?'%F,,0%(% *6,3:9%:,,K%:K'%/%*-/76%:('B$%,-%>'2'?*'%*0,, &'-7/7'*%,8%9'%:,,-6(/'*%6'8('%9'%/(0'(; >34 % 6 6=34 6 & # /(0'(%<% = $ $ " vector?,';%9'%@'(09%,8%9'%/(0'(%6,'*%(,%9/7'%/% 0',A'-:%A'/((0$%%6'2'(6*%,(%2/-/A''-B/,(C Tangent line : q = p(t + tp (t DE-7/E-' Local Properties of Curves include: Position Tangent Curvature Continuity These are all topics in differential geometry F(E,(;%(7'-*'%,8%9'%-/6E*%,8%9'%G'*%@,:/@% /22-,>A/,(%,8%9'%:E-7'%G=%/%:-:@'C >J =JJ >JJ =J H,-AE@/;%%%%%%%%%%%%%%%%%%%%%%9'%6'-7/7'*%/-'%I9% " 3>J + =J 4 -'*2':%,%C K 234 DE-7/E-'%/%%%*%#LK

3 ./-02/-' M,B'>(6%./-02/-'%3'*/-'*%4,5%*2-642%%7/-0'%*%2%%% 8,(29%:;%7/-02/-'%*%<'-,%'0'-=54'-'$%24'%7/-0'% *%%*2-642%>('9 =LL F# + =L G K 88-,?32'>=%24'%*'7,(B%B'-020'9 C4'%*D/-'%,;%24'%7/-02/-'%7(%E'%F*,3'23'*G% 88-,?32'B%E=%%?HH "#=HH% 9 C4'%>'**%*%24'%7/-02/-'$%24'%I(7'-J%*%24'%7/-0'9 N'%%*4,/>B%E'%E>'%2,%*8'7;=%%*3>>%(/3E'-%,;% (2/20'%7,(2-,>*A 24'%7/-0'%*4,/>B%E'%/2,327>>=%7,38/2'B%;-,3% 7,(2-,>*9 O?38>'*%,;%(2/20'%7,(2-,>*P I.,(('72%24'%B,2*J%88-,74P%*8'7;=%*'0'->% 8,(2*%,(%24'%7/-0'$%B-5%%%(7'%>('%24-,/64% 24'*'%8,(2*A Q8'7;=%24'%B-'72,(%F2(6'(2G%,;%24'%7/-0'%(% *,3'%8>7'* R((2/20'%7,(2-,>*P%8,>=(,3>%7,';;7'(2*%'279 Continuity Describe how curves are joined together. Some examples: G0, C 0 - curves join G - curves join with equal tangent directions C - curves join with equal tangent directions and magnitudes (same first derivatives Cm - curves join with equal m th derivatives see pg 309 in book for a better picture for comparison 4,5%5/*%6%7,('%8'2,-'%9,:3;6'-*< 5'=>6*%?9/00'7%7;9@*A%5'-'%30/9'7%,(%/%*>''6%,2%3/3'-%/6%3,(6*%6>-,;=>%5>9>%6>'%9;-B'%*% *;33,*'7%6,%3/** C%20'D80'%*6''0%*6-3%*%30/9'7%8'65''(%6>': C%9;-B'%*%6-/9'7%,;6%,(%3/3'-E F7'/G%6-H%6,%7,%*,:'6>(=%*:0/-I 5>0'%:,7'0(=%3>H*9*%*%3,**80'$%6%*% *,:'5>/6%'D3'(*B'E%%J-H%6,%:6/6'%8'>/B,-% K;/06/6B'0HE Thomas W. Sederberg, Intro to Splines

4 Control Points Define points near which the curve should pass : p=(x,y, p2=(x2,y2,..., pn=(xn,yn For each point p i choose a parameter ti Simplest choice :,2,3,... uniform parameterization For each point specify a blending function B i(t how much this point contributes to the value of curve at t Curve: D?6A = D S?6A %%%%%%%%%%%%%%%%%%%%%%%%%%,-%%% H?6A = H S?6A 3?6A = 3 S?6A Curves: Blending Functions + Control Points %%% 3?6A = 3 S?6A Blending(Basis Functions Describe the Type of Curve Blending Functions Control point p i should have max influence near t = i. Influence should fall off as we move away. For local control, B i(t = 0 for i >> t and i << t I2%;//%4,(5-,/%@,(5*%;-'%5?'%*;8'$%5?'%-'*3/5(% = *,.:5< =./'(0(%23(45,(* 6'73-'8'(5* G?,3/0%9'%';*J%5,%4,8@35'%:@,/J(,8;/*%;-'<C G?,3/0%9'%4,(5(3,3*$%;(0%022'-'(5;9/'%:K # <F G3@@,-5%:5?'%(5'-B;/%D?'-'%5%*%(,5%E'-,<% *?,3/0%(,5%9'%5,,%9F K;((,5%'5%5%;//M%%%.35%4;(%'5%4/,*'%2%-'/;A%,('%,2%5?'%-'73-'8'(5*F

5 Give up on small-support : natural splines Every control point influences the whole curve Spline passes through all points Minimizes bending energy Give up interpolation : kth degree uniform B-splines Curve doesn t pass through control points Most common - Cubic B-Splines Some interpolation : non-uniform B-Splines, Bezier Curves.'/'-%*0('* 2,(*3-453%6%54-7'%,43%,8%*'9:'(3*;%<,-%'65=% *'9:'(3%>'8('%?%0,(3*@%3A,%'(>0,(3*%6(>%3A,%,3='-%0,(3*%>'3'-:((9%3='%36(9'(3*%63% '(>0,(3*@ 4*'>%8,-%36(9'(3* Cubic Bezier Curve B8%A'%'(*4-'%3=63%C4'%0,(3*%,(%3A,%*>'*%,8%'65=% -'6>%0,(3%6-'%,(%,('%('$%3='%A=,'%54-7'%*%2 # $% 3=63%*$%=6*%6%36(9'(3%'7'-DA='-';% Bezier Curves De Casteljau Algorithm Linear Quadratic P(t = P0(-t + Pt P(t = A(t(-t + tb(t for t [0,] A(t = P0(-t + tp B(t = P(-t + tp2 P(t = P0(-t 2 + P2t(-t + P2t 2 gb/ma-bezier/p-bezier.html

6 De Casteljau Algorithm Cubic P(t = D(t(-t + te(t D(t = A(t(-t + tb(t E(t = B(t(-t + tc(t A(t = P0(-t + tp B(t = P(-t + tp2 C(t = P2(-t + tp3.'/'-%*0('* E='%>'6%C'=(>%.'/'-%*0('* *%3,%4*'%*0'56% C'(>(9%84(53,(*%8,-%3='%8,4-%0,(3*$%6**4:(9% 3=63%3%*%C'3A''(%"%6(>%#@ F#G3H I% 8,-%0 " $%%I3F#G3H % 8,-%0 # $%%I3 F#G3H%8,-%0 $%6(>%3 I 8,-% 0 I% ;% F#G3H I I3F#G3H I3 F#G3H %%% 3?6A = 3 S?6A 3 I Bernstein Polynomials P(t = P0(-t 3 + P(-t 2 3t + P2(-t3t 2 + P3 t 3 for t [0,] gb/ma-bezier/p-bezier.html Bernstein Polynomials Degree :(-t, t Degree 2: (-t 2, 2t(-t, t 2 Degree 3: (-t 3, (-t 2 3t, (-t3t 2, t Degree 4: (-t 4, 4(-t 3 t, 6(-t 2 t 2, 4(-tt 3, t '/'-%*0('* Properties of Bernstein Polynomials 23'%4%56(78,(*%9.'-(*8'(%0,:(,;<*%,5%,-='-%>?$%@ " 98?$%@ # 98?$%@ > 98?%<-'%9<;,*8?%='5('=%A:%83'%5,,B(C%0-,0'-8'*D 23'%*6;%%*%#%5,-%<%8 83'%'(=0,(8*%3<E'%(,%(56'(7'%,(%83'%0,*8,(%%,5%83'% '(=0,(8%,5%83'%76-E'%<(=%,(%83'%8<(C'(8*%<8%,00,*8'% '(=0,(8*F%%23*%;'<(*% 83<8%@ " 9#?%G%@ " 9#?G"%$%@ > 9"?%G%@ > 9"?G"% 2B,%(8'-,-%9A6'?%7,(8-,%0,(8*%<55'78%,(:%83'% 8<(C'(8%<(=%<8%83'%7,--'*0,(=(C%'(=0,(8$%(,8%<8%83'%,83'-%'(=0,(8$%<(=%=,%(,8%<55'78%83'%0,*8,(*%,5%83'% # 9"?%G@ # 9#?%G%@ # 9#?G"%$%@ 9#?%G@ 9"?%G%@ 9"?G"% H%0,:(,;<*%<-'%76A7%<(=%0,*8E' I:;;'8-:%BF-F8F%8G#JD%@ " 9#K8?%G%@ > 98?$%@ # 9#K8?%G%@ 98?%

7 .'/'-%76-E'* 23'%.'/'-%76-E'*%3<E'%83'%5,,B(C%0-,0'-8'*D '(=0,(8*%<-'%(8'-0,<8'= 8<(C'(8*%<8%'(=0,(8*%0,(8%8,B<-=*%83'% (8'-,-%7,(8-,%0,(8*L ='-E<8E'*%<-'%>90 # K0 "?%<(=%>90 > K0?% -'*0'78E':L 83'%76-E'%*%(%83'%7,(E'M%36%,5%7,(8-,% hull 0,(8*F of control points 23'%5,-;6<%5,-%83'%.'/'-%76-E'%*% (since sum of coef = Uniform B-splines 098?%G%9#K8? >% 0 " N%>89#K8? % 0 # N%>8 9#K8?%0 N%8 > 0 > 8%A'8B''(%"%<(=%#F Continuity of Bezier Curves Each piece is designed to be Ck where k = n-, with n= number of control points When combining two curves - will need extra contraints to achieve higher continuity. e.g. For set tangent at P 3 of curve P equal tangent of curve Q at Q0 Piecewise Polynomial (Cubic Basis Function $ "# % &' ( * + ' ' &( * ' ' ( * ' * % = $ ' ' ( + * ' * ( + ' + ' ( * * ' # " % ' < Cubic B-Spline

8 @A./0('*./*0('* - Cubic C''D%,(0:%,('%?7**%25(;8,($%700%@ E8F%7-'%,?87('D?:%*<28*G%@ E8F%H%@E8AF> I<'%?7**%25(;8,(%*%/';'=*'%/,0:(,670G Cubic B-Spline Basis Function Curve: p0 p p2 p3 $ "# = % &' ( * + ' ' &( * ' ' ( * ' * % $ ' ' ( + * ' * ( + ' + ' ( * * ' # " % ' < 0C8B = ( = 0.C8 B Linear combination 23'%;(;>%(5;D'-%,?%0,(8*%-'E5-'<%*%F@%83*% 4,--'*0,(<*%8,%83'%(8'-6>%?,-%8%,?%'(=83%#: p0 p p2 p3 23*%*%(4,(6'('(8%/ D58%7'%4>(%>7>A*%><<% 4,(8-,%0,(8*%DA%-'?'48,(: 0C8B = = Note on the range of t Range of t = [,n-] outside of the range ( n B i (t = i=0 0.C8 B n B(t i i=0./*0('* 233(4%5,(6-,%0,(6*%78%-'9'56,(: 0 (/# 0 # 0 ( 0 " 0 (;# 0 /# -'9'56'3%0,(6* 0 /# <%0 " /0 # = 0 (;# <%0 ( /0 (/# > problem w/ transformations : e.g. translation

9 Continuity of Uniform B-Splines Number of control points independent of degree of curve. It depends on the degree of the basis functions. If basis functions are of degree d, the final spline curve is C d-./*0('* 23%*4562*,( 78%84-(*%,48%8938%89'%*:,,89%;4-2'%;3(%5'%,583('6% A?-3@?-'%6805?8%5?(%3-?@%,(8%('%*'4B'(6*>% ('?-%5F-G'>%HB0'*6%?00-,?5E:% IE,,*'%*B?% 6>% I,B0F6'%0,(6*%0J"K$%0J 6K$%0J 6K>>>% &-?@%('%*'4B'(6*%5,(('56(4%6E'%0,(6*> C,6%G'-8%'995'(6%// E?G'%6,%'G?F?6'%?%5F75% 0,8(,B?%J,-%*'G'-?K%?6%'?5E%0,(6> I?(%3,%7'66'-%F*(4%?%B?45%?4,-6EB%% J*F73G*,(K> ECF #CD #C #C

10 ./02*,(%-/3'* 42'(%-/3'%5(%67'%('8%*'9/'(:'%,;%<,(6*%67'% <,(6*%867%'2'(%(/=0'-*%>-'%67'%,3%<,(6*%867% C C C ( < + D< + C+ # < = # E # < + # A%-/3'%5(%67'%('8%*'9/'(:'%67'%<,(6*%867%,% (/=0'-%*%>%('83B%(*'-6'%<,(6?@ C C ( F< F C+ # < + # = # E + < + #.(/0,(* 234%/,%5'%/,%53'(%4%0,(%*%6**(78 -'=;':'/%0,( 9(%3*%:4*'$%5'%400;<%-'=;':,(%>-':4;;%4//(7%6**(7 :,(-,;%0,(*?@%A3*%-'*B;*%(%3'%=,;;,5(7%-C4;%-B;'D E E E E E ( 0 + G0 + >0 0? 0 = E+ # " = # H # " " # 0" 34%*$%EB*%F''0%3'%,;/%C4;B'@./02*,( A;%:,/-*'$%(%>%;(6'%(/=0'-%,;%*6'<*%*/02*,(% G'('->6'*%,(3B%<,3B3('*@%H/6%67'B%G'6%>-06->-3B% :3,*'%6,%>%3=6%I % >(%67*%:/-2'%*%'J>:63B%>% :/0:%HK*<3('@ L3G,-67=M. Start.6>-6%867%>(%>-->B%,;%:,(6-,3%<,(6*%,;%3'(G67% with an array of n+ ctrl pts (N#@%I,=</6'%;-,=%67'%,-G(>3%<,(6*%('8%>-->B% 2. Compute,;%:,(6-,3%<,(6*%,;%3'(G67%(N#%/*(G% from original new array of 2n+ */02*,(%-/3'*%;,-%'2'(%>(%,%<,(6*@%O7'(% ctrl pts 3. Compute ;-,=%67'%('8%>-->B%:,=</6'%>(%>-->B%,;%3'(G67% from this, new array of 4n+ F(N#%'6:@$%56B<:>33B%FKP%*6'<*%*%'(,/G7?@%O7'(% ctrl pts... ->8%67'%3('%*'G='(6*%:,((':6(G%*'9/'(6>3% 4. Draw :,(6-,3%<,(6*@ lines between ctrl pts. Some Theory Splines <=> Subdivision

11 B-Spline Basis Functions Repeated convolutions of the box function Convolution : Box Function : { 0 " ( 7 f(sg(t sds # = "# " 7 7 ["$# ["$# B-Spline Properties PW-Polynomial : Bn(t is a piecewise polynomial of degree n (Box has degree 0, each convolution adds one Finite Support : Bn(t has support(is non-zero of length n+ (Box has support, each convolution adds one Continuity : Degree n B-splines have continuity n- (B(t is C 0 ( 7 0 (* 0 ( 7 * 'A*'%3,4B(,C64 = $ ( # 8* 0 ( " Refinability : Any B-Spline can be written as dilates and translates of itself -- Subdivision Rules B-Spline Basis Functions 0 # ( 7 = $ 0" (* 0" ( 7 * = ( 0 0 ( 7 " " 8*.'/( '/(':'(3%';<03,(%/,-%67*92('* 30E'%0@A0(30F'%,/%,D%-'/(':'(3 ( 3 = 6 (3 + 6 (3 # 6 " " " # # # # G G # # H I H # from : siggraph 2000 subdivision course notes Bn(t = /(2 n "k [ TkBn(2t-k] = "k [ skbn(2t-k]

12 2345(' 6'7('8'(9./0(' 2-3'*%44 :;<845'* 5'6('%'789%:;*/0(' (%*2< '=7</0'>%0('7-%:;*/0(' "# "# N # (#$ $ # # 0( #$.$ /$.$ # 345(' =>-?'*%@ p i B(t i 3>8%,7%2*45('* A>-?'%<*%5('<-%A,8B(<9,( γ ( 9 = 4 ( 9 Åçåíêçä=éçáåíë Refinement of Control Points i = p i s k B(2t 2i k i k let j = 2i+k = p i s k B(2t j i k = p i s (j 2i B(2t j i j = ( p i s (j 2i B(2t j j i Refined Bases

13 I3'-%*0;('* A3'-'%64(<%<0'*%,=%*0;('*D J'K'-$ L'-6'$ M4B-4;$% N46B;;OP,6$ JO*0;('* 4-'%3'%6,*%B*'=B;$%QB%J'K'-%4(/%% L'-6' Regular B-splines : C(t = "pibi(t p i = (xi,yi,zi in homogeneous coords: pi = (xi,yi,zi, w ipi = (xiwi, yiwi,ziwi,wi weights to control points, some attract curve more than others n i=0 C(t = w ip i B i (t n i=0 w ib i (t NURBS Non-uniform Rational B-Splines B-splines cannot represent conic sections e.g. Circle Circle in parametric form as a ratio of two polynomials: x(t = sin(t = 2s + s s = tan 2 ( t 2 2 y(t = cos(t = s2 + s 2 To draw a circle, set w = sin(#/2 for even control points degrees L=>R: 2,3,5,0 circle is degree 2

14 Space Curves Space Curves %%% 3?6A = 3 S?6A For plane curves control points : p i = (xi,yi in 3D, add an extra dimension : p i = (xi,yi,zi Basis Functions were scalar - stay the same D?6A = %%%%%%%%%%%%%%%%%%%%%%%%%%,-%%% z(t 3 =?6A = z3 i B S i (t?6a i H?6A = D S?6A H S?6A Types of Curves Same with more args Graph of a function : z = f(x,y Implicit : f(x,y,z =0 Parametric: x=f x(t, y=fy(t, z = fz(t Surfaces e.g. Helix: fx(t = acos(t fy(t = asin(t fz(t = bt

15 Surfaces Tensor Product Patches : Bezier, B-Spline S(u, v = n i=0 j=0 m p i,j B i (ub j (v OpenGL evaluators Support splines and surfaces based on the Bezier Basis only If working with B-splines will need to convert the basis functions (or of course just use subdivision Will need to determine granularity (high quality vs. high speed Triangular (box spline surfaces Surfaces Surfaces of Revolution IDEA Given: Curve : C(t = [x(t, y(t, z(t] Surface: S(u,v = [x(u,v, y(u,v,z(u,v]. Define function C [or S] 2. Enable it 3. use glevalcoord( [or glevalcoord2(] instead of glvertex*(. mathworld.wolfram.com/ SurfaceofRevolution.html

16 Curve Evaluators define control points as an array: cpts[n][k] if parameter defined in interval [a,b] in init(; glmapf(gl_map_vertex_3, a, b, k, order, &cpts[0][0]; glenable(gl_map_vertex_3; in display(, within glbegin(,..., glend(: glevalcoord(u Behind the scenes, * using Bernstein polynomials (the Bezier Basis * if [a,b] = [0,] : parameter = (u-a/(b-a Surface Evaluators Tensor Product Bezier Patches glmap2 (GL_MAP2_VERTEX3, u,u2,ustride, uorder, v,v2, vstride, vorder, points; glenable(gl_map2_vertex3; glevalcoord2(u,v; glmapgrid2d(nu, u, u2, nv, v,v2; glevalmesh2(mode, i, i2, j, j2; Curve Evaluators can use any value of the parameter using glevalcoord. For uniformly spaced evaluations: glmapgrid(n,a,b; glevalmesh(mode, p,p2; [GL_POINT, GL_LINE]

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

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next

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

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

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

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework assignment 5 due tomorrow, Nov

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

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

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

Splines Computer Graphics I Lecture 10

Splines Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Splines Cubic B-Splines Nonuniform Rational B-Splines Rendering by Subdivision Curves and Surfaces in OpenGL [Angel, Ch 10.7-10.14] February 21, 2002 Frank Pfenning

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

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

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

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

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

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

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

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

B-spline Curves. Smoother than other curve forms

B-spline Curves. Smoother than other curve forms Curves and Surfaces B-spline Curves These curves are approximating rather than interpolating curves. The curves come close to, but may not actually pass through, the control points. Usually used as multiple,

More information

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

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

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

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

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

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

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

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

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

CS770/870 Spring 2017 Curve Generation

CS770/870 Spring 2017 Curve Generation CS770/870 Spring 2017 Curve Generation Primary resources used in preparing these notes: 1. Foley, van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, Addison-Wesley, 1993. 2. Angel, Interactive

More information

Fundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu.

Fundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu. Fundamentals of Computer Graphics Lecture 3 Parametric curve and surface Yong-Jin Liu liuyongjin@tsinghua.edu.cn Smooth curve and surface Design criteria of smooth curve and surface Smooth and continuity

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

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

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

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

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

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

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

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

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications LECTURE #6 Geometric modeling for engineering applications Geometric Modelling for Engineering Applications Introduction to modeling Geometric modeling Curve representation Hermite curve Bezier curve B-spline

More information

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

More information

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz Advanced Texture-Mapping Curves and Curved Surfaces Pre-ecture Business loadtexture example midterm handed bac, code posted (still) get going on pp3! more on texturing review quiz CS148: Intro to CG Instructor:

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

COMP3421. Global Lighting Part 2: Radiosity

COMP3421. Global Lighting Part 2: Radiosity COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all

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

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

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd Curves and Surfaces Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/11/2007 Final projects Surface representations Smooth curves Subdivision Todays Topics 2 Final Project Requirements

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

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

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

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Intro to Curves Week 4, Lecture 7

Intro to Curves Week 4, Lecture 7 CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry. Computer Graphics CMU /15-662 Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

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

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

On an approach for cubic Bézier interpolation

On an approach for cubic Bézier interpolation Second International Conference Modelling and Development of Intelligent Systems Sibiu - Romania, September 29 - October 02, 2011 On an approach for cubic Bézier interpolation Dana Simian, Corina Simian

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

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

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

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

CS-184: Computer Graphics. Today

CS-184: Computer Graphics. Today CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases

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

Computer Aided Geometric Design

Computer Aided Geometric Design Brigham Young University BYU ScholarsArchive All Faculty Publications 2012-01-10 Computer Aided Geometric Design Thomas W. Sederberg tom@cs.byu.edu Follow this and additional works at: https://scholarsarchive.byu.edu/facpub

More information

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri Curves and Surfaces CS475 / 675, Fall 26 Siddhartha Chaudhuri Klein bottle: surface, no edges (Möbius strip: Inductiveload@Wikipedia) Möbius strip: surface, edge Curves and Surfaces Curve: D set Surface:

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

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

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

CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves Tamar Shinar Computer Science & Engineering UC Riverside Design considerations local control of shape design each segment independently smoothness and continuity ability

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

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

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

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

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

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

Geometric Modeling of Curves

Geometric Modeling of Curves Curves Locus of a point moving with one degree of freedom Locus of a one-dimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,

More information

Readings on Bézier Curves and Surfaces. 1 Additional Reading. 2 Organization. 3 Introduction. 4 Representing Curves

Readings on Bézier Curves and Surfaces. 1 Additional Reading. 2 Organization. 3 Introduction. 4 Representing Curves Readings on Bézier Curves and Surfaces 1 Additional Reading Most of what I know about Curves and Surfaces I learned from Angel s book, so check that chapter first. It s pretty mathematical in places, though.

More information

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

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

Curves and Surface I. Angel Ch.10

Curves and Surface I. Angel Ch.10 Curves and Surface I Angel Ch.10 Representation of Curves and Surfaces Piece-wise linear representation is inefficient - line segments to approximate curve - polygon mesh to approximate surfaces - can

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

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

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

Equation of tangent plane: for implicitly defined surfaces section 12.9

Equation of tangent plane: for implicitly defined surfaces section 12.9 Equation of tangent plane: for implicitly defined surfaces section 12.9 Some surfaces are defined implicitly, such as the sphere x 2 + y 2 + z 2 = 1. In general an implicitly defined surface has the equation

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

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

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017) Homework Assignment Sheet I (Due 20-Oct-2017) Assignment 1 Let n N and A be a finite set of cardinality n = A. By definition, a permutation of A is a bijective function from A to A. Prove that there exist

More information

Computer Graphics Splines and Curves

Computer Graphics Splines and Curves Computer Graphics 2015 9. Splines and Curves Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2015-11-23 About homework 3 - an alternative solution with WebGL - links: - WebGL lessons http://learningwebgl.com/blog/?page_id=1217

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

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

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves David L. Finn In this section, we discuss the geometric properties of Bezier curves. These properties are either implied directly

More information

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler Curves & Surfaces Schedule Sunday October 5 th, * 3-5 PM * Review Session for Quiz 1 Extra Office Hours on Monday Tuesday October 7 th : Quiz 1: In class 1 hand-written 8.5x11 sheet of notes allowed Wednesday

More information

COMP3421. Modeling, Bezier Curves, L-Systems, VBOs

COMP3421. Modeling, Bezier Curves, L-Systems, VBOs COMP3421 Modeling, Bezier Curves, L-Systems, VBOs Curves We want a general purpose solution for drawing curved lines and surfaces. It should: Be easy and intuitive to draw curves General, supporting a

More information

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

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

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer Les Piegl Wayne Tiller The NURBS Book Second Edition with 334 Figures in 578 Parts A) Springer CONTENTS Curve and Surface Basics 1.1 Implicit and Parametric Forms 1 1.2 Power Basis Form of a Curve 5 1.3

More information

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required: Reading Required: Angel readings for Parametric Curves lecture, with emphasis on 11.1.2, 11.1.3, 11.1.5, 11.6.2, 11.7.3, 11.9.4. Parametric surfaces Optional Bartels, Beatty, and Barsky. An Introduction

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

Bezier Curves. An Introduction. Detlef Reimers

Bezier Curves. An Introduction. Detlef Reimers Bezier Curves An Introduction Detlef Reimers detlefreimers@gmx.de http://detlefreimers.de September 1, 2011 Chapter 1 Bezier Curve Basics 1.1 Linear Interpolation This section will give you a basic introduction

More information

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1

CIS-331 Fall 2013 Exam 1 Name: Total of 120 Points Version 1 Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. NOTE: Router E should only be used for Internet traffic. Router A Router

More information

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view). Roadmap for tonight Some background. What are Bezier curves (mathematically)? Characteristics of Bezier curves. Demo. Programming Bezier curves (very high level view). Why Bezier curves? Bezier curves

More information

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1 Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. Router A Router B Router C Router D Network Next Hop Next Hop Next Hop Next

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