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

1
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1

Advanced Modeling 2

Katja Bühler, Andrej Varchola, Eduard Gröller

Institute of Computer Graphics and Algorithms Vienna University of Technology

Topics Parametric curves and surfaces Polynomial curves Rational curves Tensor product surfaces Triangular surfaces

1

Parametric Curves

 

regular. are points curve all that way a in ed parametriz be can regular

  • in

regular

  • :

vector Tangent

  • in

functions able differenti are

  • c

c

  • )

t(u ) c(u c c(u) du d t(u) u , z(u) x(u), y(u) IR :I a,b u ; z(u) y(u) x(u) c(u) c:                  

2

Parametric Surfaces

   

regular. are points surface all that way a in ed parametriz be can s regular s

  • in

regular s

  • :

vector Normal

  • :

plane Tangent

  • v

and u in functions able differenti are

                      

  • n

s s s n s s s t s ) ,v (u ) ,v (u ) ,v (u ) ,v (u ) ,v (u ) ,v (u m ) ,v (u l ) ,v (u (l,m) v) v), z(u v), y(u x(u J I d c b a v u v u z v u y v u x v u s

v u v u 2

, , , IR : , , ) , ( ; ) , ( ) , ( ) , ( ) , ( :

3

Bézier Curves: The de Casteljau Algorithm

. : 1 :

1 1 1 1 1 1 3 n n n n n i i r i r i r i n

t

  • t)

( IR t IE ,..., b b b b b b b b b b b point at curve the

  • f

line tangent the determine and points The curve. Bézier ing correspond the

  • n

point curve a is Then . with Set . arbitrary an and points 1 n Given

    

     

scheme Casteljau de The

3 1 2 2 1 2 3 1 1 1 1 1

b b b b b b b b b b

4

Bézier Curves and Bernstein Polynomials

i i n n i n i n i i i

t t) ( i n (t) B (t) B b b(t) ,...,n , i b

 

           

1 : s polynomial Bernstein : points Bézier to respect with curve Bézier

5

slide-2
SLIDE 2

2

Properties of Bézier Curves

Affine invariance Convex hull property Endpoint interpolation Linear precision Variation diminishing property Disadvantages

Only pseudo local control High degree

6

Important Algorithms for Bézier Curves

Degree elevation to increase flexibility Subdivision to increase flexibility to approximate the curve The subdivision is a byproduct of the de Casteljau algorithm

7

Evaluation/Approximation of Bézier Curves

The de Casteljau algorithm is numerical stabil, but inefficient for evaluation Horner scheme like evaluation is more efficient Repeated subdivision gives in a fast way a good approximation of the curve

  • t

s t n n s s t n s t n s n t

n n

1 with ...) ) 2 ) 1 (...(( ) (

2 2 1

                                      b b b b b

8

B-Spline Curves B-Spline curves are piecewise polynomial curves of degree k-1 have a degree (almost) independent of the number of control points allow local control over the shape of a curve

9

B-Spline Curves: Definition

) ,...,u (u U ,...,n , i IE

k n i 

   

3

vector knot

  • points

control 1 n

  • :

Given d k.

  • rder
  • f

functions basis spline

  • B

the with : curve spline

  • B

) ( ) , [ , ) ( ) ( u N u u u u N u

k i k n n i k i i  

 d s

10

B-Spline Basis Functions

) ( ) ( ) ( : ) , [ 1 ) ( :

1 1 1 1 1 1

u N u u u u u N u u u u u N k sonst u u u u N k

k i i k i k i k i i k i i k i i i i         

            

) , [ 1

k i i k i k i n i k i

u u u (u) N (u) N (u) N

 

   

if : support local

  • :

positivity

  • :

unity

  • f

partition

  • :

functions basis the

  • f

Properties

11

slide-3
SLIDE 3

3

Properties of B-Spline Curves

Affine invariance Strong convex hull property Variation diminishing property Local support Knot points of multiplicity k are coincident with one of the control points. A B-Spline curve of order k which has only knots of multiplicity k is a Bézier curve

12

Evaluating B-Spline Curves: The de Boor Algorithm

. : : 1 : ) , [

1 2 2 1 1 1 1 1 3             

          

k m k m k m k m i r k i i r i i i r i r i r i r i r i k n k n n

u u u t )

  • (

u u t ) ,...,u (u U IE ,..., b d d x d d d d d d d d point at curve the

  • f

line tangent the determine and points The curve. spline

  • B

ing correspond the

  • n

] t , [t t ), (t for point the is Then and with Set . arbitrary an and vector knot a , points control 1 n Given

1 m m

  

scheme Boor de The

3 1 3 2 3 2 3 3 1 2 2 2 1 1 1

d d d d d d d d d d 13

Direct Evaluation of B-Spline Curves Find the knot span [ui,ui+1) in which the parameter value t lies Compute all non zero basis functions Multiply the values of the nonzero basis functions with the corresponding control points

14

Special B-Spline Curves

  • pen:

closed: uniform: ) ) ( ,...., , ( d k n u d u u U    

k n n k k

u u u u u

 

       ... .... ...

1

) ,..., ,...., ( and : ,..., :

2 2 1 1      

  

k n k n k k n n

u u u U d d d d

15

Important Algorithms for B-Spline Curves

Knot insertion to increase flexibility to compute derivatives to split curves (subdivision algorithms) to evaluate the curve (see de Boor algorithm) to approximate the curve Degree elevation to adapt curve degrees

16

Rational Curves

IR I u u z u y u x u w u IR I u u z u y u x u w u

H

                              , ) ( ) ( ) ( ) ( ) ( , ) ( ) ( ) ( ) ( 1 ) ( c c : tion representa s Homogeneou : curve Rational                       2u b ) u (1- a u 1 (u) 2u b ) u (1- a u 1 1 (u) section conic : Example

2 2 2 2 H

c c

17

slide-4
SLIDE 4

4

Rational Bézier Curves

                

  

   i i i i H n i n i i H H i n i n i i n i n i i i

w w IR I u u B u ,...,n , i w IR I u u B w u B w u b b b b b b points Bézier s homogeneou the with : tion representa s Homogeneou weights. called are The as defined is curve Bézier rational A , ) ( ) ( , ) ( ) ( ) (

18

Rational Bézier Curves: Properties and Algorithms

Properties: the same properties like polynomial curve, and projective invariance the weights are an additional design parameter Algorithms All algorithms of polynomial Bézier curves can be applied without any change to the homogeneous representation of rational Bézier curves.

19

Non Uniform Rational B-Splines

                  

     

  

i i i i H k n n i k i i H H i k n n i k i i n i k i i i k n i

w w IR u u u u N u ,...,n , i w IR u u u u N w u N w u ) ,...,u (u U ,...,n , i d n n n n d n points Spline

  • B

s homogeneou the with : tion representa s Homogeneou weights. called are The as defined is vector knot the and points control the to respect with curve NURBS A ) , [ , ) ( ) ( ) , [ , ) ( ) ( ) (

20

NURBS: Properties and Algorithms

Properties: the same properties like polynomial curve, and projective invariance changing the weight wi affects only the interval [ui, ui+k) Algorithms All algorithms of B-spline curves can be applied without any change to the homogeneous representation of NURBS curves.

21

Tensor-Product Surfaces

"A surface is the locus of a curve that is moving through space and thereby changing the shape"

2

) , ( , ) ( ) ( ) , ( , ) ( ) ( , ) ( ) ( IR J I v u v G u F v u s IR J v v G v IR I u u F u

n i m j j i ij m j j ij i n i i i

         

  

   

a a c c f surface product

  • tensor

a yields both Combining yields points control the moving curve a Given

22

Tensor-Product Bézier Surfaces

surface. the

  • f

net control the form points Bézier The by given is surface Bézier product

  • tensor

A

ij n i m j m j n i ij

IR J I v u v B u B v u b b b

2

) , ( , ) ( ) ( ) , (     

 

23

slide-5
SLIDE 5

5

Tensor-Product Bézier Surfaces Properties and Algorithms Properties:

analogue to that of Bézier curves

Algorithms:

Apply algorithms for curves in two steps: Apply to Apply to

n i v B v

m j m j ij i

,..., ), ( ) (  

b b ) ( ) ( ) , ( u B v v u

n i n i i

 b b

24

Tensor-Product B-Spline Surfaces

surfaces. product tensor Bézier for n descriptio the to analogue are s Algorithm and Properties surface. the

  • f

net control the form points control The by given is vectors knot the to respect with surface spline

  • B

uct tensorprod A

ij l m k n n i m j l j k i ij l m k n

IR v v u u v u v N u N v u ) ,...,v (v ),V ,...,u (u U d d d . ) , [ ) , [ ) , ( , ) ( ) ( ) , (

2

     

     



25

Bézier Triangles

k j i n ijk k j i n k j i n ijk ijk

w v u k j i n w v u B u,v,w w v u B w v u b ! ! ! ! ) , , ( ) , , ( ) , , (

, ,

  

   

: s polynomial Bernstein d Generalize domain. parameter triangular the

  • f

s coordinate c barycentri are The by defined is patch Bézier triangular A b

26

Bézier Triangles: Properties and Algorithms

Properties:

the same as in the univariate case

Algorithms:

De Casteljau: Subdivision Degree elevation

1 1 1 1 1 1      

  

l ijk l k ij l jk i l ijk

wb vb ub b

27

Subdivision Surfaces

Polygon-mesh surfaces generated from a base mesh through an iterative process that smoothes the mesh while increasing its density Represented as functions defined on a parametric domain with values in R3 Allow to use the initial control mesh as the domain Developed for the purpose of CG and animation

28

Subdivision Surfaces: The Basic Idea In each iteration

Refine the initial control mesh Increase the number of vertices / faces

The mesh vertices converge to a limit surface

29 SIGGRAPH 2000 Course Notes

slide-6
SLIDE 6

6

Loop’s Scheme (‘87)

30

Old vertex Edge vertex New vertex

8 3

8 1 8 3 8 1

2

1 5 3 2 2 cos 8 8 8 n n                         

1 n        http://www.cs.technion.ac.il/~cs236716/

4

2 1 2 1 f f e

v v v v v    

4 1

4 1

i i f

v v

Catmull-Clark Scheme ’78

31

Face vertex Vertex Edge vertex

( 3) 2 p n Q R v n n n    

 Q – Average of face vertices  R – Average of edge vertices  v – new vertex

http://www.cs.technion.ac.il/~cs236716/

Comparison of the Loop and the Catmull-Clark Scheme

Andrej Varchola 32

Loop subdivision scheme: Catmull-Clark subdivision scheme:

http://www.holmes3d.net/graphics/subdivision/

Subdivision Surfaces: Classification

33

The type of refinement rule

Vertex insertion Corner cutting

The type of generated mesh

Triangular Quadrilateral

Approximating vs. Interpolating Subdivision Surfaces: Comparison

34

[http://www.cs.technion.ac.il/~cs236716/]