Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.
-
Upload
clarissa-fletcher -
Category
Documents
-
view
229 -
download
7
Transcript of Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.
![Page 1: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/1.jpg)
Curve Modeling
Dr. S.M. MalaekAssistant: M. Younesi
![Page 2: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/2.jpg)
Parametric Polynomials
![Page 3: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/3.jpg)
Parametric Polynomials For interpolating n point we need a
polynomial of degree n-1.
![Page 4: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/4.jpg)
Parametric PolynomialsPolynomial interpolation has several disadvantages: If the polynomial degree is high, unwanted wiggles
are introduced. If the polynomial degree is law, it gives too little
flexibility. No local operations.
![Page 5: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/5.jpg)
Solution:Polynomial Splines
![Page 6: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/6.jpg)
Spline Curve
![Page 7: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/7.jpg)
Spline Curve In drafting terminology, a spline is a
flexible stripflexible strip used to produce a smooth curve through a designated set of points.
Flexible Strip
![Page 8: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/8.jpg)
Spline Curve Several small weightsweights are distributed
along the length of the strip to hold it in position on the drafting table as the curve is drawn.
Weights
![Page 9: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/9.jpg)
Spline Curve The term spline curvespline curve originally
referred to a curve drawn in this manner.
![Page 10: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/10.jpg)
Spline Curve In modeling, the term spline curvespline curve refers
to a any composite curve formed with polynomial section satisfying specified continuity conditions at the boundary of the pieces.
![Page 11: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/11.jpg)
Control Points A spline curve is specified by given a set of
coordinate positions, called control points.
Control points indicates the general shape of the curve.
![Page 12: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/12.jpg)
Control Points A spline curve is defined,
modified, and manipulated with operations on the control points.
![Page 13: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/13.jpg)
Convex Hull The convex polygon boundary
that enclose a set control points is called the convex hull.
![Page 14: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/14.jpg)
Convex Hull The convex hull is a rubber band stretched
around the positions of the control points so that each control point is either on the perimeter of the hull or inside it.
![Page 15: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/15.jpg)
ConvexRemind: A region is convex if the line segment
joining any two points in the region is also within the region.
![Page 16: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/16.jpg)
Shape
of
the Spline Curve
![Page 17: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/17.jpg)
Shape of the Curve Control points are fitted with piecewise
continuous parametric polynomial function in one of two way:
1.1. Interpolation SplinesInterpolation Splines
2.2. Approximation SplinesApproximation Splines
![Page 18: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/18.jpg)
Interpolation Splines When polynomial sections are fitted so that
the curve passespasses through each control point,
the resulting curve is said to interpolateinterpolate the set of control points.
![Page 19: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/19.jpg)
Interpolation Splines Interpolation curves are commonly used to
digitize drawing or to specify animation paths.
![Page 20: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/20.jpg)
Approximation Splines When polynomial sections are fitted to the
general control point path withoutwithout necessarily passing through any control point, the resulting
curve is said to approximateapproximate the set if control points.
![Page 21: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/21.jpg)
Approximation Splines Approximation curves are uses as design tools
to structure object surfaces.
![Page 22: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/22.jpg)
ParametricContinuity Conditions
![Page 23: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/23.jpg)
Parametric Continuity Conditions To represent a curve as a series of
piecewise parametric curves, these
curves to fit together reasonably …Continuity!
![Page 24: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/24.jpg)
Parametric Continuity Conditions Each section of a spline is described
with a set of parametric coordinate functions of the form:
21),(),(),( uuuuzzuyyuxx
![Page 25: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/25.jpg)
Parametric Continuity Conditions Let C1(u) and C2(u) , be two
parametric Curves.
We set parametric continuity by matching the parametric derivation of adjoining curve sections at their common boundary.
10 u
![Page 26: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/26.jpg)
Parametric Continuity Conditions Zero order parametric (C0): Simply the
curves meet, C1(1) = C2(0) .
First order parametric (C1): The first parametric derivations for two successive curve sections are equal at their joining point, C´1(1)= C´2(0)
![Page 27: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/27.jpg)
Parametric Continuity Conditions Second order parametric (C2): Both the first
and second parametric derivatives of the two curve sections are the same at the intersection, C˝1(1)= C˝2(0)
![Page 28: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/28.jpg)
Parametric Continuity ConditionsSimple Example: The curve consists of two parabolas, domains [-1,0] and [0,1],
respectively
f(u) = ( u, -u2, 0 )
g(v) = ( v, v2, 0 ) f'(u) = ( 1, -2u, 0 ) ,f''(u) = ( 0, -2, 0 )
g'(u) = ( 1, 2v, 0 ) ,g''(v) = ( 0, 2, 0 ) Two curves are C1 continuous at the origin. f''(0) = ( 0, -2, 0 ) is not equal to g''(v) = ( 0, 2, 0 ), they are not
C2 continuous at the origin.
Curvature of f(u) = 2/(1 + 4u2)1.5 Curvature of g(v) = 2/(1 + 4v2)1.5
Two curve segments may be C1 continuous and even curvature continuous, but not C2
continuous
![Page 29: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/29.jpg)
Problems withParametric Continuity Conditions
Representation
![Page 30: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/30.jpg)
Problems with Parametric ContinuityTwo line segments:
f'(u) = B - A
g'(v) = C - B Thus, f'(u) = B - A is, in general, not equal to g'(v) = C - B and consequently
these two line segments are not C1 continuous at the joining point B!
Is it strange?Is it strange?Re-parameterizing the curve segments may overcome the problem
F(u) = A + u(B - A)/ | B - A |
G(v) = B + v(C - B)/ | C - B |
f(u) = A + u(B - A)
g(v) = B + v(C - B)
u is in the range of 0 and | B - A | and v is in the range of 0 and | C – B|
![Page 31: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/31.jpg)
Problems with Parametric ContinuitySemi circle:
At (0,1,0) = f(1) = g(0). ) C0)f'(u) = ( PI u sin(u2 PI/2), PI u cos(u2 PI/2), 0 )
f''(u) = ( PI2 u2 cos(u2 PI/2), -PI2 u2 sin(u2 PI/2), 0 )
f'(u) × f''(u) = ( 0, 0, -PI3 u3 )
| f'(u) | = PI u
| f'(u) × f''(u) | = PI3 u3
k(u) = 1
g'(v) = ( PI v cos(v2 PI/2), -PI v sin(v2 PI/2), 0 )
g''(v) = ( -PI2 v2 cos(v2 PI/2), -PI2 v2 cos(v2 PI/2), 0 )
g'(v) × g''(v) = ( 0, 0, -PI3 u3 )
| g'(v) | = PI v
| g'(v) × g''(v) | = PI3 v3
k(v) = 1
f(u) = ( -cos(u2 PI/2), sin(u2 PI/2), 0 )
g(v) = ( sin(v2 PI/2), cos(v2 PI/2), 0 )
![Page 32: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/32.jpg)
Problems with Parametric ContinuitySemi circle:
Let u2 = p in f(u) and let v2 = q in g(v). The new equations are:
f(p) = ( -cos(p PI/2), sin(p PI/2), 0 )
g(q) = ( sin(q PI/2), cos(q PI/2), 0)
Their derivatives are
f'(p) = ( (PI/2) sin(p PI/2), (PI/2) cos(p PI/2), 0 )
f''(p) = ( (PI/2)2 cos(p PI/2), -(PI/2)2 sin(p PI/2), 0 )
g'(q) = ( (PI/2) cos(q PI/2), -(PI/2) sin(q PI/2), 0 )
g''(q) = ( -(PI/2)2 sin(q PI/2), -(PI/2)2 cos(q PI/2), 0 )
Therefore, after changing variables, both f'(1) and g'(0) are equal to ( PI/2, 0, 0 ) and hence they are C1 continuous. Moreover, both f''(1) and g''(0) are equal to ( 0, -(PI/2)2, 0 ) and hence they are C2
continuous! They are also curvature continuous because they have curvature 1 everywhere (remember they are circles).
![Page 33: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/33.jpg)
GeometricContinuity Conditions
![Page 34: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/34.jpg)
Geometric Continuity Conditions Two curve segments are said Gk
geometric continuous at the joining point if and only if there exists two parameterizations, one for each curve segment, such that all i-th derivatives, i less than or equal to k, computed with these new parameterizations agree at the joining point.
![Page 35: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/35.jpg)
Geometric Continuity Conditions Two C0 curve segments are said G1 geometric
continuous at the joining point if and only if vectors f'(u) and g'(v) are in the same direction at the joining point. Note that f'(u) and g'(v) are evaluated at the joining point.
The tangent vectors point to the opposite directions, and, as a result, they are not G1 at the joining point
![Page 36: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/36.jpg)
Geometric Continuity Conditions
Two C1 curve segments are said G2 geometric continuous at the joining point if and only if vector f''(u) - g''(v) is parallel to the tangent vector at the joining point. Note that f''(u) and g''(v) are evaluated at the joining point.
![Page 37: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/37.jpg)
Geometric Continuity Conditions Example:two parabola segments with joining point at ( 0, 1, 0): f(u) = ( -1 + u2, 2u - u2, 0 )
g(v) = ( 2u - u2, 1 - u2, 0 )
f'(u) = ( 2u, 2 - 2u, 0 ) f''(u) = ( 2, -2, 0 ) f'(u) × f''(u) = ( 0, 0, -4 ) | f'(u) | = 2SQRT(1 - 2u + 2u2 ) | f'(u) × f''(u) | = 4 k(u) = 1/(2(1 - 2u + 2u2)1.5)
g'(v) = ( 2 - 2v, -2v, 0 ) g''(v) = ( -2, -2, 0 ) g'(v) × g''(v) = ( 0, 0, -4 ) | g'(v) | = 2SQRT(1 - 2v + 2v2 ) | g'(v) × g''(v) | = 4 k(v) = 1/(2(1 - 2v + 2v2)1.5)
![Page 38: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/38.jpg)
Geometric Continuity Conditions From f'(1) = g'(0) = ( 2, 0, 0 ), we know that these two curve
segments are C1 at the joining point. Since f''(1) = ( 2, -2, 0 ) is not equal to g''(0) = ( -2, -2, 0 ), they are not C2.
Since the curves are C1, checking for G2 is meaningful. Since f''(1) - g''(0) = ( 4, 0, 0 ) is parallel to the tangent vector ( 2, 0, 0 ) at the joining point, these two curve segments are G2 continuous at the joining point ( 0, 1, 0 ).
![Page 39: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/39.jpg)
Geometric Continuity Conditions
Geometric Continuity Conditions: Only require parametric derivatives of the two sections to be proportional to each other at their common boundary instead of equal to each other.
![Page 40: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/40.jpg)
Geometric Continuity Conditions Zero order geometric (G0): Same as C0
C1(1) = C2(0) First order geometric (G1): The parametric first
derivatives are proportional at the intersection of two successive sections.
C´1(1)= αC´2(0) Second order geometric (G2): Both the first and
second parametric derivatives of the two curve sections are proportional at their boundary,
C˝1(1)= αC˝2(0)
![Page 41: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/41.jpg)
Parametric & Geometric Continuity A curve generated with geometric
continuity condition is similar to one generated with parametric continuity , but with slight differences in curve shape.
With geometric continuity, the curve is pulled toward the section with the greater tangent vector.
![Page 42: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/42.jpg)
Spline Interpolation
![Page 43: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/43.jpg)
LinearLinearSpline
Interpolation
![Page 44: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/44.jpg)
Linear Spline Interpolation Given a set of control points, linear
interpolation spline is obtained by fitting the input points with a piecewise linear polynomial curve that passes through every control points.
![Page 45: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/45.jpg)
Linear Spline Interpolation A linear polynomial:
)10(
)(
,)(
)(
u
buauz
buauy
buaux
zz
yy
xx
10,)( uuu bap
![Page 46: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/46.jpg)
Linear Spline Interpolation We need to determine the values of a and b in the
linear polynomial for each of the n curve section.
Substituting endpoint values 0 and 1 for parameter u:
b
au
uu
1
)( bap
b
a
p
p
11
10
1
0
![Page 47: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/47.jpg)
Linear Spline Interpolation Solving this equation for the polynomial
coefficients:
P(u) can be written in terms of the boundary conditions:
1
0
1
0
1
10
1111
10
p
pp
p
b
a
1
0
10
111)(
p
puup
b
auu 1)(p
Mspline Mgeometry
U
![Page 48: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/48.jpg)
Linear Spline Interpolation The matrix representation for linear spline
representation:
Mgeometry is the matrix containing the geometry constraint values (boundary condition) on the spline.
Mspline is the matrix that transform the geometric constraint values to the polynomial coefficients and provides a characterization for the spline curve (Basis Matrix).
geometrysplineu MMUP )(
![Page 49: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/49.jpg)
Linear Spline Interpolation We can expand the matrix representation:
1
0
10),()(k
kkuubu PP
1
0
1
0
1
10
111)(
p
puu
p
puup
Blending Functions
1100
10
)()(
)()1()(
PP
PPP
ubub
uuu
![Page 50: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/50.jpg)
Linear Spline Interpolation
The Linear spline blending functionThe Linear spline blending function::
1
0
10),()(k
kkuubu PP
1100
10
)()(
)()1()(
PP
PPP
ubub
uuu
![Page 51: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/51.jpg)
Linear Spline Interpolation The curve is linear combination of the blending
functions. The piecewise linear interpolation is C0
continuous. For a linear polynomial, 2 constraints are
required for each segment.
A polynomial of degreeA polynomial of degree kk has has k+1 k+1 coefficientscoefficients and thus requiresand thus requires k+1k+1 independent independent constraintsconstraints to uniquely to uniquely determine it.determine it.
![Page 52: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/52.jpg)
CubicCubicSpline
Interpolation
![Page 53: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/53.jpg)
Cubic Spline InterpolationCubic splines are used to: Set up paths for object motion A representation for an existing object
or drawing Design object shape
Cubic splines are more flexible for modeling arbitrary curve shapes.
![Page 54: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/54.jpg)
Cubic Spline Interpolation Given a set of control points:
Cubic interpolation spline is obtained by fitting the input points with a piecewise cubic polynomial curve that passes through every control points.
nkzyxP kkkk ,,2,1,0),,,(
![Page 55: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/55.jpg)
Cubic Spline Interpolation A cubic polynomial:
)10(
)(
,)(
)(
23
23
23
u
ducubuauz
ducubuauy
ducubuaux
zzzz
yyyy
xxxx
10,)( 23 uuuuu dcbap
![Page 56: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/56.jpg)
Linear Spline Interpolation
We need to determine the values of a , b, c and d in the linear polynomial for each of the n curve section.
By setting enough boundary conditions at the “joints” between curve sections we can obtain numerical values for all the coefficients.
10,)( 23 uuuuu dcbap
![Page 57: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/57.jpg)
Cubic Spline InterpolationMethods for setting the boundary conditions
for cubic interpolation splines:
1. Natural Cubic Splines
2. Hermit Splines
3. Cardinal Splines
4. Kochanek-Bartels Splines
![Page 58: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/58.jpg)
Natural
Cubic Splines
![Page 59: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/59.jpg)
Natural Cubic Splines Natural cubic splines are developed
for graphics application.
Natural cubic splines have C2
continuity.
![Page 60: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/60.jpg)
Natural Cubic SplinesIf we have n+1 control points to fit, then: We have n curve sections 4n polynomial coefficients to be
determined.3 control points (n=2)
2 curve sections
4×2 polynomial coefficients to be determined.
![Page 61: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/61.jpg)
Natural Cubic SplinesAt each n-1 interior control points, we have 4
boundary condition: The two curve sections on either side of a control
point must first and second parametric derivatives at that control point, and each curve must pass through that control point.
At P1 interior control:
1. C´1(1)=C'2(0)
2. C˝1(1)=C˝2(0)
3. C1(1)=P1
4. C2(0)=P1
![Page 62: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/62.jpg)
Natural Cubic SplinesAdditional equation: First control point P0
End control points Pn
5. C1(0)=P0
6. C2(1)=P2
![Page 63: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/63.jpg)
Natural Cubic SplinesWe still need twotwo more conditions to
be able to determine values for all coefficients.
![Page 64: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/64.jpg)
Natural Cubic SplinesMethod 1:Set the second derivatives at p0 and pn to 0
7. C˝1(0)=0
8. C˝2(1)=0
![Page 65: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/65.jpg)
Natural Cubic SplinesMethod 2:Add a control point P-1 and a control point Pn+1.
7. P-1
8. P3
PP-1-1 PP33
![Page 66: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/66.jpg)
Natural Cubic Splines Natural cubic splines are a mathematical
model for the drafting spline.
Disadvantage: NoNo “Local Control”: we cannot
reconstruct part of the curve without specifying an entirely new set of control points.
![Page 67: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/67.jpg)
Hermit Splines
![Page 68: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/68.jpg)
Hermit SplinesGiven a set of control points:
Hermit splines is an interpolating piecewise cubic polynomial with a
specified tangentspecified tangent at each control point.
nkzyxP kkkk ,,2,1,0),,,(
![Page 69: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/69.jpg)
Hermit Splines Hermit splines can be adjusted
locally because each curve section is only dependent on its endpoint constraints (unlike the natural cubic splines).
![Page 70: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/70.jpg)
Hermit Splines Example: Change in MagnitudeMagnitude of T0
![Page 71: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/71.jpg)
Hermit Splines Example: Change in DirectionDirection of T0
![Page 72: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/72.jpg)
Hermit Splines
10,)( 23 uuuuu dcbap
1
1
)1(
)0(
)1(
)0(
k
k
k
k
Dpp
Dpp
pp
pp
P(u) represents a parametric cubic point function for the section between pk and pk+1.
The boundary conditionsboundary conditions are:
Dpk and Dpk+1 are the values for the parametric derivations (slope of the curve) at control points Pk and Pk+1
![Page 73: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/73.jpg)
Hermit Splines10,)( 23 uuuuu dcbap
d
c
b
a
p 1)( 23 uuuu
d
c
b
a
p 0123)( 2 uuu
The derivative of the point function:
d
c
b
a
Dp
Dp
p
p
0123
0100
1111
1000
1
1
k
k
k
k
We can write the constraints
in a matrix form:
1
1
)1(
)0(
)1(
)0(
k
k
k
k
Dpp
Dpp
pp
pp
Boundary conditions
![Page 74: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/74.jpg)
Hermit Splines
Solving this equation for the polynomial coefficients:
d
c
b
a
Dp
Dp
p
p
0123
0100
1111
1000
1
1
k
k
k
k
1
1
1
1
1
1
1
0001
0100
1233
11220123
0100
1111
1000
k
k
k
k
H
k
k
k
k
k
k
k
k
Dp
Dp
p
p
M
Dp
Dp
p
pDp
Dp
p
p
d
c
b
a
MH, the Hermit matrix, is the inverse
of the boundary constraint matrix.
![Page 75: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/75.jpg)
d
c
b
a
p 1)( 23 uuuu
1
123232323 232132)(
k
k
k
k
uuuuuuuuuu
Dp
Dp
p
p
p
1
123 1)(
k
k
k
k
Huuuu
Dp
Dp
p
p
Mp
Blending Functions
)()()()()(312110
uHuHuHuHukkkk
DpDpppP
d
c
b
a
Dp
Dp
p
p
0123
0100
1111
1000
1
1
k
k
k
k
![Page 76: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/76.jpg)
Hermit SplinesHermit Blending Functions
![Page 77: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/77.jpg)
Hermit Splines Hermit polynomials can be useful for some
digitizing applications where it may not be too difficult to specify or approximate the curve slopes.
For most problems in modeling, it is more useful to generate spline curve without requiring input values for
curve slopes.
But…
![Page 78: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/78.jpg)
Cardinal
Splines
![Page 79: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/79.jpg)
Cardinal Splines Cardinal splines are interpolating piecewise
cubics with specified endpoint tangents at the boundary of each curve section.
The difference is that we do not have to give the values for the endpoint tangents.
For a cardinal spline, the value for the slope at a control point is calculated
from the coordinates of the two adjacent control points.
![Page 80: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/80.jpg)
Cardinal Splines A cardinal spline section is completely
specified with four consecutive control points.
The middle two control points are the section endpoints, and the other two points are used in the calculation of the endpoint slopes.
![Page 81: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/81.jpg)
Cardinal Splines The boundary conditions:
))(1(2
1)1(
))(1(2
1)0(
)1(
)0(
2
11
1
kk
kk
k
t
t
ppP
ppP
pP
pP k
Thus, the slopes at control points pk and pk+1 are taken to be proportional to the chords and11 kk pp 2kkpp
![Page 82: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/82.jpg)
Cardinal Splines The boundary conditions:
))(1(2
1)1(
))(1(2
1)0(
)1(
)0(
2
11
1
kk
kk
k
t
t
ppP
ppP
pP
pP k
![Page 83: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/83.jpg)
Cardinal Splines
Parameter t is called the tension parameter.
Tension parameter controls how loosely or tightly the cardinal spline fits the input control points.
))(1(2
1)1(
))(1(2
1)0(
)1(
)0(
2
11
1
kk
kk
k
t
t
ppP
ppP
pP
pP k
![Page 84: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/84.jpg)
Cardinal Splines
When t=0 is called the Catmull-Rom splines, or Overhauser splines.
![Page 85: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/85.jpg)
Cardinal Splines
))(1(2
1)1(
))(1(2
1)0(
)1(
)0(
2
11
1
kk
kk
k
t
t
ppP
ppP
pP
pP k
2
1
1
23 1)(
k
k
k
k
Cuuuu
p
p
p
p
MP
0010
00
2332
22
ss
ssss
ssss
CM
2)1( ts
![Page 86: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/86.jpg)
Cardinal Splines
))(1(2
1)1(
))(1(2
1)0(
)1(
)0(
2
11
1
kk
kk
k
t
t
ppP
ppP
pP
pP k
)()()()(
)(])23()2[(
]1)3()2[()2()(
3221101
232
231
23231
uCARuCARuCARuCAR
sususuusus
usussususuu
kkkk
kk
kk
pppp
pp
ppP
The polynomials CARk(u) for k=0,1,2,3 are
the cardinal functions.
![Page 87: Curve Modeling Dr. S.M. Malaek Assistant: M. Younesi.](https://reader034.fdocuments.us/reader034/viewer/2022042522/56649d095503460f949daeca/html5/thumbnails/87.jpg)
Cardinal SplinesCardinal functions