 # Curves Mortenson Chapter 2-5 and Angel Chapter 9

## Presentation on theme: "Curves Mortenson Chapter 2-5 and Angel Chapter 9"— Presentation transcript:

Curves Mortenson Chapter 2-5 and Angel Chapter 9
Geometric Modeling Curves Mortenson Chapter 2-5 and Angel Chapter 9

Curve Basics Curve: Locus of a point moving with 1 degree of freedom.
Some types of equations to describe curves: Intrinsic No reliance on external frame of reference Explicit Value of dependent variable in terms of independent variable(s) e.g. y = f (x) Implicit e.g. f (x,y) = 0 Parametric Express value of each spatial variable in terms of an independent variable (the parameter) e.g. for parameter u in 3D: x = x (u) y = y (u) z = z (u) source: Mortenson, Angel

Intrinsic Definition No reliance on external frame of reference
Requires 2 equations as functions of arc length* s: Curvature: Torsion: For plane curves, alternatively: *length measured along the curve Torsion (in 3D) measures how much curve deviates from a plane curve. Treated in more detail in Chapter 12 of Mortenson and Chapters 10, 19 of Farin. source: Mortenson

Explicit Form Value of dependent variable in terms of independent variable(s) e.g. in 2D: one y value for each x value: y = f (x) e.g. in 3D: y = f (x) and z = g (x) Axis-dependent Not guaranteed to exist e.g. for 2D circle only one half is described by: Special cases can be problematic e.g. y = mx + h is inappropriate for vertical lines source: Mortenson, Angel

Implicit Form General form: f (x,y) = 0 Examples: Axis-dependent
Straight line: Ax + By + C=0 Conic curve: Ax2 + 2Bxy + Cy2 + Dx + Ey + F=0 Axis-dependent Can represent all lines and circles and more… Some implicit forms are hard to parameterize. source: Mortenson, Angel

Parametric Form Express value of each spatial variable in terms of an independent variable (the parameter) e.g. for parameter u in 3D: x = x (u) y = y (u) z = z (u) For a curve segment, typically Curve segments can be joined to form composite spline* (bendable) curves. Parametric form of a given curve is not necessarily unique. Every parametric form has an implicit form. *see Mortenson p. 105 (or Farin p. 167) for spline definition as a “minimum energy curve.” source: Mortenson, Angel

Parametric Form Vector components of pu(u):
tangent vector* Vector components of pu(u): *unless otherwise noted, tangent vectors not drawn to scale. source: Mortenson

Allow separation of variables and direct computation of point coordinates. Accommodate all slopes. Bounded when parameter lies in a bounded interval. More degrees of freedom to control curve shape. Various forms of continuity can be enforced at curve segment join points. See Mortenson p.46 for more… source: Mortenson

Continuity at Join Points
Discontinuous: physical separation Parametric Continuity Positional (C0 ): no physical separation C1 : C0 and matching first derivatives C2 : C1 and matching second derivatives Geometric Continuity Positional (G0 ) = C0 Tangential (G1) : G0 and tangents are proportional, point in same direction, but magnitudes may differ Curvature (G2) : G1 and tangent lengths are the same and rate of length change is the same source: Mortenson, Angel, Wiki

4 Typical Types of Parametric Curves
Control points influence curve shape. Interpolating Curve passes through all control points. Hermite Defined by its 2 endpoints and tangent vectors at endpoints. Interpolates all its control points. Not invariant under affine transformations. Special case of Bezier and B-Spline. Bezier Interpolates first and last control points. Curve is tangent to first and last segments of control polygon. Easy to subdivide. Curve segment lies within convex hull of control polygon. Variation-diminishing. Special case of B-spline. B-Spline Not guaranteed to interpolate control points. Invariant under affine transformations. Greater local control than Bezier. source: Mortenson, Angel

Interpolating Interpolates all control points. Geometric form:
Rarely used due to lack of derivative continuity at curve segment join points. cubic case with equally spaced parameter values source: Angel

Hermite Geometric form (cubic case):
Hermite curves can provide C1 continuity at curve segment join points. source: Mortenson

Bernstein polynomials.
Bezier Geometric form (cubic case): Bezier curves can provide C1 continuity at curve segment join points. Bernstein polynomials. n+1 = number of control points = degree + 1 Adding a control point elevates degree by 1. Convex combination, so Bezier curve points all lie within convex hull of control polygon. Rational form is invariant under perspective transformation: where hi are projective space coordinates (weights) source: Mortenson

B-Spline Geometric form (non-uniform, non-rational case), where K controls degree (K -1) of basis functions: Cubic B-splines can provide C2 continuity at curve segment join points. N ti are knot values that relate u to the control points. Uniform case: space knots at equal intervals of u. Repeated knots move curve closer to control points. Convex combination, so B-spline curve points all lie within convex hull of control polygon. Rational form (NURBS) is invariant under perspective transformation, where hi are projective space coordinates (weights). source: Mortenson

OpenGL Demo to accompany HW#2
Geometric Modeling OpenGL Demo to accompany HW#2