geometric modelling

Upload: intelchino

Post on 16-Oct-2015

71 views

Category:

Documents


0 download

TRANSCRIPT

  • Geometric Modelling

    -1

    0

    1

    2

    -1

    0

    1

    2

    -1

    0

    1

    -1

    0

    1

    2

    -1

    0

    1

    2

    Lecture in Winter Termby G. Greiner

    Transscript by J. KaminskiRevision by S. Bergler

  • ii

  • iii

    Contents

    1 General Remarks on Curves and Surfaces 1

    2 Polynomial Curves 32.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Different Basis of

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.1 Lagrange Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Bernstein Polynomials . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.3 Comparison of Lagrange and Bernstein Representation . . . . . . . . . 72.2.4 Change of Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3 Polar Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3 Bzier Curves 113.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.1.1 Shape Properties for Bzier Curves . . . . . . . . . . . . . . . . . . . 133.2 Algorithms for Bzier Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.2.1 The de Casteljau Algorithm . . . . . . . . . . . . . . . . . . . . . . . 153.2.2 The de Casteljau Subdivision Algorithm . . . . . . . . . . . . . . . . . 173.2.3 How to draw a Bzier Curve . . . . . . . . . . . . . . . . . . . . . . . 183.2.4 Degree Elevation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.5 Degree Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.3 Bzier Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.1 Construction of complex Curves . . . . . . . . . . . . . . . . . . . . 233.3.2 -Continuity of two Bzier Curves . . . . . . . . . . . . . . . . . . . 243.3.3 Geometrical Construction of continuous Joins . . . . . . . . . . . . . . 263.3.4 Interpolation with Bzier Splines . . . . . . . . . . . . . . . . . . . . . 28

    4 B-splines 314.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 B-spline Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.2.1 Shape Properties of B-spline Curves . . . . . . . . . . . . . . . . . . . 354.2.2 Comparison of B-Spline and Bzier Curves . . . . . . . . . . . . . . . 36

    4.3 Control Points and Polar Forms . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4 Multiple Knots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.5 Algorithms for B-spline Curves . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    4.5.1 The de Boor Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 414.5.2 Conversion of B-spline Curves into Bzier Splines . . . . . . . . . . . 454.5.3 The Boehm Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 454.5.4 Knot Deletion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.5.5 Subdivision for uniform B-spline curves . . . . . . . . . . . . . . . . 48

  • Contents iv

    4.6 Interpolation and Approximation . . . . . . . . . . . . . . . . . . . . . . . . . 514.6.1 B-spline Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . 514.6.2 Special case: Cubic spline interpolation at the knots . . . . . . . . . . 524.6.3 B-spline approximation . . . . . . . . . . . . . . . . . . . . . . . . . . 544.6.4 Parametrization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    5 Rational Curves 575.1 Rational Bzier Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    5.1.1 Properties of rational Bzier curves . . . . . . . . . . . . . . . . . . . 585.1.2 Evaluation of rational Bziercurves . . . . . . . . . . . . . . . . . . . 595.1.3 Influence and properties of the weights . . . . . . . . . . . . . . . . . 595.1.4 Quadratic rational Bzier Curves as Conic Sections . . . . . . . . . . . 615.1.5 Segments of Conic Sections as quadratic rational Bzier Curves . . . . 625.1.6 Rational Bzier-Spline Curves . . . . . . . . . . . . . . . . . . . . . . 64

    5.2 Rational B-Spline Curves (NURBS) . . . . . . . . . . . . . . . . . . . . . . . 65

    6 Elementary Differential Geometry for Curves 676.1 Reparametrization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.2 Planar Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.3 Space Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.4 Geometric and Parametric Continuity . . . . . . . . . . . . . . . . . . . . . . 72

    6.4.1 Geometric Continuity of Bzier Curves . . . . . . . . . . . . . . . . . 74

    7 Tensor Product Surfaces 777.1 General Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.2 Tensor Product Bzier Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 787.3 Algorithms for TP Bzier Surfaces . . . . . . . . . . . . . . . . . . . . . . . . 79

    7.3.1 Evaluation with the TP Approach . . . . . . . . . . . . . . . . . . . . 797.3.2 The direct de Casteljau Algorithm . . . . . . . . . . . . . . . . . . . 80

    7.4 Tensor Product B-Spline Surfaces . . . . . . . . . . . . . . . . . . . . . . . . 827.5 Algorithms for TP B-Spline Surfaces . . . . . . . . . . . . . . . . . . . . . . . 83

    7.5.1 Evaluation of TP B-Spline Surfaces . . . . . . . . . . . . . . . . . . . 837.5.2 Knot insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    7.6 Interpolation and Approximation . . . . . . . . . . . . . . . . . . . . . . . . . 847.6.1 General interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . 847.6.2 Special case: Interpolation at the knots . . . . . . . . . . . . . . . . . 84

    7.7 Trimming of parametric Patches . . . . . . . . . . . . . . . . . . . . . . . . . 85

    8 Ray Tracing of TP-Bzier Surfaces (Bzier Clipping) 879 Triangular Bzier Patches 91

    9.1 Barycentric Coordinates in . . . . . . . . . . . . . . . . . . . . . . . . . . 919.2 Bernstein Polynomials over Triangles . . . . . . . . . . . . . . . . . . . . . . 929.3 Triangular Bzier Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959.4 Algorithms for Triangular Bzier Patches . . . . . . . . . . . . . . . . . . . . 96

    9.4.1 The de Casteljau Algorithm . . . . . . . . . . . . . . . . . . . . . . . 96

  • v Contents

    9.4.2 Degree Elevation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969.4.3 Subdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    9.5 -Continuity of Triangular Bzier Patches . . . . . . . . . . . . . . . . . . . 1009.6 Interpolation with piecewise Bzier Triangles (Split Surfaces) . . . . . . . . . 102

    9.6.1 Clough-Tocher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029.6.2 Powell-Sabin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

    10 Triangle meshes 10510.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10510.2 Computer representation of triangle meshes . . . . . . . . . . . . . . . . . . . 10910.3 Parametrization of triangle meshes . . . . . . . . . . . . . . . . . . . . . . . . 111

    10.3.1 The spring modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11110.3.2 Parametrization of the border vertices . . . . . . . . . . . . . . . . . . 11210.3.3 Parametrization of the inner vertices . . . . . . . . . . . . . . . . . . . 112

    11 Subdivision Surfaces 11511.1 Approximative schemes: Loop-Subdivision . . . . . . . . . . . . . . . . . . . 11711.2 Interpolatory schemes: Modified Butterfly-Subdivision . . . . . . . . . . . . . 12011.3 Limit points for approximative subdivision . . . . . . . . . . . . . . . . . . . . 121

    11.3.1 Limit points for the subdivision of cubic splines . . . . . . . . . . . . . 12111.3.2 Limit points for the subdivision of regular triangle meshes . . . . . . . 124

  • Contents vi

  • vii

    List of Figures

    1.1 Curves in the plane and in space . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 A torus and a free form surface . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    2.1 Quadratic Lagrange polynomials with respect to paramter values

    and . . 52.2 Bernstein polynomials for , and . . . . . . . . . . . . . . . 62.3 Polar Form of a Curve of degree . . . . . . . . . . . . . . . . . . . . . . 10

    3.1 A Bzier curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Convex hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Variation diminishing property . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 de Casteljau schemas for and . . . . . . . . . . . . . . . . . . . . 153.5 Graphical representation of the de Casteljau algorithm . . . . . . . . . . . . . 153.6 Evaluation of with de Casteljau . . . . . . . . . . . . . . . . . . . . . . . 163.7 Left partial curve after de Casteljau subdivision . . . . . . . . . . . . . . . . . 183.8 Multiple subdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.9 Recursive subdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.10 Degree elevation . . . . . . . . . . . . . . . . . . . . . . . . 193.11 Degree elevation . . . . . . . . . . . . . . . . . . . . . . . . 203.12 Degree reduction . . . . . . . . . . . . . . . . . . . . . . . . 223.13 Joins of Bzier curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.14 Join conditions in the de Casteljau algorithm . . . . . . . . . . . . . . . . . . . 253.15 de Casteljau conditions for - and -continuity . . . . . . . . . . . . . . . . 263.16 -continuation of the standard parabola . . . . . . . . . . . . . . . . . . . . . 273.17 -join of several cubic Bzier segments . . . . . . . . . . . . . . . . . . . . . 273.18 Interpolation with Catmull-Rom Splines . . . . . . . . . . . . . . . . . . . . . 29

    4.1 A knot vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 B-splines for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3 B-splines for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4 The B-spline

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.5 Local convex hull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.6 control points coincide . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.7 control points on a line . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.8 control points on a line . . . . . . . . . . . . . . . . . . . . . . . . 364.9 B-splines over a knot vector with multiplicities (emphasized:

    ) . . . . . . . 394.10 Bzier representation of a B-spline curve with endpoint interpolation . . . . . . 424.11 Evaluation schema of the de Boor algorithm for . . . . . . . . . . . . . 424.12 Visualization of the coefficients for the de Boor algorithm ( ) . . . . . . . 434.13 Example for the de Boor algorithm (1): coefficients . . . . . . . . . . . . . . . 43

  • List of Figures viii

    4.14 Example for the de Boor algorithm (2): evaluation . . . . . . . . . . . . . . . . 444.15 Example for the de Boor algorithm (3): graphical construction . . . . . . . . . 444.16 Schema for the Boehm algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 464.17 Example for the Boehm algorithm . . . . . . . . . . . . . . . . . . . . . . . . 474.18 Knot insertion at

    . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.19 Geometrical construction: cutting the corners . . . . . . . . . . . . . . . . . . 494.20 Subdivision with open knot vector and . . . . . . . . . . . . . . . . . . 504.21 Illustration of parameter values . . . . . . . . . . . . . . . . . . . . . . . . . . 514.22 Chordal parametrisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    5.1 Homogeneous coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2 Interpretation of rat. curves with homogeneous coordinates (proj. ) . . 585.3 de Casteljau scheme for rational Bzier curves . . . . . . . . . . . . . . . . . . 595.4 Effect of the weights ( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.5 Conic sections: ellipsis, parabola und hyperbola . . . . . . . . . . . . . . . . . 615.6 Intersection of a cone with a pyramid and projection of the intersection line . . 646.1 Arc length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.2 The 2D Frenet frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.3 The 3D Frenet frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.4 Spiral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726.5 Continuity of Bzier splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.6 Generalized A-frame property . . . . . . . . . . . . . . . . . . . . . . . . . . 75

    7.1 A tensor product Bzier surface . . . . . . . . . . . . . . . . . . . . . . . . . 777.2 Parameter grid, control net and resulting surface . . . . . . . . . . . . . . . . . 787.3 de Casteljau scheme for tensor product Bzier surfaces . . . . . . . . . . . . . 807.4 Bilinear interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807.5 Direct de Casteljau scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817.6 Knot insertion with the Boehm algorithm . . . . . . . . . . . . . . . . . . . . 837.7 Building a hierarchical knot grid for B-spline patches . . . . . . . . . . . . . . 837.8 Trimming a patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857.9 Specifying inner and outer contours in the parameter domain . . . . . . . . . . 857.10 Determining inside and outside of a trimmed patch . . . . . . . . . . . . . . . 86

    8.1 Bzier clipping, step 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878.2 Bzier clipping, step 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888.3 Bzier clipping, step 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898.4 Bzier clipping, steps 5 and 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 908.5 Bzier clipping, step 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    9.1 Barycentric coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929.2 Divide ratios and barycentric coordinates . . . . . . . . . . . . . . . . . . . . 939.3 Arrangement of indices for Bernstein polynomials . . . . . . . . . . 939.4 Triangular control nets for and . . . . . . . . . . . . . . . . . . . 959.5 de Casteljau scheme for triangular Bzier patches . . . . . . . . . . . . . . . . 969.6 Degree elevation . . . . . . . . . . . . . . . . . . . . . . . . . 97

  • ix List of Figures

    9.7 Splitting triangles: 1-to-2 and 1-to-4 split . . . . . . . . . . . . . . . . . . . . 989.8 A control net and the first 1-to-4 subdivision step . . . . . . . . . . . . . . . . 989.9 Farin-Prautzsch 1-to-4 subdivision scheme . . . . . . . . . . . . . . . . . . . . 999.10 Attaching two Bzier triangles continuously . . . . . . . . . . . . . . . . . . . 1009.11 Diamond condition for . . . . . . . . . . . . . . . . . . . . . . . . . . 1019.12 Clough-Tocher split surface scheme . . . . . . . . . . . . . . . . . . . . . . . 1029.13 Powell-Sabin split surface scheme . . . . . . . . . . . . . . . . . . . . . . . . 103

    10.1 1-neighbourhood and 2-neighbourhood of a vertice . . . . . . . . . . . . . . 10510.2 not possible in manifold triangulations . . . . . . . . . . . . . . . . . . . . . . 10610.3 open and closed fan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10710.4 Moebius Strip and Klein Bottle . . . . . . . . . . . . . . . . . . . . . . . . . . 10710.5 Tetrahedron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10810.6 Two-torus: surface of genus 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 10810.7 A local part of a triangular mesh (a) is mapped into the plane by expontial map-

    ping (b) and the local weights are determined (c). . . . . . . . . . . . . . . . . 11411.1 1-to-4 split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11511.2 mask for the calculation of odd and even vertices . . . . . . . . . . . . . . . . 11711.3 masks for the calculation of irregular even vertices . . . . . . . . . . . . . . . 11711.4 Loop-Subdivision: top: coarse triangle mesh, bottom: after 1 subdivision step . 11811.5 Loop-Subdivision: top: after 2 steps, bottom: after 3 steps . . . . . . . . . . . 11911.6 Butterfly: Mask for the calculation of the odd vertices . . . . . . . . . . . . . . 12011.7 one irregular neighbour vertice with valence 3, 4 and 5 . . . . . . . . . . . . . 12011.8 4-point-scheme for boarder vertices . . . . . . . . . . . . . . . . . . . . . . . 12111.9 Butterfly-Subdivision: top: coarse triangle mesh, bottom: after 1 subdivision

    step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12211.10Butterfly-Subdivision: top: after 2 steps, bottom: after 3 steps . . . . . . . . . 123

  • List of Figures x

  • xi

    Bibliography

    [1] C. de Boor. A Practical Guide to Splines (Applied Mathematical Sciences Vol. 27).Springer, Heidelberg 1987

    [2] M. do Carmo. Differential Geometry of Curves and Surfaces. Prentice Hall, EnglewoodCliffs, 1976

    [3] J. Hoschek, D. Lasser. Grundlagen der geometrischen Datenverarbeitung. Teubner,Stuttgart, 1992

    [4] G. Farin. Curves and Surfaces for Computer-Aided Geometric Design: A Practical Guide.Academic Press, San Diego, edition, 1997

    [5] L. Piegel. The NURBS Book. Springer, 1995

  • Bibliography xii

  • 11 General Remarks on Curves and Surfaces

    A curve is a one-dimensional connected point set in a two-dimensional plane or in three-dimensional space. It is at least piecewise smooth.

    A surface is a two-dimensional point set in three-dimensional space with the same prop-erties.

    Figure 1.1: Curves in the plane and in space

    Distinguish between regular and free form (= non-regular) curves and surfaces. Regularcurves are e. g. lines and line segments, circles and arcs; regular surfaces are e. g. triangles,rectangles, polygons in the plane and spheres, cylinders, cones and parts of them in 3Dspace.Non-regular curves and surfaces is everything else (e. g. fender or hood of a car).

    Figure 1.2: A torus and a free form surface

    There are three ways to describe curves and surfaces mathematically.

  • 1 General Remarks on Curves and Surfaces 2

    example circle:

    implicit explicit parameterized

    Graph of

    example sphere:

    implicit explicit parameterized

    Graph von

    Proposition: "Reasonable" curves and surfaces can be described (at least piecewise) in each ofthe tree ways. Note that and are not unique!Change of representation:

    :

    :

    Invert

    and define

    .

    Remark: reasonable means here: differentiable and , e. g.

    .

    :

    : implicit function theorem. If the following statements are true, can besolved to :

    continuous has continous partial derivations

    and

    and

    and it holds

    All statements are also true for surfaces.Remark:

    regular forms (circles, straight lines, spheres, cones usw.) are mostly described explicitly free form geometries mostly parametric

  • 32 Polynomial Curves

    2.1 Basics

    Polynomial of th degree:

    set of all polynomials

    are coefficients of the polynomial

    If

    , then is the degree of the polynomial

    Set of all polynomials of degree :

    degree

    Definition 2.1 (Polynomial Curve)A two-dimensional (three-dimensional, -dimensional) polynomial curve is a parameterizedcurve :

    with

    (2.1)The set of all -dimensional polynomial curves of degree is denoted by

    .

    Example:

    Evaluation with equation 2.1 requires multiplications and additions, thusit is of type . A smarter way to evaluate the equation is to save and reuse the intermediaryresults of the multiplication of the parameter . In this case we have multiplications and additions (complexity ). An even faster evaluation is possible using Horners Rule:Algorithm 2.1 (Horners Rule)

    Complexity: with multiplications and additions. Pseudo code:

    for to do

    end for

  • 2 Polynomial Curves 4

    2.2 Different Basis of

    Note that and

    are linear spaces (vector spaces).

    (polynomial functions)

    2D curve

    3D curve

    D curve

    Remark: The dimension of a space corresponds to the number of degrees of freedom in this space. Theseare the coefficients

    for polynomial functions.

    The standard basis for

    is the monomial basis . Other possible basis for

    are

    presented in the next sections.

    2.2.1 Lagrange PolynomialsDefinition 2.2Given parameter values

    with

    . The polynomial

    (2.2)

    is called the th Lagrange1 polynomial of degree .

    Theorem 2.1The Lagrange polynomials

    form a basis of

    :

    (2.3)

    Sketch of Proof:

    Interpretation: The points

    are interpolated at parameter values

    . There is only one poly-nomial of th degree, that interpolates these points (number of conditions = number ofdegrees of freedom unique solvable system of linear equations), therefore the Lagrange rep-resentation is unique.

    Example: Given

    .

    1Joseph Louis de Lagrange (17361813)

  • 5 2.2 Different Basis of

    0.2 0.4 0.6 0.8 1

    -0.2

    0.2

    0.4

    0.6

    0.8

    1

    Figure 2.1: Quadratic Lagrange polynomials with respect to paramter values

    and

    2.2.2 Bernstein PolynomialsDefinition 2.3The polynomial

    (2.4)

    is called the th Bernstein2 polynomial of degree .Additional agreement:

    , if or .

    Remark: Properties of the binomial coefficients:

    (1) definition:

    (2) recursive definition:

    (3) Pascal triangle: recursion:

    and symmetry:

    Theorem 2.2Properties of Bernstein polynomials:

    (1)

    (Binomial Theorem:

    )(2)

    (partition of 1)(3)

    (positivity)2Serge N. Bernstein, 1912

  • 2 Polynomial Curves 6

    (4)

    (recursion)(5)

    (symmetry)(6)

    has a maximum in at

    .

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    Figure 2.2: Bernstein polynomials for , and

    Example:

    Definition 2.4 (General Bernstein Polynomial)Given the parametric interval :

    (2.5)

    is called the th Bernstein polynomial for the interval .

    Theorem 2.2 holds also true.

    How we get the general Bernstein Polynomial: ,

    Evaluating formula 2.3 at yields:

    Remark: Note that with

    .

    is represented here in barycentric coordinates with respect to and .

    Theorem 2.3The Bernstein polynomials

    form a basis of

    :

    (2.6)

  • 7 2.2 Different Basis of

    2.2.3 Comparison of Lagrange and Bernstein RepresentationDifferent representations:

    will be interpolated

    .

    will be interpolated

    .

    The location of

    or

    determine the shape of the curve somehowintuitively. This is not true for the monomial coefficients

    .

    2.2.4 Change of BasisHow to switch from one representation to another? A general rule from Linear Algebra claims:

    Theorem 2.4Given two linear combinations representing one vector

    :

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    (2.7)

    Proof:

    Example:

    Supplement: Affine MapsDefinition 2.5A map is called affine, if

    (2.8)

  • 2 Polynomial Curves 8

    for all

    with

    . The linear combination

    is called affine combination in thiscase. If additionally

    holds true for all , then it is called convex combination.

    An affine map especially preserves affine combinations, i. e.

    (2.9)Definition 2.6A map is called multiaffine, if for any fixed arguments

    the map

    (2.10)

    is affine. (Diction: bi-affine, tri-affine etc.)Example:

    is multiaffine.

    !

    is multiaffine.

    "

    is not multiaffine.

    Theorem 2.5 (Characterization of Affine Maps) is affine a linear map and a translation vector exist such that .

    Remark:

    affine maps map lines onto lines

    parallelity is preserved

    division ratios are preserved

    angles are not preserved

    examples for affine maps: rotation, scaling, shearing

    2.3 Polar FormsTheorem 2.6 (Polynomials and Polar Forms)For each polynomial of degree exists a unique map with thefollowing properties:

    (1) is n-affine:

    if

  • 9 2.3 Polar Forms

    (2) is symmetric in each variable, i. e.

    (3)

    (diagonal property)

    Diction: is the polar form (blossom) of .Example:

    1 1

    1 1

    1 1

    General formula for polynomials of degree in monomial representation:

    :

    (2.11)

    Example:

    #

    #

    .

    Consider a degree 2 polynomial curve: . This can be decomposed in the follow-ing way:

  • 2 Polynomial Curves 10

    Figure 2.3: Polar Form of a Curve of degree

    Corollary 2.1 are coefficients with respect to the Bernstein basis. With degree wehave coefficients

    , .

    Corollary 2.2This gives reason to a geometric construction to get the point corresponding to the curve param-eter

    :

    This geometric construction is called the de Casteljau algorithm. (see section 3.2.1).

  • 11

    3 Bzier Curves

    3.1 BasicsDefinition 3.1 (Bzier Curve)A polynomial curve

    (3.1)

    is called Bzier curve1 of degree over with the gereralized Bernstein polynomial

    . The points

    are called control points or Bzier points, the polygon formed by thecontrol points is called control polygon.

    Theorem 3.1 (Bzier Points and Polar Form)Given a polynomial of degree , the Bzier points with respect to are

    (3.2)

    Proof: Write as an affine combination of and :

    Now we have:

    decompose s

    1Pierre Bzier, 1966

  • 3 Bzier Curves 12

    Example: Given: ,

    , .

    Figure 3.1: A Bzier curve

    Theorem 3.2 (Derivative of a Bzier Curve)Let

    a Bzier curve over . Then:

    (3.3)

    Proof: Consider

    (i)

  • 13 3.1 Basics

    (ii)

    Corollary 3.1

    (3.4)

    etc. for higher derivatives.

    3.1.1 Shape Properties for Bzier CurvesTheorem 3.3 (Lemma of Bzier)For

    Bzier curve over we have:

    (1) For , is contained in the closed convex hull of the control polygon. (Thecurve point is a convex combination of the

    ).Remark: A set of points is called convex, if for any two points

    the line

    .

    Figure 3.2: Convex hull

    (2) End-point interpolation:

    and

    , i. e. the curve runs through the firstand the last control point.

    (3) Tangency condition: In the end-points the curve is tangent to the control polygon.

    und

  • 3 Bzier Curves 14

    (4) Affine invariance: Let an affine map, then

    I. e. to transform the curve with the affine transformation , it is sufficient to transform thecontrol points.

    (5) Variation diminishing property:A Bzier curve does not vary more than its control polygon.More precisely: For any hyperplane $ in (line in , plane in etc.), then

    $ $ control polygon

    Figure 3.3: Variation diminishing property

    Proof:(1) convex hull:

    For set

    (2)

    und

    (Theorem 3.1, diagonal property of the polar form)(3)

    because

    sonst

    The same for .

    (4) Let an affine map .

    (5) see [4].

  • 15 3.2 Algorithms for Bzier Curves

    3.2 Algorithms for Bzier Curves3.2.1 The de Casteljau AlgorithmThe de Casteljau algorithm is a method for evaluating Bzier curves.Given: control points

    of a Bzier curve

    .

    Algorithm 3.1 (de Casteljau)

    % (3.5)

    Then:

    is a point on the Bzier curve.Remark: The points

    depend on parameter for .

    Figure 3.4: de Casteljau schemas for and

    Sketch of Proof: The proof of theorem 3.1 on page 11 is just the application of de Casteljausalgorithm. Only the intermediate results are renamed:

    Graphical representation of the de Casteljau algorithm for , and

    :

    Figure 3.5: Graphical representation of the de Casteljau algorithm

  • 3 Bzier Curves 16

    Example:

    #

    Bzier representation with respect to :

    Evaluation of with de Casteljau at :

    #

    #

    Figure 3.6: Evaluation of with de Casteljau

    We can compute the polar form of any value using the de Casteljau algorithm. Note that due tothe symmetry of the polar form, there are two possibilities.Find:

    (1)

    de Casteljau: evaluate first , then

    :

    #

    #

    #

    (2) symmetric variation: first

    , then

  • 17 3.2 Algorithms for Bzier Curves

    #

    #

    #

    #

    #

    Remark:

    The de Casteljau algorithm is stable (only evaluation of convex combinations). Complexity is (in contrast to with Horners rule). Improvement is possible by recursive subdivision.

    3.2.2 The de Casteljau Subdivision AlgorithmTheorem 3.4Let

    a Bzier curve over and & .Define:

    & Bzier curve over

    &

    & Bzier curve over

    &

    where

    & are points of the de Casteljau algorithm evaluated at &. Then:

    &

    &

    (3.6)

    Proof: According to the proof of theorem 3.1 the left part of is:

    & &

    &

  • 3 Bzier Curves 18

    (

    & are Bzier points with respect to &). Similar for the right part.

    Example: According to figure 3.5 set and

    . See figure 3.7 for evaluation of thede Casteljau algorithm. The control points of the Bzier curve over & are

    .

    Figure 3.7: Left partial curve after de Casteljau subdivision

    By repeated subdivision (e. g. uniform subdivision at the midpoints) we get a sequence of poly-gons that converges fast to the Bzier curve.Lemma 3.1Let a -continuous curve (i. e. two times differentiable).Let a line defined by

    . Then:

    ' (3.7)

    (Proof follows from Taylor expansion.)Consequence: The uniform subdivision for Bzier curves converges (at least) quadratically.Remark: The evaluation of Bzier curves at equidistant parameter values converges quadratically, too.

    3.2.3 How to draw a Bzier CurveGiven: degree , ,

    Find: polygon for piecewise linear approximation of .

    Algorithm 3.2(1) Evaluate at parameter values &

    with &

    &

    (e. g. with de Casteljau or byevaluation of Berstein polynomials).

    (2) Draw the polygon &

    &

    .

    Example: &

    &

    &

    &

    &

    Algorithm 3.3(1) Subdivide at the parametrical midpoint &

    in

    and

    using deCasteljau.

  • 19 3.2 Algorithms for Bzier Curves

    Figure 3.8: Multiple subdivision

    (2) Continue recursively until a certain recursion depth .(3) Draw the control polygon of the last recursion step of (2).

    Figure 3.9: Recursive subdivision

    3.2.4 Degree ElevationTheorem 3.5Let

    a Bzier curve of degree over .

    Assume

    as Bzier curve of degree over . Then:

    (3.8)

    (where

    )

    Figure 3.10: Degree elevation

    Proof:

    (i) Let

    the -affine polar form of (as polynomial of degree ).

  • 3 Bzier Curves 20

    Definition 3.2

    (3.9)

    (a) affine in every (b) symmetric(c) diagonal

    is the polar form of (as polynomial of degree ).(ii)

    Example:

    Figure 3.11: Degree elevation

    Remark: The repeated degree elevation yields a sequence of polygons then converge slowly to the Bzier

    curve.

    One can use this fact to prove the variation diminishing property of Bzier curves (see [4]).

  • 21 3.2 Algorithms for Bzier Curves

    3.2.5 Degree ReductionGiven: a Bzier curve

    .

    Find: a representation with reduced degree:

    .

    This is not possible in general; therefore find the best approximation . The degree elevation of

    yields

    , where in general

    . Find control points

    such that

    1st Method of Solution:Evaluation of equation 3.8 yields:

    This leaves a linear system to solve.Example:

    Given: control points

    The new control points

    are obtained as follows:

    To receive the minimum we have to set the gradient of to zero. The partial derivatives of canbe written as(

    (

    (

    (

    with Then, the gradient of is:

    grad

    We receive two sets of linear equations: one for the x-coordinate and one for the y-coordinate:

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

    #

  • 3 Bzier Curves 22

    with the solution:

    The Bzier curve with reduced degree is depicted in figure 3.12.

    Figure 3.12: Degree reduction

    2nd Method of Solution:Another method is based on the fact that degree elevation is a linear porcess, i. e. the controlpoints of the degree-elevated curve can be obtained by an appropriate matrix multiplication onthe initial control points. E. g., the degree elevation with the initial points

    and the control points

    of the degree elevated curve can be described bythe following matrix:

    #

    #

    #

    #

    #

    #

    To find the degree reduction of a curve, one has to solve the linear system . In general,this is not possible (over-determined linear system). Therefore find the best possible solutionsatisfying the condition .

    Theorem 3.6 (Gauss Normal Equation)The best approximation for the unsolvable linear system can be obtained by

    (3.10)Proof:

    min min

  • 23 3.3 Bzier Splines

    To receive the minimum set the derivation to zero:

    (

    (

    Remark: Due to the structure of , the square matrix is tri-diagonal. Therefore, the linear systemcan be solved very efficiently.

    Example: (see figure 3.12)

    Given: control points

    The following matrix describes the degree elevation :

    #

    #

    #

    #

    To calculate the new control points use Gauss Normal Equation

    with the result

    3.3 Bzier Splines3.3.1 Construction of complex CurvesTo model more complex shapes with Bzier curves, there are two possibilities:

    Method 1: use a Bzier curve of high degree. This method may cause numerical problems.

    Method 2: split curve into several simple parts and represent every segment as a lowdegree Bzier curve.

    Definition 3.3A Bzier spline is a piecewise polynomial curve. The segments are represented by Bzier curves.

  • 3 Bzier Curves 24

    Figure 3.13: Joins of Bzier curves

    Problem: continuity of the joins? Discontinuities or non-differentiable joins cause non-smoothness of the curve.Definition 3.4Given two polynomial curves and ) . Then the curves are -continuous at if ) ) ) ).

    Interpretation:

    -continuous = continuous, no jumps

    -continuous = -continuous + same tangent vector

    -continuous = -continuous + same osculating circle.

    3.3.2 -Continuity of two Bzier CurvesTheorem 3.7Let

    and )

    Bzier curves over

    and

    , . Then:

    ) are -continuous at

    (3.11)Proof: Any Bzier curve has a unique representation over every interval. (In this case we onlyconsider over the interval

    , but in fact the curve has the domain.) Thereforewe can define curve over the interval

    without changing it:

    .

    .

    .

  • 25 3.3 Bzier Splines

    )

    )

    *

    *

    .

    .

    .

    )

    *

    ) are -continuous at

    *

    for all

    Remark:

    Figure 3.14: Join conditions in the de Casteljau algorithm

  • 3 Bzier Curves 26

    3.3.3 Geometrical Construction of continuous JoinsLet ) and

    like above and

    . Then:

    (1) ) are -continuous

    .

    (2) ) are -continuous

    (3) ) are -continuous A-frame property:

    Example: Given: standard parabola

    over

    Find: continuation ) ? over

    -continuity:

    -continuity:

    .

    Result: see figure 3.16

    Figure 3.15: de Casteljau conditions for - and -continuity

    Remark: The figure 3.17 is fully described by the location of

    , the endpoints and the intervals

    .

    Note: The points

    are B-Spline control points (see chapter 4).

  • 27 3.3 Bzier Splines

    Figure 3.16: -continuation of the standard parabola

    Figure 3.17: -join of several cubic Bzier segments

  • 3 Bzier Curves 28

    3.3.4 Interpolation with Bzier Splines

    Given: Points

    and parameter values

    .

    Find: A curve that interpolates the points

    at the corresponding parameter values, i. e. all

    must be on this curve.A simple idea are Catmull-Rom Splines 2:

    find a (e. g. cubic) Bzier curve between two neighbour points

    ,

    specify the tangents (= derivatives) at the end points as follows:

    (3.12)

    (3.13)

    Theorem 3.8If

    , you get the control points of an interpolating Bzier curve as follows:

    (3.14)

    (3.15)

    Sketch of Proof:

    Remark:

    Problem: What happens at the end points?

    1st case: closed curve (i. e.

    ). 2nd case: open curve (

    ). In this case the natural end conditions

    and

    hold true.

  • 29 3.3 Bzier Splines

    Figure 3.18: Interpolation with Catmull-Rom Splines

    When interpolating points, you have to consider the order (or topology = neighbourhood relation)of the points.

    Only if the points are uniformly distributed, you can assume that all parameter intervals have thelength 1 (e. g.

    ). In general, this is not true.

    2E. Catmull, R. Rom. A Class of interpolating Splines, 1974

  • 3 Bzier Curves 30

  • 31

    4 B-splines

    4.1 Basics

    B-spline curves are piecewise polynomial curves with built-in -continuity at the joins. Mainlywe deal with curves of degree that are -continuous, e. g. a B-spline curve of degree 1 ispiecewise linear and -continuous.Given: degree and a sequence of knots

    where is the numberof control points of the curve. Thus, the knot vector +

    defines parameter intervals

    .

    Figure 4.1: A knot vector

    The B-spline basis functions

    are defined recursively by degree :

    otherwise

    General recursion formula:Definition 4.1 (Normalized B-spline Basis Functions)

    otherwise (4.1)

    (4.2)

    The

    are computed according to the follwing scheme:

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

  • 4 B-splines 32

    Example: We choose the knot vector + ), i. e.

    .

    Figure 4.2: B-splines for

    Figure 4.3: B-splines for

    Remark: The B-spline

    is tangent-continuous at the joins.

  • 33 4.1 Basics

    Figure 4.4: The B-spline

    Properties of B-splines

    (1)

    is piecewise polynomial of degree .

    (2) The support of

    : !!

    , i. e. the support consistsof intervals per section.

    (3) Positivity:

    for

    .

    (4) Partition of 1:

    for

    .

    (5) The derivative of a basis function is given by

    (4.3)

    Proof by induction on k:initial condition:

    and

    are either or (see fig. 4.2), and thus

    is either

    or

    (see fig. 4.3).induction step: Inductional assumption: Equation 4.3 is true for .Use the product rule to differentiate the basis function:

    Substitute equation 4.3:

  • 4 B-splines 34

    Because of

    , we obtain:

    Example: Support for cubic B-splines:

    .

    .

    .

    .

    .

    .

    .

    .

    .

    4.2 B-spline CurvesDefinition 4.2Given:

    degree

    knot vector

    control points

    or .

    (4.4)

    is called B-spline curve. The points

    are called control points or de Boor points1. They form acontrol polygon.

    1Carl de Boor, 1972

  • 35 4.2 B-spline Curves

    4.2.1 Shape Properties of B-spline CurvesTheorem 4.1 (Shape properties of B-spline curves)Let

    a B-spline curve of degree over the knot vector + . Then thefollowing properties hold true:

    (1) In general there is no endpoint interpolation.(2) For

    , lies in the convex hull of the control points

    (local convex hull).

    Figure 4.5: Local convex hull

    (3) Local control: For

    the curve is independent of

    for and .

    (4) If control points coincide, then the curve goes through this point and is tangent to thecontrol polygon (Fig. 4.6).

    Figure 4.6: control points coincide

    (5) If control points are on a line, then the curve touches this line (Fig. 4.7).

    Figure 4.7: control points on a line

  • 4 B-splines 36

    (6) If control points are on a line , then for

    , i. e. a wholesegment of the curve coincides with (Fig. 4.8).

    Figure 4.8: control points on a line

    (7) Derivative:

    mit

    (4.5)

    (8) If knots

    coincide, then

    , i. e. the curve goes througha control point and is tangent to the control polygon.

    (9) If is an affine map, then:

    (affine invariance).

    (10) Variation diminishing property: If $ is a hyper plane in , then

    $ $ control polygon

    4.2.2 Comparison of B-Spline and Bzier CurvesBzier Curves

    + control polygon gives an impression of the possible run of the curve

    + the run of the Bzier curve can be changed by the translation of control points

    but:

    control points have global influence on the run of the Bzier curve

    number of control points depends on the degree of the Bzier curve more controlpoints, i. e. more possibilities to influence the run of the curve, only possible by degreeelevation

  • 37 4.3 Control Points and Polar Forms

    B-Spline Curves

    B-Spline curves do not have the disadvantages of Bzier curves.Geometric properties of Bzier curves like "convex hull" or "variation diminishing" are alsovalid for B-Spline curves.Additional advantages are:

    + B-Spline functions are defined locally

    + Translation of a control point has only local influence on the run of the curve

    + Insertion of additional control points without degree elevation

    + Smoothness of the junction of adjoining segments can be influenced "easily"

    Basis Functions CurvesBzier curves

    polynomial Bernstein polynomials

    (normalized) B-splines

    B-spline curvespiecewise polynomial

    over knots + )

    Table 4.1: Review: curve schemes mentioned so far

    4.3 Control Points and Polar FormsTheorem 4.2 (Control points and polar forms)Given: a B-spline curve

    of degree over a knot vector

    . restricted to the interval

    is a polynomial curve and has a unique polarform

    . Then:

    for % (4.6)

    e. g. for this means:

    Special case: The Bzier representation of the curve segment

    over the interval

    can be obtained as usual by inserting the interval borders

    und

    into the polar form:

    An application of this property is the conversion of a B-spline curve into a Bzier spline curve.

  • 4 B-splines 38

    Example: + . Consider the curve segment where . In this segment,

    is the polar form of the B-spline curve . Control points:

    Bzier points of

    :

    Given:

    Find:

    The Bzier points are obtained by construction of suitable affine combinations, e. g.

    Similar computation for the other control points.

    4.4 Multiple Knots

    Multiple Knots are allowed, if the multiplicity of the knots is less or equal to the degree. Gener-alized knot vector:

    (4.7)

    Exception: The first and last knot may have the multiplicity .We have to extend the definition of the B-spline basis functions to the case of multiplicities:

    otherwise(4.8)

    The recursion formula reduces B-splines of degree to B-splines of degree :

  • 39 4.4 Multiple Knots

    (1) case

    , i. e. the multiplicity of

    ist greater or equal to .

    (4.9)

    (2) case

    , i. e. the multiplicity of

    is greater or equal to .

    (4.10)

    (3) case

    , i. e. the multiplicity of

    is greater or equal to .

    (4.11)

    Example:

    Figure 4.9: B-splines over a knot vector with multiplicities (emphasized:

    )

    Using a knot vector with multiple knots, some B-spline basis functions can vanish:Example: Quadratic B-spline basis functions over +

    does not exist!

    Remark: The higher the multiplicity of the knots the smaller is the continuity (see Theorem 4.3).

    Theorem 4.3 (Curry-Schoenberg)Given: a sequence of knots

    . These knots have multiplicities,

    ,

    , where the inner knots have the multiplicity ,

    and the border knots

  • 4 B-splines 40

    have the multiplicity ,

    ,

    . Now consider this knot vector as a sequence of singleknots -

    -

    -

    with the corresponding multiplicities ,

    ,

    .

    The normalized B-splines of degree with respect to this knot vector make a basis of the follow-ing space:

    is a polynomial of degree and is-continuousat the value -

    , .

    Remark:

    The most important special case are the proper splines, where

    .

    If we insert a new knot , the dimension of the space increases by 1, i. e. the space of all piecewisepolynomial functions over the old knot vector is a linear subspace of that over the new knot vector.

    Multiple Knots and Endpoint InterpolationThe curves are to be at least -continious. So from Theorem 4.3 follows, that the maximalmultiplicity of the knots may be . At the end points we can equate

    , because the curvedoes not depend on

    (see scheme on page 34: For

    ,

    does not contribute to thecomputation of

    , but

    does). Therefore the maximum multiplicity allowed atthe endpoints is .

    Theorem 4.4 (Endpoint interpolation)If an end knot has multiplicity , then the B-spline curve interpolates the correspondingcontrol point and is tangent to the control polygon.

    Sketch of Proof: Consider a B-spline curve of th degree over the knot vector

    . .

    For the basis function

    for we obtain:

    This is the first Bernstein polynomial of th degree with respect to the interval .

    with .Similar, it can be shown that

    with ..Because of

    and

    . the end points are interpolated.Tangential property:

    since

    does not exist and

    . All the other basis functions must be zero atthe parameter value (affine combination). So the line

    is the tangent to the Bzier curve atcontrol point

    . Similar for ..

  • 41 4.5 Algorithms for B-spline Curves

    Example: + .

    We construct a piecewise polynomial curve over this knot vector that lives on three notvanishing parameter intervals:

    control points:

    control points:

    control points:

    Consider the interval

    . B-spline control points that affect

    are:

    The Bzier representation of

    is obtained as follows:

    4.5 Algorithms for B-spline Curves

    In this section,

    is a B-spline curve of degree over a knot vector

    , where multiple knots are allowed.

    4.5.1 The de Boor Algorithm

    The de Boor algorithm is a method for evaluating B-spline curves.Given: control points

    and knot vector +

    of a B-spline curve

    and a parameter intervall

    .

    Find: value of at

  • 4 B-splines 42

    Figure 4.10: Bzier representation of a B-spline curve with endpoint interpolation

    Algorithm 4.1 (de Boor)

    (4.12)with and

    Then:

    .

    The evaluation scheme for the de Boor algorithm is depicted in Figure 4.12.The coefficients canbe visualized as divide ratios of line segments (see Figure 4.11).

    Figure 4.11: Evaluation schema of the de Boor algorithm for

    Remark: The de Boor algorithm is the analogue to the de Casteljau algorithm for Bzier curves.

  • 43 4.5 Algorithms for B-spline Curves

    Figure 4.12: Visualization of the coefficients for the de Boor algorithm ( )

    Example: + /

    /

    (see fig. 4.13, 4.14 and 4.15).

    Figure 4.13: Example for the de Boor algorithm (1): coefficients

    Now consider the following knot vector:

    Here: ,

    and

    have all the multiplicity . Then:

    This is the de Casteljau algorithm!Corollary 4.1

    As we only consider affine transformations, assumption of the interval is not aloss of generality.

  • 4 B-splines 44

    Figure 4.14: Example for the de Boor algorithm (2): evaluation

    Figure 4.15: Example for the de Boor algorithm (3): graphical construction

  • 45 4.5 Algorithms for B-spline Curves

    If two neighbouring knots have the multiplicity , then the corresponding B-spline curveis a Bzier curve between these knots.

    By insertion of all knots until multiplicity we can construct the Bzier polygon.

    4.5.2 Conversion of B-spline Curves into Bzier SplinesGiven: B-spline curve

    over a knot vector

    .

    Find: Bzier representation for each polynomial segment

    .

    There are two possibilities:

    (1) Insert knots

    and

    , until both have the multiplicity .

    (2) Use the polar form.Example: Knot vector: + . Consider interval .The control points are given.To find the Bzier points and , construct suitable affinecombinations, e. g.

    4.5.3 The Boehm AlgorithmHow can we insert a new knot into a knot vector without changing the curve? Insertion of knotsis useful for:

    adding local detail

    as basis of other algorithms (e. g. de Boors algorithm for curve evaluation) to convert B-splines into Bzier splines.

    Insertion of an additional knot , lets say at

    , gives a new knot vector

    .

    +

    +

    With the theorem of Curry-Schoenberg (theorem 4.3) we get: every B-spline curve over theknot vector + has also a unique representation over the knot vector + .

  • 4 B-splines 46

    How to compute the new control points

    from the given

    ? An answer is given by the Boehm2algorithm.With theorem 4.2, we get

    and also

    . Then:

    By construction of suitable affine combinations we get e. g.

    The other control points are obtained similar. More general:

    Algorithm 4.2 (Boehm)

    (4.13)

    The coefficients can be visualized as divide ratios of line segments. In the following schema,there is

    ,

    0

    and

    1

    2

    .

    Figure 4.16: Schema for the Boehm algorithm

    2Wolfgang Boehm, 1980

  • 47 4.5 Algorithms for B-spline Curves

    Example: + .

    Figure 4.17: Example for the Boehm algorithm

    Remark:

    According to Theorem 4.3 we can insert inner knots up to multiplicity and at the end points upto mulitplicity .

    Insertion of an existing knot (i. e. increasing the multiplicity of the knot to ) gives only new control points.

    Insertion of knots until multiplicity makes the B-spline curve interpolate control points. Thisgives the de Boor algorithm to evaluate B-spline curves.

    4.5.4 Knot Deletion

    Knot deletion is the inverse process to knot insertion. In general, it is not possible to remove aknot without changing the curve. Therefore, try to remove a knot and find a curve that is as closeas possible to the original curve (see degree elevation degree reduction for Bzier curves).Knot insertion is a linear process:

    (4.14)

    Short: . Find control points such that is minimal. With theorem 3.6 wehave to solve the linear system

    (4.15)

  • 4 B-splines 48

    and get

    4.5.5 Subdivision for uniform B-spline curves

    Intention: Create a series of polygons that converge fast to the curve. The subdivison of B-spline curves is achieved by insertion of many additional knots or by doubling the number ofknots.Let

    a B-spline curve of degree over the knot vector +

    with

    for every or simply

    . A knot vector with this propertyis called uniform knot vector.Insert new knots at

    :

    Then:

    over the new knot vector + .Repeating this process gives a sequence of polygons that coverges fast to (compared withsubdivision for Bzier curves).The

    are obtained again with suitable affine combinations. For this gives Chaikins3algorithm.

    Example 1: and knot vector with multiplicity at the endpoints+

    Knots are inserted where the curve has full support, in this example at

    .

    Figure 4.18: Knot insertion at

    3G. Chaikin, 1995

  • 49 4.5 Algorithms for B-spline Curves

    According to Figure 4.18 we obtain the following new control points:

    Therefore we can calculate the new control points from old control points as follows:

    for

    for

    The graphical evaluation is also called "Corner Cutting". You can see the result after two stepsof iteration in Figure 4.19.

    Figure 4.19: Geometrical construction: cutting the corners

    Example 2: and open knot vector e.g. + Evaluation according to the following scheme (see Figure 4.20):

    for

    for

  • 4 B-splines 50

    Figure 4.20: Subdivision with open knot vector and

    For the algorithm is more complicated, as new control points can depend on up to threeold control points:Example 3: and knot vector with multiplicity at the endpoints, control pointsEvaluation according to the following scheme:

    for

    for

    Example 4: and open knot vector, control pointsEvaluation according to the following scheme:

    for

    for

  • 51 4.6 Interpolation and Approximation

    4.6 Interpolation and ApproximationGiven:

    3 data points

    with 3 corresponding parameter values

    an -dimensional space with basis functions

    over a knot vector +

    Find: Curve

    that interpolates / approximates the data pointsRemark: The given points

    are to be interpolated / approximated at the parameter values

    . Imagine the knot vector is the time axis and the parameter the time: The curve we wantto find, should run through the point

    at time

    (see Figure 4.21).

    !

    !

    !

    !

    !

    !

    Figure 4.21: Illustration of parameter values

    There are three cases to distinguish:

    (1) 3 : number of conditions = number of degrees of freedom interpolation(2) 3 : overdetermined system of equations approximation(3) 3 : underdetermined system of equations "constrained" interpola-

    tion/approximation

    4.6.1 B-spline InterpolationGiven:

    points

    with parameter values

    an -dimensional space:

    with knot vector +

    Find: control points

    such that the curve

    interpolatesthe given points

    at the parameter values

    , i. e.

    .

    In matrix notation:

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    (4.16)

  • 4 B-splines 52

    Therefore, the interpolation problem is always solvable in case the matrix

    is invert-ible.Remark:

    Matrix has at most non-zero entries per row (support of

    :

    ). Matrix is a band diagonal matrix. There are efficent numerical methods to solve a linear system

    consisting of a band diagonal matrix and a vector.

    Theorem 4.5 (Schoenberg-Whitney)

    Matrix A is invertible

    Proof: See [1]. A choice of the parameter values

    that always fulfills the requirements ofTheorem 4.5 are the Greville abscissas.

    Definition 4.3The parameter values

    are called Greville abscissas.

    Remark:

    For the Greville abscissas holds:

    fulfills

    , if all inner knots in have multiplicity

    . Reason for this:

    .

    Applications typically only give the

    , but no parameterization. In this case, choose aparameterization that is suitable for the application.

    4.6.2 Special case: Cubic spline interpolation at the knotsGiven:

    degree

    a -dimensional space

    data points

    knot vector +

    Find: cubic B-spline curve over + with

    That means: we choose those knots as parameter values that lie in the area where the curve hasfull support. Then the conditions of Theorem 4.5 are fulfilled. But the number of conditions issmaller than the number of degrees of freedom. Hence for the uniqueness of the curve we needadditional conditions.

  • 53 4.6 Interpolation and Approximation

    Possible additional conditions:(1) Specification of tangents at the end points:

    '

    '

    (2) Natural end condition:

    (3) In the case of closed curves (i. e.

    ):

    The degrees of freedom are used to create -continuity at the point

    Example 1: Interpolation at the knots of an arbitrary knot vector by a cubic spline with addi-tional condition 2

    Linear system to solve:

    ...

    ...

    ...

    .

    .

    .

    .

    .

    .

    Example 2: Interpolation at the knots of an end point interpolating knot vector

    +

    by a cubic spline with additional condition 2

  • 4 B-splines 54

    analogue:

    .

    The linear system that we have to solve is derived by modification of the linear system ofExample 1:

    ...

    ...

    .

    .

    .

    .

    .

    .

    with

    Example 3: Interpolation at the knots of an end point interpolating and uniform knot vector+ by a cubic spline with additionalcondition 2The linear system is:

    #

    #

    #

    #

    #

    #

    #

    #

    ...

    ...

    #

    #

    #

    #

    #

    #

    #

    #

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    Remark: In the case of end point interpolating splines the matrix is tridiagonal (see Example 2 and 3).

    4.6.3 B-spline approximation

    If there are given more data points than control points available in the -dimensional space,then interpolation of the data points is usually impossible. The linear system is overde-termined and therefore not solvable.

  • 55 4.6 Interpolation and Approximation

    We can use the Gauss Normal Equation (Theorem 3.6) to minimize the error and withit, to approximate the data points at the best:

    is minimal derivation

    Thus, the approximation has exactly one solution if and only if the matrix is invertible:

    exists Theorem of Schoenberg-Whitney is fulfilled columns of are linear independent

    4.6.4 Parametrization

    An important item of interpolation and approximation of data points is the choice of the pa-rameter values

    (parametrization). By choosing a proper parametrization great deflections andloops of the curve can be avoided in some degree.The easiest way to determine the

    is to set

    . This is called the uniform or equidistantparametrization. The disadvantage is the disregard of the position of the data points. For thisreason the interpolating curve will have unwanted loops and deflections in most cases.Interpretation: Imagine the parameter value is the time. Because of the -continuity thespeed and the acceleration is continuous. On account of the uniform parametrization large dis-tances between data points must be managed in the same time as distances between data pointsthat are close to each other. Therefore the speed is higher between points with large distance, butspeed and acceleration are continuous and we receive loops and deflections of the curve betweendata points with short distance.

    One way to take the positions of the data points into account is to choose the distance of theparameters proportional to the distance of the data points:

    with

    This parametrization is called

    uniform for

    centripetal for #

    chordal for

    The chordal parametrization is depicted in Figure 4.22: The distances between the parametervalues

    and

    are equal to the distances between the data points .

    und .

    .

    Affine transformation does not change the parametrization. Hence, the parameter values candetermined as follows for a given interval :

    for

  • 4 B-splines 56

    !

    !

    !

    !

    !

    Figure 4.22: Chordal parametrisation

    Remark: It is also possible to choose the knot vector depending on the parameter values

    . Cubiccase:

  • 57

    5 Rational Curves

    A more general approach are rational curves. Using the polynomial curves we have examinedso far it is not possible to represent conic sections (e. g. circle arcs). This becomes possible ifwe extend the schemes to rational curves. Of special interest in this chapter are rational Bziercurves and rational B-spline curves (NURBS).A rational curve can be described in two ways:

    as a quotient of polynomials

    as central projection of a -dimensional curve onto a -dimensional plane.Example: A two-dimensional point is extended by another dimension to 4 4 4)and can be represented by a line through the origin:

    "

    !

    "!"#"

    ! #

    Figure 5.1: Homogeneous coordinates

    By projection onto the plane 4 (division by 4) we get back the 2D point.

    Remark: This representation is called homogeneous coordinates. The aim is to represent -dimensionalaffine maps as linear homogeneous transformations (i. e. matrices) in the -dimensional space.

    5.1 Rational Bzier CurvesDefinition 5.1 (Rational Bzier curve)A rational Bzier curve in is the projection of a polynomial Bzier curve in .

    Definition 5.2 (Rational Bzier curve, analytic definition)Given:

    control points

    (e. g. )(projections of the -dimensional control points

    )

  • 5 Rational Curves 58

    "

    !

    #

    "

    $

    Figure 5.2: Interpretation of rat. curves with homogeneous coordinates (proj. )

    weights 4

    4

    4

    (homogeneous component of the control points)We can assume without loss of generality: 4

    4

    .

    Then:

    5

    4

    4

    (5.1)

    is called rational Bzier curve over the interval .

    5.1.1 Properties of rational Bzier curvesLet a rational Bzier curve and 4

    4

    4

    .

    (1) If all 4

    , then we get the well known polynomial Bzier curves.

    (2)

    (convex hull property)(3)

    (endpoint interpolation)(4) The curve is tangent to the control polygon in the endpoints.(5) Affine (even projective) invariance affine yields:

    !

    !

    5

    I. e. 5

    (6) shows the variation diminishing property with respect to

    .

  • 59 5.1 Rational Bzier Curves

    5.1.2 Evaluation of rational BziercurvesThe de Casteljau algorithm in homogeneous coordinates can be used to evaluate and subdividethe curve.1st possibility:Evaluate de Casteljau in the next higher dimension and project the result onto the 4 -plane.The computation is done according to the scheme in Figure 5.3.

    4

    4

    4

    4

    4

    4

    (5.2)

    "

    "

    "

    "

    "

    "

    "

    "

    "

    "

    "

    "

    Figure 5.3: de Casteljau scheme for rational Bzier curvesProblem: The Algorithm is numerically unstable if the weight differ very much.

    2nd possibility: Rational de Casteljau algorithm

    4

    4

    4

    4

    (5.3)

    with 4

    4

    4

    for "

    5.1.3 Influence and properties of the weightsTheorem 5.1 (Effect and properties of the weights)

    (1) For 4

    4

    4

    the rational Bzier curve is equal to a polynomial Bziercurve.

    (2) Multiplication of all weights with a common factor does not change the curve.(3) More general: If for all ratios

    4

    4

    4

    4

    const.

    then the curve has the same shape but another parametrization.

    (4) Increasing the weight 4

    pulls the curve to the control point

    . Decreasing the weight4

    pushes the curve away from the control point

    (see Figure 5.4).

  • 5 Rational Curves 60

    (5) In the limit case:

    #

    (5.4)

    Remark: From the properties (2) and (3) follows that we can assume without loss of generality that

    (proof given in the exercices).

    "

    " %

    "

    " %

    Figure 5.4: Effect of the weights ( )

    Supplement: Conic Sections

    Definition 5.3 (Conic section) analytic: given a quadratic polynomial

    )

    .

    quadratisch 6

    linear

    konstant

    then a conic section is defined as the point set

    )

    i. e. a conic section is the

    geometric: section of a plane with a double cone.

    The coefficients . determine the type of the conic section.

    .

    #

    #

    .

    The type of the conic section can be seen directly from the determinant of this matrix.

    Graph Angle between cone axisand plane

    determinant of

    #

    #

    .

    ellipsis greater than cone opening greater than 0parabola equals cone opening equals 0hyperbola less that cone opening less than 0

  • 61 5.1 Rational Bzier Curves

    Figure 5.5: Conic sections: ellipsis, parabola und hyperbola

    Example:

    )

    "

    #

    unit circle)

    "

    #

    standard parabola

    )

    $

    %

    hyperbola

    Conic sections can not be represented as polynomials but as rational functions.

    Theorem 5.2 Each rational quadratic Bzier curve is part of a conic section. For 4

    4

    and4

    we have:

    ellipsisparabola

    hyperbola

    &

    '

    (

    4

    4

    4

    Each part of a conic section can be represented as a rational quadratic Bzier curve.

    5.1.4 Quadratic rational Bzier Curves as Conic SectionsTheorem 5.3Given: a rational quadratic Bzier curve over with

    4

    4

    (5.5)

    Choose coordinate system 2 7 such that

  • 5 Rational Curves 62

    Then: is part of a conic section with the defining equation

    2 7

    4

    2 7 (5.6)Proof: Let 8

    8

    4

    .

    4

    8

    8

    Thus, in the coordinate system 2 7 we have

    2

    7

    and additionally:

    4

    2 7

    4

    2 7

    4

    4

    2 7

    (2) From equation 5.6 follows 2 7 4

    27 2 7 and therefore

    2 7

    4

    4

    2

    7

    $%

    4

    4

    4

    4

    ellipsisparabola

    hyperbola

    &

    '

    (

    4

    4

    4

    5.1.5 Segments of Conic Sections as quadratic rational Bzier CurvesGiven:

    )

    .

    6

    conic section

    )

  • 63 5.1 Rational Bzier Curves

    two points

    on the same component of

    (e. g. on the samebranch of a hyperbola) with intersecting tangents.

    Find: Representation of the corresponding segment of a conic section as a rational quadraticBzier curve

    " 4

    " 4

    4

    .

    Procedure:

    (1) Choose

    as given.

    (2) Choose

    as intersection point of the tangents +

    and +

    :

    +

    ()

    (

    ()

    (

    Intersection point: solve

    +

    +

    .

    (3) Express the given polynomial ) in the coordinate system 2 7 with

    :

    2

    7

    2

    7

    Inserting this into ) gives a new polynomial (also of degree 2) with )2 7 ) .

    ) describes the conic section in the coordinate system 2 7.

    (4) Determine the weight 4

    using equation 5.6

    )2 7

    4

    2 7

    2 7

    0

    0

    4

    2

    7

    2 7

    4

    2 7

    These are two equations for two variables comparison of the coefficients gives thesolutions 4

    0.

    Example: Unit circle: )

    "

    (1)

  • 5 Rational Curves 64

    (2) +

    " +

    (3)

    2

    7

    )2 7 7

    2

    2

    7

    2 7

    (4) Comparison of coefficients to determine 4

    and 0:

    "

    0

    4

    4

    Remark: For a circle arc of an arbitrary opening angle we get

    .

    5.1.6 Rational Bzier-Spline CurvesA rational Bzier-spline curve is a curve that is composed of single rational Bzier curves.Example: Representation of the circle with four segments. Control points:

    The weights are 4

    4

    and 4

    (see example in the previous section).The corresponding 3D curve is the intersection curve of a cone (opened at top) with a pyramid(opened at bottom).

    Figure 5.6: Intersection of a cone with a pyramid and projection of the intersection line

    Remark: The higher dimensional curve is not smooth while the projected curve is smooth. This is quitetypical for rational spline curves. By projection one can gain differentiability!

  • 65 5.2 Rational B-Spline Curves (NURBS)

    Theorem 5.4Given: Rational Bzier curves and ) with control points

    ,

    and weights 4

    4

    ,

    . Additionally, set 4

    4

    .

    The curve composed from and ) is continuously differentiable

    4

    4

    4

    (5.7)

    Geometric interpretation:

    divides the line segment from

    to

    by the ratio

    4

    .

    Proof: We have 4

    and )

    . Because

    , we

    can summarize:

    4

    4

    5.2 Rational B-Spline Curves (NURBS)

    no local support local support

    rational rational Bzier curves NURBS

    polynomial Bzier curves B-splines

    Table 5.1: Summary: polynomial and rational curve schemes

    NURBS = non-uniform rational B-spline.

    Definition 5.4 (Rational B-spline curve)A rational B-spline curve in is the projection of a B-spline curve in .Definition 5.5 (Rational B-spline curve, analytic definition)Given:

    degree ,

    knot vector + ,

    control points

    ,

    weights 4

    4

    with 4

    4

    .

  • 5 Rational Curves 66

    Then:

    4

    4

    (5.8)

    is called rational B-spline curve.

    Advantages:

    compared with rational Bzier-spline curves: -continuity of rational B-spline curvesof th degree

    compared with B-spline curves: more degrees of freedom

    Disadvantages: is linearly dependent of the

    , but not of the 4

    .

    For tasks of approximation and interpolation NURBS are improper, because you cant builda linear system of equations.

  • 67

    6 Elementary Differential Geometry for Curves

    We are not (really) interested in the parametric representation of curves but in the shape of acurve. What characterizes shape?

    6.1 ReparametrizationDefinition 6.1 (Regular curve)Let a differentiable curve " . Then: is called regular forall . is the (unique) tangent direction at the point .Now we consider a reparametrization or parameter transformation of a regular curve:

    &

    Definition 6.2 (Equivalence of curves)Let and & regular curves. Then: and & are called equivalent(notation: & ) there exists a differentiable mapping with forall such that & .

    Example:

    &

    &

    Example: Arc lengthLet a regular curve. If we denote the length of the curve segment with 9!

    "

    , then:

    9

    !

    "

    #

    )

    *

    #

    )

    *

    +

    !

    "

    (6.1)

    This leads to a nice parametrization (arc length parametrization). In this special case we have9

    !

    "

    for all and therefore+

    !

    "

    for all

  • 6 Elementary Differential Geometry for Curves 68

    &

    Figure 6.1: Arc length

    Example: Circle:

    :

    Parameter transformation: : yields &

    #$

    #$

    &

    .

    Theorem 6.1Every regular curve can be reparametrized by arc length parametrization. This can be achievedby the following parameter transformation:

    Let ' +

    then & ' (6.2)

    is a reparametrization according to the arc length.

    Example: In the previous example we had ' , thus & $

    :.

    Remark: Bzier curves are rarely arc length parametrized.

    6.2 Planar CurvesDefinition 6.3 (2D Frenet frame)Given: Let a regular parametric curve.The local coordinate system 6

    6

    with

    6

    (6.3)

    6

    6

    rotated by (6.4)

    is called 2D Frenet frame1 of .

    1Jean Frdric Frenet (1816-1900)

  • 69 6.2 Planar Curves

    '

    '

    Figure 6.2: The 2D Frenet frame

    Theorem 6.2 (Frenet)For the derivatives of 6

    and 6

    the following holds:

    6

    4 6

    6

    4 6

    The quantity ;

    %

    is called curvature of the curve.For arc length parametrized curves:

    ; 4

    curve bends to the left

    curve bends to the right

    Sketch of Proof: The theorem states that 6

    and 6

    (respectively 6

    und 6

    ) are perpendicular;this is the case if and only if 6

    const., because from 6

    6

    6

    6

    follows 6

    and 6

    const. This is true by the normalization of 6

    .

    Remark:

    &

    is the radius of the osculating circle with the midpoint

    Theorem 6.3For a curve point

    it holds true that

    ;

    '

    (6.5)

    Example: Ellipsis:

  • 6 Elementary Differential Geometry for Curves 70

    ;

    '

    '

    Theorem 6.4The curvature characterizes the curve uniquely short of rotation and translation. Additionally:

    ; is a line segment.

    ; ;

    const. is a circle arc (with radius &

    ).Remark: Distinguish between geometric and parametric properties of a curve. Geometric means inde-pendent of the parametrization. Example:

    geometric parametricunit tangent vector tangent vector Frenet frame curvature vector curvature all derivatives

    6.3 Space CurvesDefinition 6.4 (3D Frenet frame)Given: curve . The local coordinate system 6

    6

    6

    with

    6

    unit tangent vector

    6

    6

    6

    main normal vector (6.6)

    6

    binormal vector

    shows the following properties:

    6

    6

    6

    is orthonormal

    !6

    6

    !

    with the same orientation

    6

    6

    6

    is positively oriented (right handed system)

    Theorem 6.5 (Frenet-Serret)For the derivatives the following holds:

    6

    4

    6

    6

    4

    6

    4

    6

    6

    4

    6

    (6.7)

  • 71 6.3 Space Curves

    '

    '

    '

    Figure 6.3: The 3D Frenet frame

    In matrix notation:

    6

    6

    6

    4

    4 4

    4

    6

    6

    6

    Definition 6.5 (Curvature and torsion)

    curvature: ; 4

    (6.8)

    torsion: - 4

    (6.9)

    Theorem 6.6Formulas to compute ; and - :

    quantity arc length parameter arbitrary parameter

    ;

    -

    $%

    $%

    (6.10)

    Example: Spiral:

    <

    Derivatives:

    <

  • 6 Elementary Differential Geometry for Curves 72

    Figure 6.4: Spiral

    6

    (

    3

    (7.1)

    -1

    0

    1

    2

    -1

    0

    1

    2

    -1

    0

    1

    -1

    0

    1

    2

    -1

    0

    1

    2

    Figure 7.1: A tensor product Bzier surface

    Of special interest are:

    Definition 7.1 (Tensor Product Bzier Surface)

    >

    (7.2)

    Definition 7.2 (Tensor Product B-Spline Surface)

    )

    (7.3)

    with knot vectors +

    and >

    .

  • 7 Tensor Product Surfaces 78

    Remark: We can factorize:

    !

    !

    !

    !

    Each fixed gives a control point of the ! curve

    The tensor product surface is a curve of curves!

    With the same approach we get rational tensor product Bzier and B-spline surfaces: consider aTP Bzier or a TP B-spline surface in 4D space (homogeneous coordinates) and divide by the 4component. This gives:

    4

    4

    4

    Definition 7.3The array of control points

    of a tensor product surface is called the control net of the surface(analogon of control polygon for curves).

    Figure 7.2: Parameter grid, control net and resulting surface

    7.2 Tensor Product Bzier SurfacesGiven: a tensor product (TP) Bzier surface

    >

    Theorem 7.1 (Shape properties of TP Bzier surfaces)(a) Convex hull property: > convex hull

    for .

    (b) Interpolation of the four corners of the control net:>

    >

    >

    >

    .

  • 79 7.3 Algorithms for TP Bzier Surfaces

    (c) Tangency in the corner points, e. g. the tangent plane at >

    is spanned by

    and

    .

    (d) The boundary curves are Bzier curves, their control points are the boundary points of thecontrol net (e. g. > is Bzier curve).

    (e) Affince invariance(f) Variation diminishing property does not hold!

    Sketch of Proof: affine invariance: >

    must be a barycentric (affine)combination:

    convex hull: and

    > is a convex combination.

    7.3 Algorithms for TP Bzier Surfaces7.3.1 Evaluation with the TP Approach

    Given: TP Bzier surface >

    parameter values ,

    Proceeding:

    (1) Apply the univariate de Casteljau algorithm in -direction times:

    .

    (2) Apply the univariate de Casteljau algorithm in -direction once:

    >

    .

    or first in -direction, afterwards in -direction. The evaluation with the TP approach first in-direction, then in -direction is depicted in Figure 7.3.

    Choice of the best order of evaluation (smallest number of needed arithmetic operations): If : first in -, afterwards in -Richtung

    If : first in -, afterwards in -Richtung

  • 7 Tensor Product Surfaces 80

    ( )

    )

    Figure 7.3: de Casteljau scheme for tensor product Bzier surfaces

    7.3.2 The direct de Casteljau AlgorithmIdea: use bilinear interpolation instead of linear interpolation.

    Theorem 7.2 (Bilinear interpolation formula)

    >

    (7.4)

    )

    Figure 7.4: Bilinear interpolation

    The bilinear interpolation formula (see Figure 7.4) is applied to the whole control net in thedirect de Casteljau Algorithm (see Figure7.5). Therefore the evaluation scheme looks like athree-dimensional pyramid.

  • 81 7.3 Algorithms for TP Bzier Surfaces

    Algorithm 7.1 (Direct de Casteljau)

    (7.5)

    "

    Then:

    > .

    )

    ( )

    Figure 7.5: Direct de Casteljau schemeProblem: If you have to use the univariate de Casteljau algorithm on from a certain step.This makes the implementation considerably more difficult.

    Comparison of direct de Casteljau and TP approach according to the number of convex combi-nations (CC):

    TP approach direct de Castejau CC CC CC CC

    In practice the TP approach is used, because it is more efficient and you dont have to do anydistinction of cases.

    Remark: Other algorithms like degree elevation or subdivision can be derived from the correspondingalgorithms for curves.

  • 7 Tensor Product Surfaces 82

    7.4 Tensor Product B-Spline Surfaces

    Given:

    knot vector +

    knot vector >

    array of control points

    3

    surface

    )

    Theorem 7.3 (Shape properties of TP B-spline surfaces)(a) Local convex hull property:

    convex hull

    %

    (b) Affine invariance

    (c) Endpoint interpolation: if

    and

    then

    .

    In this case: tangency in the corner points, and the boundary curves are B-spline curveswith the boundary points of the control net as curve control points. The tangential planeat the corners is spanned by the control points, e. g. +

    %

    ?

    ,

    .

    (d) Local control: a control point has influence only on a part of the surface.Changing

    will change only for

    .

    (e) Variation diminishing property does not hold!

    Remark: Remember from curves: a Bzier curve is a special case of a B-spline curve. A Bzier curveover the interval with the control points

    is a B-spline curve over the knot vector

    with the same control points. The same property holds true for tensor product

    surfaces.

  • 83 7.5 Algorithms for TP B-Spline Surfaces

    7.5 Algorithms for TP B-Spline Surfaces

    7.5.1 Evaluation of TP B-Spline Surfaces

    Given:

    )

    with knot vectors > and + .The proceeding is similar to the TP approach of TP Bziersurfaces:

    (1) Evaluate B-Spline curves of degree with de Boor in -direction.

    (2) Evaluate one B-Spline curve of degree with de Boor in -direction.

    7.5.2 Knot insertion

    The Boehm knot insertion algorithm for increasing modelling parameters (i. e. control points) ina local area will produce overhead, because the refinement of the control net can only be doneby adding new rows and columns.

    Figure 7.6: Knot insertion with the Boehm algorithm

    One alternative are hierarchical B-splines (by Forsey and Bartels, Siggraph88). In this solution,a B-spline surface & is composed of a patch over a coarse parameter grid and,local detail ) defined over a locally refined parameter grid. You can see in Figure 7.7 thatthe grid is refined only where needed.

    ) )

    )

    Figure 7.7: Building a hierarchical knot grid for B-spline patches

  • 7 Tensor Product Surfaces 84

    7.6 Interpolation and Approximation7.6.1 General interpolationBe

    @

    . Consider @

    as basis functions

    :

    Task: Interpolation/approximation of data points

    with parameter values

    :

    .

    3

    Interpolation and approximation are exactly the same as for Bzier and B-Spline curves.Problem: For curves we have the Theorem of Schoenberg-Whitney, that says if the interpola-tion/approximation matrix is invertable. But there is no comparable theorem for surfaces.

    7.6.2 Special case: Interpolation at the knotsInterpolation over grids:Given: data points

    with parameter values

    for 3Find: surface

    @

    .

    with

    % 3

    @

    @

    .

    .

    .

    .

    .

    .

    @

    @

    *

    .

    .

    .

    .

    .

    .

    +

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    ,

    The resulting matrix system is very large. For 3 for example you have to do operations. Therefore the following proceeding is better:

    (1) Solve @ A B(2) Solve A

    Tasks (1) and (2) are interpolation problems of curves, for whom the corresponding algorithmscan be applied.

    Interpolation at the knots:If

    , then tasks (1) and (2) are tridiagonal matrices and therefore solvable in afast way.

  • 85 7.7 Trimming of parametric Patches

    7.7 Trimming of parametric PatchesOne disadvantage of tensor product Bzier and B-spline surfaces is that all patches are square-like; it is not possible to model surfaces that does not have a well-defined tangent plane (i. e. if

    ).

    Figure 7.8: Trimming a patch

    A solution are trimmed patches. Specify a set of closed contours )

    )

    in the parameterdomain, where )

    is the outer contour and )

    )

    are inner contours (see Figure 7.9). Bydefinition: shall belong to the trimmed surface if

    is inside with respect to )

    and

    is outside with respect to )

    )

    .

    )

    Figure 7.9: Specifying inner and outer contours in the parameter domain

    How to determine if a point is inside or outside the trimmed surface (see Figure 7.10)?Theorem 7.4Given: a closed contour ) with ) ):

    is inside ) a ray emanating from intersects the contour times with being odd.

    is outside ) a ray emanating from intersects the contour times with beingeven.

  • 7 Tensor Product Surfaces 86

    **

    **

    * *

    Figure 7.10: Determining inside and outside of a trimmed patch

  • 87

    8 Ray Tracing of TP-Bzier Surfaces (Bzier Clipping)

    In this chapter, we want to discuss an algorithm to compute intersections between rational tensorproduct Bzier surfaces and rays. In particular, this is important for rendering Bzier patchesusing the ray tracing approach.For more information see Nishita et al., Siggraph90.Given:

    rational TP Bzier patch

    4

    4

    (8.1)

    ray C

    8

    Find: intersection, i. e. find and such that C .Remark: This problem is analytically solvable only for low polynomial degrees. Therefore an iterativeapproximation algorithm as presented here is normally a better approach.

    1st step:Represent the ray as an intersection of two planes:

    .

    .

    +

    Figure 8.1: Bzier clipping, step 1

    Example: Select plane normal vectors that are perpendicular to 8

    -

    , e. g.

    .

    and

    .

    -

    . Then determine

    and

    by applying

    :

    .

    .

  • 8 Ray Tracing of TP-Bzier Surfaces (Bzier Clipping) 88

    2nd step:Find intersection of with the two planes:

    -

    .

    ,

    ,

    ,

    ,

    ,

    ,

    .

    "

    -

    .

    ,

    ,

    ,

    ,

    ,

    ,

    4

    .

    4

    We get

    5

    and

    >

    with

    4

    -

    .

    ,

    ,

    ,

    ,

    ,

    ,

    .

    4

    and

    4

    -

    .

    ,

    ,

    ,

    ,

    ,

    ,

    .

    4

    Remark: This is a projection of ! along