parametric curves - connelly barnes
TRANSCRIPT
![Page 1: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/1.jpg)
Parametric Curves
Connelly Barnes
CS4810: Introduction to Graphics
Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin
![Page 2: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/2.jpg)
2
![Page 3: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/3.jpg)
Parametric Curves and SurfacesPart 1: Curves
Part 2: Surfaces
Courtesy of C.K. Shene
![Page 4: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/4.jpg)
Curves• Splines: mathematical way to express curves
• Motivated by “loftsman’s spline”oLong, narrow strip of wood/plasticoUsed to fit curves through specified data pointsoShaped by lead weights called “ducks”oGives curves that are “smooth” or “fair”
• Have been used to design:oAutomobilesoShip hullsoAircraft fuselage/wing
![Page 5: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/5.jpg)
Goals• Some attributes we might like to have:oPredictable/local controloSimpleoContinuous
• We’ll satisfy these goals using:oPiecewiseoPolynomials
![Page 6: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/6.jpg)
Many applications in graphics• Animation paths
• Shape modeling
• etc…
Animation (Angel, Plate 1)
Shell (Douglas Turnbull)
![Page 7: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/7.jpg)
What is a Spline in CG?A spline is a piecewise polynomial function whose
derivatives satisfy some continuity constraints across curve boundaries.
So let’s look at what this means…
![Page 8: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/8.jpg)
What is a Spline in CG?Piecewise: the spline is actually a
collection of individual segments joined together.
Polynomial functions: each of these segments is expressed by a polynomial function.
![Page 9: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/9.jpg)
Parametric CurvesA parametric curve in d-dimensions is defined by a
collection of 1D functions of one variable that give the coordinates of points on the curve at each value of u:
Courtesy of C.K. Shene
Note:A parametric curve is not the graph of a function, it is the path traced out as the value of t is allowed to change.
![Page 10: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/10.jpg)
DerivativesIf Φ(u)=(x(u),y(u)) is the parametric equation of a
curve, the parametric derivative of the curve at a point u0 is the vector:which points in a direction tangent to the curve.
Φ(u)
Φ’(u0)
Note:The direction of the derivative is determined by the path that the curve traces out.
The magnitude of the parametric derivative is determined by the tracing speed.
![Page 11: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/11.jpg)
PolynomialsA polynomial in the variable u is:
• “An algebraic expression written as a sum of constants multiplied by different powers of a variable.”
The constant ak is referred to as the k-th coefficient of the polynomial P.
![Page 12: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/12.jpg)
Polynomials (Degree)
A polynomial P has degree n if when written in canonical form above, the highest exponent is n (and an is nonzero).
![Page 13: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/13.jpg)
Polynomials (Degree)
A polynomial P has degree n if when written in canonical form above, the highest exponent is n (and an is nonzero).
A polynomial of degree n has n+1 degrees of freedom
Knowing n+1 pieces of information about a polynomial of degree n gives enough information to reconstruct the coefficients
![Page 14: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/14.jpg)
Polynomials (Matrices)
The polynomial P can be expressed as the matrix multiplication of a column vector and a row vector:
P (u) =�un · · ·u0
�0
1
CA
![Page 15: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/15.jpg)
Polynomials (Matrices)Example:
If we know the values of the polynomial P at n+1 different values:
We can compute the coefficients of P by inverting the appropriate matrix:
![Page 16: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/16.jpg)
Polynomials (Matrices)Example:
So, if we are given the values of the polynomial P at the n+1 positions u0,…,un, we can compute the value of P at any position u by solving:
![Page 17: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/17.jpg)
Parametric Polynomial Curves• A parametric polynomial curve of degree n in d
dimensions is a collection of d polynomials, each of which is of degree no larger than n:
![Page 18: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/18.jpg)
Parametric Polynomial CurvesExamples:
• When x(u)=u, the curve is just the graph of y(u).
• Different parametricequations can trace out the same curve.
• As the degree getslarger, the complexityof the curve increases.
x(u)=u
x(u)=u2/2-2
x(u)=u3/2-2u
y(u)=u y(u)=u2/2-2 y(u)=u3/2-2u
![Page 19: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/19.jpg)
Parametric CurvesGoal:
Given a collection of m points in d dimensions:define a parametric curve that passes through (or near) the points
p0
p1
p2
p3p0
p1
p2
p3
![Page 20: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/20.jpg)
Parametric CurvesDirect Approach:
Solve for the m coefficients of a parametric polynomial curve of degree m-1, passing through the points.
![Page 21: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/21.jpg)
Parametric CurvesDirect Approach:
Solve for the m coefficients of a parametric polynomial curve of degree m-1, passing through the points.
Limitations:
• No local control
• As the number of points increases, the dimension gets larger, and the curve oscillates more.
![Page 22: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/22.jpg)
SplinesApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal ControloSimplicityoContinuity/Smoothness
p0
p1
p2
p3 p5
p4
![Page 23: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/23.jpg)
SplinesApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal ControloSimplicityoContinuity/Smoothness
p0
p1
p2
p3 p5
p4 p0
p1
p2
p3
![Page 24: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/24.jpg)
SplinesApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal ControloSimplicityoContinuity/Smoothness
p0
p1
p2
p3 p5
p4 p0
p1
p2
p3 p1
p2
p3
p4
+
![Page 25: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/25.jpg)
SplinesApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal ControloSimplicityoContinuity/Smoothness
p0
p1
p2
p3 p5
p4 p0
p1
p2
p3 p1
p2
p3
p4 p2
p3 p5
p4
+ +
![Page 26: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/26.jpg)
SplinesApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal ControloSimplicityoContinuity/Smoothness
p0
p1
p2
p3 p5
p4 p0
p1
p2
p3 p1
p2
p3
p4 p2
p3 p5
p4
p0
p1
p2
p3 p5
p4
+ +
![Page 27: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/27.jpg)
Piecewise parametric polynomialsApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal Control:
»Individual curve segments are defined using only local information
oSimplicity»Curve segments are low-order polynomials
![Page 28: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/28.jpg)
Piecewise parametric polynomialsApproach:
Fit low-order polynomials to groups of points so that the combined curve passes through (or near) the points while providing:oLocal Control:
»Individual curve segments are defined using only local information
oSimplicity»Curve segments are low-order polynomials
oContinuity/Smoothness»How do we guarantee smoothness at the joints?
![Page 29: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/29.jpg)
Continuity/SmoothnessContinuity:
Within the parameterized domain,the polynomial functions are continuous and smooth.
The derivatives of our polynomial functions must satisfycontinuity constraintsacross the curve boundaries.
![Page 30: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/30.jpg)
Continuity/SmoothnessParametric continuity: derivatives of
the two curves are equal where they meet.
• C0 means two curves just meet
• C1 means 1st derivatives equal
• C2 means both 1st and 2nd derivates equal
![Page 31: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/31.jpg)
Continuity/SmoothnessGeometric continuity: derivatives of
the two curves are proportional (i.e. point in the same direction) where they meet.
• G0 means two curves just meet• G1 means G0 and 1st derivatives
proportional• G2 means G1 and 2nd derivatives
proportional• Parametric continuity used more
frequently than geometric.
![Page 32: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/32.jpg)
What is a Spline in CG?A spline is a piecewise polynomial function whose
derivatives satisfy some continuity constraints across curve boundaries.
P1(x) x∈[0,1)
P2(x) x∈[0,1)
P3(x) x∈[0,1)
![Page 33: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/33.jpg)
What is a Spline in CG?A spline is a piecewise polynomial function whose
derivatives satisfy some continuity constraints across curve boundaries.
P1(1)=P2(0) P1’(1)=P2’(0)
…
P2(1)=P3(0) P2’(1)=P3’(0)
…
![Page 34: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/34.jpg)
Overview• What is a Spline?
• Specific Examples:oHermite SplinesoCardinal SplinesoUniform Cubic B-Splines
• Comparing Cardinal Splines to Uniform Cubic B-Splines
![Page 35: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/35.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 36: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/36.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 37: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/37.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 38: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/38.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 39: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/39.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 40: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/40.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
![Page 41: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/41.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oA pair of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
Because the end-points of adjacent curves share the same position and derivatives, the
Hermite spline has C1 continuity.
![Page 42: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/42.jpg)
• Let Pk(u)=(Pk,X(u),Pk,Y(u)) with 0≤u≤1 be a parametric cubic point function for the curve section between control points pk and pk+1
• Boundary conditions are:oPk(0) = pk
oPk(1) = pk+1
oPk’(0) = Dpk
oPk’(1) = Dpk+1
Specific Example: Hermite Splines
pk
pk+1
Dpk Dpk+1
![Page 43: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/43.jpg)
• Let Pk(u)=(Pk,X(u),Pk,Y(u)) with 0≤u≤1 be a parametric cubic point function for the curve section between control points pk and pk+1
• Boundary conditions are:oPk(0) = pk
oPk(1) = pk+1
oPk’(0) = Dpk
oPk’(1) = Dpk+1
• Solve for the coefficients of the polynomials Pk,X(u) and Pk,Y(u) that satisfy the boundary condition
Specific Example: Hermite Splines
pk
pk+1
Dpk Dpk+1
![Page 44: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/44.jpg)
Specific Example: Hermite SplinesWe can express the polynomials:• P(u) = au3 + bu2 +cu +d• P’(u) = 3au2 + 2bu +cusing the matrix representations:
![Page 45: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/45.jpg)
Specific Example: Hermite SplinesWe can express the polynomials:• P(u) = au3 + bu2 +cu +d• P’(u) = 3au2 + 2bu +cusing the matrix representations:
By abuse of notation, we will think of the coefficients a, b, c, and d as 2-vectors rather than scalars so that P is a
function taking values in 2D.
![Page 46: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/46.jpg)
Specific Example: Hermite SplinesGiven the matrix representations:
![Page 47: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/47.jpg)
Specific Example: Hermite SplinesGiven the matrix representations:
we can express the values at the end-points as:
![Page 48: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/48.jpg)
Specific Example: Hermite SplinesWe can combine the equations
into a single matrix expression:
![Page 49: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/49.jpg)
Specific Example: Hermite SplinesWe can combine the equations
into a single matrix expression:
![Page 50: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/50.jpg)
Specific Example: Hermite SplinesInverting the matrix in the equation:
we get:
![Page 51: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/51.jpg)
Specific Example: Hermite SplinesInverting the matrix in the equation:
we get:
![Page 52: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/52.jpg)
Specific Example: Hermite SplinesInverting the matrix in the equation:
we get:
![Page 53: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/53.jpg)
Specific Example: Hermite SplinesUsing the facts that:
we get:
and
![Page 54: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/54.jpg)
Specific Example: Hermite SplinesUsing the facts that:
we get:
MHermite
and
parameters boundary info
![Page 55: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/55.jpg)
Specific Example: Hermite Splinesand we can execute matrix multiplies below
to get
![Page 56: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/56.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
we can re-write the equation:
as:
![Page 57: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/57.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
Blending Functions
1
1
1
1
1
1
1
1 H0(u) H1(u) H2(u) H3(u)
![Page 58: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/58.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
1
1
1
1
1
1
1
1 H0(u) H1(u) H2(u) H3(u)
When u=0: • H0(u)=1 • H1(u)=0 • H2(u)=0 • H3(u)=0 So P(0)=pk
![Page 59: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/59.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
1
1
1
1
1
1
1
1 H0(u) H1(u) H2(u) H3(u)
When u=1: • H0(u)=0 • H1(u)=1 • H2(u)=0 • H3(u)=0 So P(1)=pk+1
![Page 60: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/60.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
1
1
1
1
1
1
1
1 H0(u) H1(u) H2(u) H3(u)
When u=0: • H0
’(u)=0 • H1’(u)=0 • H2’(u)=1 • H3’(u)=0 So P’(0)=Dpk
![Page 61: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/61.jpg)
Specific Example: Hermite SplinesSetting:oH0(u)= 2u3-3u2+1oH1(u)=-2u3+3u2
oH2(u)= u3-2u2+uoH3(u)= u3-u2
1
1
1
1
1
1
1
1 H0(u) H1(u) H2(u) H3(u)
When u=1: • H0
’(u)=0 • H1’(u)=0 • H2’(u)=0 • H3’(u)=1 So P’(1)=Dpk+1
![Page 62: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/62.jpg)
Specific Example: Hermite Splines• Interpolating piecewise cubic polynomial
• Specified with:oSet of control pointsoTangent at each control point
• Iteratively construct the curve between adjacent end points
p0
p1
p2
p3
p4
p5
Given the control points, how do we define the value of the tangents/derivatives?
![Page 63: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/63.jpg)
Overview• What is a Spline?
• Specific Examples:oHermite SplinesoCardinal SplinesoUniform Cubic B-Splines
• Comparing Cardinal Splines to Uniform Cubic B-Splines
![Page 64: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/64.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1
p4
p5
p6
p7
p2
p3
![Page 65: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/65.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 66: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/66.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 67: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/67.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 68: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/68.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 69: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/69.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 70: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/70.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 71: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/71.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 72: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/72.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 73: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/73.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 74: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/74.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 75: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/75.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 76: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/76.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 77: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/77.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
Because the end-points of adjacent curves share the same position and derivatives, the
Cardinal spline has C1 continuity.
![Page 78: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/78.jpg)
• Let Pk(u)=(Pk,X(u),Pk,Y(u)) with 0≤u≤1 be a parametric cubic point function for the curve section between control points pk and pk+1
• Boundary conditions are:oP(0) = pk
oP(1) = pk+1
oP’(0) = ½(1 – t)(pk+1 – pk-1)oP’(1) = ½(1 – t)(pk+2 – pk)
• Solve for the coefficients of the polynomials Pk,X(u) and Pk,Y(u) that satisfy the boundary condition
Specific Example: Cardinal Splines
pkpk+1
pk-1 pk+2
![Page 79: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/79.jpg)
Specific Example: Cardinal SplinesRecall:
The Hermite matrix determines the coefficients of the polynomial from the positions and the derivatives of the end-points
MHermiteparameters boundary info
![Page 80: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/80.jpg)
Specific Example: Cardinal SplinesUsing same methods as with Hermite spline, from
boundary conditions on previous slide we can get
where s = (1 – t)/2MHermite
The parameter t is called the tension parameter. • Controls looseness versus tightness of curve
![Page 81: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/81.jpg)
Specific Example: Cardinal SplinesWe can express the boundary conditions as a matrix
applied to the points pk-1, pk, pk+1, and pk+2:
to get
![Page 82: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/82.jpg)
Specific Example: Cardinal SplinesWe can express the boundary conditions as a matrix
applied to the points pk-1, pk, pk+1, and pk+2:
to get
![Page 83: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/83.jpg)
Specific Example: Cardinal SplinesMultiplying the interior matrices in:
we get the Cardinal matrix representation
![Page 84: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/84.jpg)
Specific Example: Cardinal SplinesCombining the matrices in:
we get the Cardinal matrix representation
MCardinal
![Page 85: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/85.jpg)
Specific Example: Cardinal SplinesSetting:oC0(u)= -su3+2su2-suoC1(u)= (2-s)u3+(s-3)u2+1oC2(u)= (s-2)u3+(3-2s)u2+suoC3(u)= su3-su2
For s=0:
Blending Functions
1
1
1
1
1
1
1
1 C0(u) C1(u) C2(u) C3(u)
![Page 86: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/86.jpg)
Specific Example: Cardinal SplinesSetting:oC0(u)= -su3+2su2-suoC1(u)= (2-s)u3+(s-3)u2+1oC2(u)= (s-2)u3+(3-2s)u2+suoC3(u)= su3-su2
For s=0:
1
1
1
1
1
1
1
1 C0(u) C1(u) C2(u) C3(u)
Properties: • C0(u)+C1(u)+C2(u)+C3(u)=1 • Cj(u)=C3-j(1-u) • C0(1)=C3(0)=0
![Page 87: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/87.jpg)
p0
p1 p2
p3
p4
p5
p6
p7
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
![Page 88: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/88.jpg)
• Interpolating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve between middle two points using adjacent points to define tangents
Specific Example: Cardinal Splines
p0
p1 p2
p3
p4
p5
p6
p7
At the first and last end-points, you can: • Not draw the final segments • Double up end points • Loop the spline around
![Page 89: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/89.jpg)
Overview• What is a Spline?
• Specific Examples:oHermite SplinesoCardinal SplinesoUniform Cubic B-Splines
• Comparing Cardinal Splines to Uniform Cubic B-Splines
![Page 90: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/90.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1
p4
p5
p6
p7
p2
p3
![Page 91: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/91.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 92: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/92.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 93: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/93.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p4
p5
p6
p7
p3
![Page 94: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/94.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 95: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/95.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 96: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/96.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 97: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/97.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 98: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/98.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 99: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/99.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 100: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/100.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 101: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/101.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 102: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/102.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 103: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/103.jpg)
• Let Pk(u)=(Pk,X(u),Pk,Y(u)) with 0≤u≤1 be a parametric cubic point function for the curve section around the control points pk and pk+1
• Boundary conditions are:oP(0) = 1/6(pk-1+4pk+pk+1)oP(1) = 1/6(pk+4pk+1+pk+2)oP’(0) = 1/2(1 – t)(pk+1 – pk-1)oP’(1) = 1/2(1 – t)(pk+2 – pk)
• Solve for the coefficients of the polynomials Pk,X(u) and Pk,Y(u) that satisfy the boundary condition
Specific Example: Uniform Cubic B-Splines
pk pk+1
pk-1 pk+2
![Page 104: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/104.jpg)
Specific Example: Uniform Cubic B-Splines
Using same methods as with Hermite spline, from boundary conditions on previous slide we can get
MHermite
![Page 105: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/105.jpg)
Specific Example: Uniform Cubic B-Splines
We can express the boundary conditions as a matrix applied to the points pk-1, pk, pk+1, and pk+2:
to get
![Page 106: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/106.jpg)
Specific Example: Uniform Cubic B-Splines
Multiplying the interior matrices in:
we get the cubic B-spline matrix representation
![Page 107: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/107.jpg)
Specific Example: Uniform Cubic B-Splines
Combining the matrices in:
we get the cubic B-spline matrix representation
MBSpline
![Page 108: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/108.jpg)
Specific Example: Uniform Cubic B-Splines
Setting:oB0,3(u)= 1/6(1-u)3
oB1,3(u)= 1/6(3u3-6u2+4)oB2,3(u)= 1/6(-3u3+3u2+3u+1)oB3,3(u)= 1/6(u3)
Blending Functions
1
1
1
1
1
1
1
1 B0,3(u) B1,3(u) B2,3(u) B3,3(u)
![Page 109: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/109.jpg)
Specific Example: Uniform Cubic B-Splines
Setting:oB0,3(u)= 1/6(1-u)3
oB1,3(u)= 1/6(3u3-6u2+4)oB2,3(u)= 1/6(-3u3+3u2+3u+1)oB3,3(u)= 1/6(u3)
1
1
1
1
1
1
1
1 B0,3(u) B1,3(u) B2,3(u) B3,3(u)
Properties: • B0,3(u)+B1,3(u)+B2,3(u)+B3,3(u)=1 • Bj(u)=B3-j(1-u) • B0,3(1)=B3,3(0)=0 • Bj,3(u)≥0
![Page 110: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/110.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
![Page 111: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/111.jpg)
• Approximating piecewise cubic polynomial
• Specified with four control points
• Iteratively construct the curve around middle two points using adjacent points to define tangents
Specific Example: Uniform Cubic B-Splines
p0
p1 p2
p3
p4
p5
p6
p7
At the first and last end-points, you can: • Not draw the final segments • Double up end points • Loop the spline around
![Page 112: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/112.jpg)
Overview• What is a Spline?
• Specific Examples:oHermite SplinesoCardinal SplinesoUniform Cubic B-Splines
• Comparing Cardinal Splines to Uniform Cubic B-Splines
![Page 113: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/113.jpg)
Blending FunctionsBlending functions provide a way for expressing the
functions Pk(u) as a weighted sum of the four control points pk-1, pk, pk+1, and pk+2:
1
1
1
1
1
1
1
1 BF0(u) BF1(u) BF2(u) BF3(u)
1
1
1
1
1
1
1
1 BF0 (u) BF1 (u) BF2 (u) BF3 (u)
Cardinal Blending Functions (t=0)
Uniform Cubic B-Spline Blending Functions
![Page 114: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/114.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
![Page 115: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/115.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
If we translate all the control points by the same vector q, the position of the new point at the value u will just be the position of the old value at u, translated by q:
![Page 116: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/116.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
If we translate all the control points by the same vector q, the position of the new point at the value u will just be the position of the old value at u, translated by q:
![Page 117: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/117.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
If we translate all the control points by the same vector q, the position of the new point at the value u will just be the position of the old value at u, translated by q:
![Page 118: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/118.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
If we translate all the control points by the same vector q, the position of the new point at the value u will just be the position of the old value at u, translated by q:
![Page 119: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/119.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 120: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/120.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
![Page 121: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/121.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1
We need to have the curve Pk+1(u) begin where the curve Pk(u) ended:
![Page 122: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/122.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥1, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1
We need to have the curve Pk+1(u) begin where the curve Pk(u) ended:
Since this equation has to hold true regardless of the values of pk, the conditions on the left have to be true
![Page 123: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/123.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 124: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/124.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 125: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/125.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 126: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/126.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥0, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1
![Page 127: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/127.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥0, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1
This is because a point is inside the convex hull of a collection of points if and only if it can be expressed as the weighted average of the points, where all the weights are non-negative.
![Page 128: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/128.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
1
1 BF0(u)
1
1 BF1(u)
1
1 BF2(u)
1
1 BF3(u)
1
1 BF0 (u)
1
1 BF1 (u)
1
1 BF2 (u)
1
1 BF3 (u)
![Page 129: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/129.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 130: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/130.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥0, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
![Page 131: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/131.jpg)
Blending FunctionsProperties:
• Translation Commutativity:o BF0(u)+ BF1(u)+ BF2(u)+ BF3(u)=1, for all 0≤u≤1.
• Continuity:o BF0(1)=BF3(0)=0o BF1(1)=BF0(0)o BF2(1)=BF1(0)o BF3(1)=BF2(0)
• Convex Hull Containment:o BF0(u), BF1(u), BF2(u), BF3(u)≥0, for all 0≤u≤1.
• Interpolation:o BF0(0)=BF2(0)=BF3(0)=0o BF0(1)=BF1(1)=BF3(1)=0o BF1(0)=1o BF2(1)=1
Because we want the spline segments to satisfy:
• Pk(0)=pk+1
• Pk(1)=pk+2
![Page 132: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/132.jpg)
Comparison: Cardinal vs. Cubic BCardinal Splines (t=0) Cubic B-Splines
![Page 133: Parametric Curves - Connelly Barnes](https://reader031.vdocuments.us/reader031/viewer/2022020916/61b3754b003d1b35d96b3705/html5/thumbnails/133.jpg)
Summary• A spline is a piecewise polynomial function whose
derivatives satisfy some continuity constraints across curve junctions.
• Looked at specification for 3 splines:o Hermiteo Cardinalo Uniform Cubic B-Spline
Interpolating, cubic, C1
Approximating, convex-hull containment, cubic, C2