Title: FreeForm Curves and Surfaces
1Free-Form Curves and Surfaces
2How a scene is created
3Geometric 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
4Freeform 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
5A 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.
6Splines 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
7Polynomial 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)
8Mathematical 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?
9Geometric 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
10More 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
11Cubic 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
12Hermite 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
13Hermite 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.
14Hermite 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) ?
15Parametric 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
16Cubic 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
17Cubic 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 ?
18Parameterization
- 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?
19Parameterization
Question Why do we need arc/chord length curves
for?
20Bezier 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
21Algebraic 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)
23Algebraic Form of Bezier Curves
24Algebraic Form of Bezier Curves
-
- why?
- Curve is linear combination of basis functions
- Curve is affine combination of control points
25De Casteljau Construction
Select t?0,1 value. Then,
Bezier
26Properties 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 ?
27Drawbacks 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
28B-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.
29Uniform Cubic B-Spline Curves
- Definition (uniform knot sequence, ?i - ?i-1 1)
30Uniform 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
31Boundary 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?
32Local Control of B-spline Curves
- Control point Pi
- affects ? (t) only for
- t?(?i, ?i4)
33Properties 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
34From 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
35From Curves to Surfaces (contd)
- Then
- or
- Question What is the difference between u and v?
BezPatch