1
play

1 Properties of Bzier Curves Important Algorithms for Bzier Curves - PDF document

Topics Parametric curves and surfaces Polynomial curves Advanced Modeling 2 Rational curves Katja Bhler, Andrej Varchola, Eduard Tensor product surfaces Grller Triangular surfaces Institute of Computer Graphics and Algorithms Vienna


  1. Topics Parametric curves and surfaces Polynomial curves Advanced Modeling 2 Rational curves Katja Bühler, Andrej Varchola, Eduard Tensor product surfaces Gröller Triangular surfaces Institute of Computer Graphics and Algorithms Vienna University of Technology 1 Parametric Curves Parametric Surfaces   x ( u , v )     x(u)                 2 s : s ( u , v ) y ( u , v ) ; ( u , v ) a , b c , d : I J IR       c: c(u) y(u) ; u a,b :I IR       z ( u , v )   z(u) - x(u , v), y(u , v), z(u , v) are differenti able functions in u and v - are differenti able functions in x(u), y(u) , z(u) u    - Tangent plane : t (l,m) s (u ,v ) l s (u ,v ) m s (u ,v ) 0 0 0 0 0 0 0 d u v  - Tangent vector :   t(u) c(u) - Normal vector : n (u ,v ) s (u ,v ) s (u ,v ) du 0 0 u 0 0 v 0 0     - s regular in s (u ,v ) n (u ,v ) o - regular in c c(u ) t(u ) o 0 0 0 0 0 0   - s regular s can be parametriz ed in a way that all surface - c regular c can be parametriz ed in a way that all curve points are regular. points are regular. 2 3 Bézier Curves and Bernstein Polynomials Bézier Curves: The de Casteljau Algorithm    Given n 1 points 3 and an arbitrary . b ,..., b IE t IR 0 n Set  Bézier curve with respect to Bézier points b , i 0 ,...,n : i      r r 1 r 1 0 b : ( 1 -t) b t b with b : b .  i i i 1 i i n   n n Then b is a curve point on the correspond ing Bézier curve. b(t) b B (t) 0 i i    n 1 n 1 n i 0 The points b and b determine the tangent line of the curve at point b . 0 1 n b 0 Bernstein polynomial s : 0 1 b 0   n 0 1 b b      n n i i 1 0 B (t) ( 1 t) t   1 3 b b i   i 1 0 0 2 b b 2 1 b 1 2 0 b 3 The de Casteljau scheme 4 5 1

  2. Properties of Bézier Curves Important Algorithms for Bézier Curves Affine invariance Convex hull property Degree elevation Endpoint interpolation to increase flexibility Linear precision Variation diminishing property Subdivision Disadvantages to increase flexibility Only pseudo local control to approximate the curve High degree The subdivision is a byproduct of the de Casteljau algorithm 6 7 Evaluation/Approximation of Bézier Curves B-Spline Curves B-Spline curves The de Casteljau algorithm is numerical stabil, but inefficient for evaluation are piecewise polynomial curves of degree Horner scheme like evaluation is more k-1 efficient have a degree (almost) independent of the         n n n n number of control points               2 n b ( t ) (...((   s b   t b ) s   t b ) s ...) s   t b with s 1 -t 0 1 2 n  0   1   2    n allow local control over the shape of a curve Repeated subdivision gives in a fast way a good approximation of the curve 8 9 B-Spline Curves: Definition B-Spline Basis Functions   1 u [ u , u )    Given : 0  i i 1 k 0 : N ( u ) i  0 sonst    3 - n 1 control points d IE , i 0 ,...,n   i u u u u        k k 1 k 1 i i k - knot vector k 0 : N ( u ) N ( u ) N ( u ) U (u ,...,u )   i  i  i 1 0 n k u u u u     1 1 i k i i k i B - spline curve : Properties of the basis functions : n   d  k s ( u ) N ( u ) , u [ u , u ) n    k i i 0 n k - partition of unity : N (u) 1  i i 0  i 0 with the B - spline basis functions k of order k. N ( u )  k - positivity : N (u) 0 i i   k - local support : 0 if [ , ) N (u) u u u  i i i k 10 11 2

  3. Properties of B-Spline Curves Evaluating B-Spline Curves: The de Boor Algorithm Affine invariance Given    n 1 control points 3 , a knot vector d ,..., d IE U (u ,...,u ) Strong convex hull property  0 n 0 n k  d 0 and an arbitrary t [ u , u ) . 0 Variation diminishing property  0 n k d 1 1 Set 0 2 d d 1 2 Local support 1 3 d d       2 3 r r r 1 r r 1 d : ( 1 - ) d d 0 2  d d i i i 1 i i 2 3 Knot points of multiplicity k are coincident with one of 1  d t u 3    0 r 0 with d : d and : i d the control points. 3 i i i  u u The de Boor scheme   i k r i A B-Spline curve of order k which has only knots of   k 1 Then d is the point for x (t ), t [t , t ] on the correspond ing  0 0 m m 1 m multiplicity k is a Bézier curve B - spline curve.    The points k 2 and k 2 determine the tangent line of the curve at point k 1 d d b .  m 1 m m 12 13 Direct Evaluation of B-Spline Curves Special B-Spline Curves open: Find the knot span [u i ,u i+1 ) in which the        u ... u u .... u ... u parameter value t lies   0 k k 1 n n k Compute all non zero basis functions closed: Multiply the values of the nonzero basis   d : d ,..., d : d and    n 1 0 n k k 1 functions with the corresponding control points  U ( u ,...., u ,..., u )    0 n k n 2 k 2 uniform:     U ( u , u d ,...., u ( n k ) d ) 0 0 0 14 15 Important Algorithms for B-Spline Curves Rational Curves Knot insertion Rational curve : Example : conic section   to increase flexibility x ( u )   1    to compute derivatives   c ( u ) y ( u ) , u I IR w ( u )   to split curves (subdivision algorithms)  z ( u )  to evaluate the curve (see de Boor algorithm)   2 Homogeneou s representa tion : 1 a (1- u )    c (u)   to approximate the curve  2   1 u  b 2u  w ( u )        x ( u ) 2 1 u      c ( u ) , u I IR   Degree elevation H    y ( u ) 2 c (u) a (1- u )   H     to adapt curve degrees   z ( u ) b 2u   16 17 3

  4. Rational Bézier Curves Rational Bézier Curves: Properties and Algorithms A rational Bézier curve is defined as Properties:  n n w b B ( u )    the same properties like polynomial curve, and  i i i i 0 b ( u ) , u I IR  n n w B ( u ) projective invariance  i i i 0   the weights are an additional design parameter The w 0 , i 0 ,...,n are called weights. i Algorithms Homogeneou s representa tion :  All algorithms of polynomial Bézier curves can  n   n b ( u ) b B ( u ) , u I IR  H H i i i 0 be applied without any change to the with the homogeneou s Bézier points homogeneous representation of rational Bézier   curves. w    i b   H i  w b  i i 18 19 Non Uniform Rational B-Splines NURBS: Properties and Algorithms  A NURBS curve with respect to the control points d , i 0 ,...,n Properties: i  and the knot vector U (u ,...,u ) is defined as the same properties like polynomial curve,  0 n k  and n k w d N ( u )   i i i   n ( u ) i 0 , u [ u , u ) IR projective invariance   n 0 n k k w N ( u )  i i changing the weight w i affects only the i 0   The w 0 , i 0 ,...,n are called weights. interval [u i , u i+k ) i Homogeneou s representa tion : Algorithms   n   All algorithms of B-spline curves can be k n ( u ) n N ( u ) , u [ u , u ) IR  H  H i i 0 n k i 0 applied without any change to the with the homogeneou s B - Spline points homogeneous representation of NURBS   w curves.    i n   H i  w n  i i 20 21 Tensor-Product Surfaces Tensor-Product Bézier Surfaces "A surface is the locus of a curve that is moving A tensor - product Bézier surface is given by through space and thereby changing the shape"   n m    n m 2 b ( u , v ) b B ( u ) B ( v ) , ( u , v ) I J IR ij i j Given a curve   i 0 j 0 n  The Bézier points b form the control net of the surface.    f ( u ) c F ( u ) , u I IR ij i i  i 0 moving the control points yields m     c ( v ) a G ( v ) , v J IR i ij j  j 0 Combining both yields a tensor - product surface n m      2 s ( u , v ) a F ( u ) G ( v ) , ( u , v ) I J IR ij i j   i 0 j 0 22 23 4

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend