FreeForm Curves and Surfaces - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

FreeForm Curves and Surfaces

Description:

Free-Form Curves and Surfaces. Geomertic Modeling I - Center for ... How a scene is created ... The canonical, monomial basis for polynomials is {1, x, x2, x3, ... – PowerPoint PPT presentation

Number of Views:133
Avg rating:3.0/5.0
Slides: 35
Provided by: craigg97
Category:

less

Transcript and Presenter's Notes

Title: FreeForm Curves and Surfaces


1
Free-Form Curves and Surfaces
2
How a scene is created
3
Geometric Modeling
  • Objective Develop methods and algorithms to
    mathematically model shape of real world objects
  • Most virtual scenes are designed using modeling
    tools
  • Maya3D, XSI, 3DSMax, Autocad, .
  • Need methods for prescribing smooth and
    continuous shapes.
  • The most common way today is using parametric
    curves and surfaces
  • We will cover mostly curves, for the rest CAGD
    course
  • We will cover subdivision curves and surfaces

4
Freeform Representation
  • Explicit form z z(x, y)
  • Implicit form f(x, y, z) 0
  • Parametric form S(u, v) x(u, v), y(u, v),
    z(u, v)
  • Example origin centered sphere of radius R

5
A representation of choice
  • What makes a good representation for solid
    modeling?
  • Ease/Intuitive shape manipulation
  • Class of representable models
  • Ease of display and evaluation
  • Ease of query answering such as inside/outside,
    subdivision, interference
  • Robustness and accuracy
  • Closure under operations such as Booleans.

6
Splines Free Form Curves
  • To allow control of curves need description via
    set of basis functions coefficients
  • Require geometric meaning of coefficients (base)
  • Approximate/interpolate set of positions,
    derivatives, etc..
  • Typically parametric

7
Polynomial Bases
  • Polynomials are easy to analyze, derivatives
    remain polynomial, etc.
  • Monomial basis 1, x, x2, x3,
  • Coefficients are geometrically
  • meaningless
  • Manipulation is not robust
  • Number of coefficients
  • polynomial rank
  • We seek coefficients with geometrically intuitive
    meanings
  • Other polynomial bases (with better geometric
    intuition)
  • Lagrange (Interpolation scheme)
  • Hermite (Interpolation scheme)
  • Bezier (Approximation scheme)
  • B-Spline (Approximation scheme)

8
Mathematical Continuity
  • C1(t) C2(t), t ? 0,1 - parametric curves
  • Level of continuity of the curves at C1(1) and
    C2(0) is
  • C-1C1(1) ? C2(0) (discontinuous)
  • C0 C1(1) C2(0) (positional continuity)
  • Ck, k gt 0 continuous up to kth derivative
  • Continuity of single curve inside its parameter
    domain is similarly defined - for polynomial
    bases it is C?

9
Geometric Continuity
  • Mathematical continuity is too strong a
    requirement
  • May be relaxed to geometric continuity
  • Gk, k ? 0 Same as Ck
  • Gk, k 1 C'1(1) ? C'2(0)
  • Gk, k? 0 There is a reparameterization of C1(t)
    C2(t), where the two are Ck
  • E.g.
  • C1(t)cos(t),sin(t), t???/2,0
  • C2(t)cos(t),sin(t), t?0,?/2
  • C3(t)cos(2t),sin(2t), t?0,?/4
  • C1(t) C2(t) are C1 ( G1) continuous
  • C1(t) C3(t) are G1 continuous (not C1)

C2, C3
C1
10
More on Continuity
  • Consider a set of points Pii0,n
  • A piecewise constant interpolant will be C-1
  • A piecewise linear interpolant will be C0
  • Polyhedra are usually piecewise linear
    approximation of freeform polynomials
  • Polyhedra are C0 continuous
  • Higher order polynomials posses better continuity

11
Cubic Hermite Basis
  • Set of polynomials of degree k is linear vector
    space of degree k1
  • The canonical, monomial basis for polynomials is
  • 1, x, x2, x3,
  • Define geometrically-oriented basis for cubic
    polynomials
  • hi,j(t) i, j 0,1, t?0,1
  • Has to
  • satisfy

12
Hermite Cubic Basis (contd)
  • The four cubics which satisfy these conditions
    are
  • Obtained by solving four linear equations in four
    unknowns for each basis function
  • Prove Hermite cubic
  • polynomials are linearly
  • independent and form a
  • basis for cubics

13
Hermite Cubic Basis (contd)
  • Lets solve for h00(t) as an example.
  • h00(t) a x3 b x2 c x d
  • must satisfy the following four
  • constraints
  • Four equations and four unknown to solve for.

14
Hermite Cubic Basis (contd)
  • Let C(t) be a cubic polynomial defined as the
    linear combination
  • What are C(0), C(1), C(0), C(1) ?

15
Parametric Splines
  • So far we solve for a single explicit function
    C(t)
  • Cannot represent closed curves such as a circle
  • Why ?
  • Solution, let Pi (xi, yi) and Ti (tix, tiy)
    be vector functions
  • Solve for each individual
  • axis independently
  • Here is an example of
  • four Hermite cubis that
  • approximate a circle

16
Cubic Splines
  • Standard spline input set of points Pii0, n
  • No derivatives specified as input
  • Can we prescribe derivatives values in order to
    achieve C2?
  • Interpolate by n cubic segments (4n DOF)
  • Derive Tii0 , n from C2 continuity constraints
  • Solve 4n equations

17
Cubic Splines
  • Have two degrees of freedom left (to reach 4n
    DOF)
  • Options
  • Natural end conditions C1''(0) 0, Cn''(1) 0
  • Complete end conditions C1'(0) 0, Cn'(1) 0
  • Prescribed end conditions (derivatives available
    at the ends)
  • C1'(0) T0, Cn'(1) Tn
  • Quadratic end conditions
  • C1''(0) C1''(1), Cn''(0) Cn''(1),
  • Periodic end conditions
  • C1'(0) Cn'(1), C1''(0) Cn''(1),
  • Question What parts of C(t) are affected as a
    result of a change in Pi ?

18
Parameterization
  • The assumption t ? 0,1 (uniform
    parameterization) is arbitrary
  • Implicitly implies same curve length for each
    segment
  • Not natural if points are not equally spaced
  • One alternative - chord-length parameterization
  • Question Can chord-length parameterization be
    used for cubic Hermite splines?

19
Parameterization
Question Why do we need arc/chord length curves
for?
20
Bezier Curves
  • Bezier curve is an approximation of given control
    points
  • Denote by ? (t) t?0,1
  • Bezier curve of degree n is defined over n1
    control points Pii0, n
  • Have two
  • formulations
  • Constructive
  • Algebraic

21
Algebraic Form of Bezier Curves
  • Bezier curve for set of control points Pii0, n
  • where Bin(t)i0, n Bernstein basis of
    polynomial of
  • degree n
  • Here is a
  • Cubic case
  • example

22
(No Transcript)
23
Algebraic Form of Bezier Curves
24
Algebraic Form of Bezier Curves
  • why?
  • Curve is linear combination of basis functions
  • Curve is affine combination of control points

25
De Casteljau Construction
Select t?0,1 value. Then,
Bezier
26
Properties of Bezier Curves
  • ? (t) is polynomial of degree n
  • ? (t) ? CH(P0,,Pn)
  • ? (0) P0 and ? (1) Pn
  • ? '(0) n(P1?P0) and ? '(1) n(Pn?Pn-1)
  • ? (t) is affine invariant and variation
    diminishing
  • ? (t) is intuitive to control via Pi and it
    follows the general shape of the control polygon
  • ? '(t) is a Bezier curve of one degree less
  • Questions
  • What is the shape of Bezier curves whose control
    points lie on one line?
  • How many line Bezier segments between two given
    points exist of degree 2? Degree 3? Higher?
  • How can one connect two Bezier curves with c0
    continuity? c1 ? c2 ?

27
Drawbacks of Bezier Curves
  • Degree corresponds to number of control points
  • Global support change in one control point
    affects the entire curve
  • For large sets of points curve deviates far
    from the points
  • Cannot represent conics exactly. Most noticeably
    circles
  • Can be resolved by introducing a more powerful
    representation of rational curves.
  • As an example, a 90 degrees arc as a rational
    Bezier curve

28
B-Spline Curves
  • Idea Generate basis where functions are
    continuous across the domains while presenting
    local support
  • For each parameter value only a finite set of
    basis functions is none zero
  • The parametric domain is subdivided into sections
    at parameter values denoted knots, ?i .
  • The B-spline functions are then defined over the
    knots
  • The knots are denoted uniform knots if ?i - ?i-1
    c, constant. W.l.o.g.,
  • assume c 1.

29
Uniform Cubic B-Spline Curves
  • Definition (uniform knot sequence, ?i - ?i-1 1)

30
Uniform Cubic B-Spline Curves
  • For any t ? 3, n
  • (prove it!)
  • For any t ? 3, n at most four basis functions
    are non zero
  • Any point on a cubic B-Spline is an affine
    combination of at most four control points

31
Boundary Conditions for Cubic B-Spline Curves
  • In general, B-Splines do not interpolate control
    points
  • in particular, the uniform cubic B-spline curves
    do not interpolate the end points of the curve.
  • Why is the end points interpolation important?
  • Two ways are common to force endpoint
    interpolation
  • Let P0 P1 P2 (same for other end)
  • Add a new control point (same for other end) P-1
    2P0 P1 and a new basis function N-13(t).
  • Question
  • What is the shape of the curve at the end points
    if the first method is used?
  • What is the derivative vector of the curve at the
    end points if the first method is used?

32
Local Control of B-spline Curves
  • Control point Pi
  • affects ? (t) only for
  • t?(?i, ?i4)

33
Properties of B-Spline Curves
  • For n control points, ? (t) is a piecewise
    polynomial of degree 3, defined over t?3, n)
  • and for specific
    t t0?
  • ?(t) is affine invariant and variation
    diminishing
  • ?(t) follows the general shape of the control
    polygon and it is intuitive and ease to control
    its shape
  • Questions
  • What is ? (?i) equal to?
  • What is ? '(?i) equal to?
  • What is the continuity of ? (t) ? Prove it!

B-spline
34
From Curves to Surfaces
  • A curve is expressed as inner product of
    coefficients Pi and basis functions
  • One why of extending curves into surfaces is to
    treat surface as a curves of curves. This
    approach is also known as tensor product surfaces
  • Assume Pi is not constant, but are functions of a
    second, new parameter v

35
From Curves to Surfaces (contd)
  • Then
  • or
  • Question What is the difference between u and v?

BezPatch
Write a Comment
User Comments (0)
About PowerShow.com