Curve modeling
Download
1 / 87

- PowerPoint PPT Presentation


  • 139 Views
  • Updated On :

Curve Modeling. Dr. S.M. Malaek Assistant: M. Younesi. Parametric Polynomials. Parametric Polynomials. For interpolating n point we need a polynomial of degree n-1 . Parametric Polynomials. Polynomial interpolation has several disadvantages :

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - trevina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Curve modeling l.jpg

Curve Modeling

Dr. S.M. Malaek

Assistant: M. Younesi



Parametric polynomials l.jpg
Parametric Polynomials

  • For interpolating n point we need a polynomial of degree n-1.


Parametric polynomials4 l.jpg
Parametric Polynomials

Polynomial 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.


Slide5 l.jpg

Solution:

Polynomial Splines



Spline curve l.jpg

Flexible Strip

Spline Curve

  • In drafting terminology, a spline is a flexible strip used to produce a smooth curve through a designated set of points.


Spline curve8 l.jpg
Spline Curve

  • Several smallweightsare distributed along the length of the strip to hold it in position on the drafting table as the curve is drawn.

Weights


Spline curve9 l.jpg
Spline Curve

  • The term spline curveoriginally referred to a curve drawn in this manner.


Spline curve10 l.jpg
Spline Curve

  • Inmodeling, the term spline curve refers to a any composite curve formed with polynomial section satisfying specified continuity conditions at the boundary of the pieces.


Control points l.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.


Control points12 l.jpg
Control Points

  • A spline curve is defined, modified, and manipulated with operations on the control points.


Convex hull l.jpg
Convex Hull

  • The convex polygon boundary that enclose a set control points is called the convex hull.


Convex hull14 l.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.


Convex l.jpg
Convex

Remind:

  • A region is convex if the line segment joining any two points in the region is also within the region.


Slide16 l.jpg

Shape

of

the Spline Curve


Shape of the curve l.jpg
Shape of the Curve

  • Control points are fitted with piecewise continuous parametric polynomial function in one of two way:

  • Interpolation Splines

  • Approximation Splines


Interpolation splines l.jpg
Interpolation Splines

  • When polynomial sections are fitted so that the curvepassesthrough each control point, the resulting curve is said to interpolate the set of control points.


Interpolation splines19 l.jpg
Interpolation Splines

  • Interpolation curves are commonly used to digitize drawing or to specify animation paths.


Approximation splines l.jpg
Approximation Splines

  • When polynomial sections are fitted to the general control point pathwithoutnecessarily passing through any control point, the resulting curve is said toapproximatethe set if control points.


Approximation splines21 l.jpg
Approximation Splines

  • Approximation curves are uses as design tools to structure object surfaces.


Slide22 l.jpg

Parametric

Continuity Conditions


Parametric continuity conditions l.jpg
Parametric Continuity Conditions

  • To represent a curve as a series of piecewise parametric curves, these curves to fit together reasonably…Continuity!


Parametric continuity conditions24 l.jpg
Parametric Continuity Conditions

  • Each section of a spline is described with a set of parametric coordinate functions of the form:


Parametric continuity conditions25 l.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.


Parametric continuity conditions26 l.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)


Parametric continuity conditions27 l.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)


Parametric continuity conditions28 l.jpg
Parametric Continuity Conditions

Simple 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 C2continuous at the origin.

  • Curvature of f(u) = 2/(1 + 4u2)1.5Curvature of g(v) = 2/(1 + 4v2)1.5

Two curve segments may be C1 continuous and even curvature continuous, but not C2 continuous


Slide29 l.jpg

Problems with

Parametric Continuity Conditions

Representation


Problems with parametric continuity l.jpg
Problems with Parametric Continuity

f(u) = A + u(B - A)

g(v) = B + v(C - B)

Two 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?

    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 |

uis in the range of 0 and | B - A | and v is in the range of 0 and | C – B|


Problems with parametric continuity31 l.jpg
Problems with Parametric Continuity

f(u) = ( -cos(u2 PI/2), sin(u2 PI/2), 0 )

g(v) = ( sin(v2 PI/2), cos(v2 PI/2), 0 )

Semi 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, -PI3u3 )

| f'(u) | = PI u

| f'(u) × f''(u) | = PI3u3

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, -PI3u3 )

| g'(v) | = PI v

| g'(v) × g''(v) | = PI3v3

k(v) = 1


Problems with parametric continuity32 l.jpg
Problems with Parametric Continuity

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 )

Semi circle:

Therefore, after changing variables, both f'(1) and g'(0) are equal to ( PI/2, 0, 0 ) and hence they are C1continuous. 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).


Slide33 l.jpg

Geometric

Continuity Conditions


Geometric continuity conditions l.jpg
Geometric Continuity Conditions

  • Twocurve 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.


Geometric continuity conditions35 l.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


Geometric continuity conditions36 l.jpg
Geometric Continuity Conditions

  • Two C1 curve segments are said G2 geometric continuous at the joining point if and only if vectorf''(u) - g''(v) is parallel to the tangentvector at the joining point. Note that f''(u) and g''(v) are evaluated at the joining point.


Geometric continuity conditions37 l.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)


Geometric continuity conditions38 l.jpg
Geometric Continuity Conditions

  • From f'(1) = g'(0) = ( 2, 0, 0 ), we know that these two curve segments are C1at 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 G2is 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 G2continuous at the joining point ( 0, 1, 0 ).


Geometric continuity conditions39 l.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.


Geometric continuity conditions40 l.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)


Parametric geometric continuity l.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 pulledtoward the section with the greater tangent vector.



Slide43 l.jpg

Linear

Spline Interpolation


Linear spline interpolation l.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.


Linear spline interpolation45 l.jpg
Linear Spline Interpolation

  • A linear polynomial:


Linear spline interpolation46 l.jpg
Linear Spline Interpolation

  • We need to determine the values ofa and b in the linear polynomial for each of the n curve section.

  • Substituting endpoint values 0and 1for parameter u:


Linear spline interpolation47 l.jpg

Mspline

Mgeometry

U

Linear Spline Interpolation

  • Solving this equation for the polynomial coefficients:

  • P(u) can be written in terms of the boundary conditions:


Linear spline interpolation48 l.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).


Linear spline interpolation49 l.jpg

Blending Functions

Linear Spline Interpolation

  • We can expand the matrix representation:


Linear spline interpolation50 l.jpg
Linear Spline Interpolation

  • The Linear spline blending function:


Linear spline interpolation51 l.jpg
Linear Spline Interpolation

  • The curve is linear combination of the blending functions.

  • The piecewise linear interpolation is C0continuous.

  • For a linear polynomial, 2 constraints are required for each segment.

  • A polynomial of degreekhas k+1 coefficientsand thus requiresk+1independent constraintsto uniquely determine it.


Slide52 l.jpg

Cubic

Spline Interpolation


Cubic spline interpolation l.jpg
Cubic Spline Interpolation

Cubic 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.


Cubic spline interpolation54 l.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.


Cubic spline interpolation55 l.jpg
Cubic Spline Interpolation

  • A cubic polynomial:


Linear spline interpolation56 l.jpg
Linear Spline Interpolation

  • We need to determine the values ofa , b, c and din 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.


Cubic spline interpolation57 l.jpg
Cubic Spline Interpolation

Methods for setting the boundary conditions for cubic interpolation splines:

  • Natural Cubic Splines

  • Hermit Splines

  • Cardinal Splines

  • Kochanek-Bartels Splines


Slide58 l.jpg

Natural

Cubic Splines


Natural cubic splines l.jpg
Natural Cubic Splines

  • Natural cubic splines are developed for graphics application.

  • Natural cubic splines have C2continuity.


Natural cubic splines60 l.jpg
Natural Cubic Splines

If 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.


Natural cubic splines61 l.jpg
Natural Cubic Splines

At eachn-1interior control points, we have 4boundary 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


Natural cubic splines62 l.jpg
Natural Cubic Splines

Additional equation:

  • First control point P0

  • End control points Pn

5. C1(0)=P0

6. C2(1)=P2


Natural cubic splines63 l.jpg
Natural Cubic Splines

We still needtwo more conditions to be able to determine values for all coefficients.


Natural cubic splines64 l.jpg
Natural Cubic Splines

Method 1:

Set the second derivatives at p0and pn to 0

7. C˝1(0)=0

8. C˝2(1)=0


Natural cubic splines65 l.jpg

P-1

P3

Natural Cubic Splines

Method 2:

Add a control pointP-1and a control point Pn+1.

7. P-1

8. P3


Natural cubic splines66 l.jpg
Natural Cubic Splines

  • Natural cubic splines are a mathematical model for the drafting spline.

    Disadvantage:

  • No “Local Control”: we cannot reconstruct part of the curve without specifying an entirely new set of control points.



Hermit splines l.jpg
Hermit Splines

Given a set of control points:

  • Hermit splines is an interpolating piecewise cubic polynomial with a specified tangent at each control point.


Hermit splines69 l.jpg
Hermit Splines

  • Hermit splines can be adjustedlocally because each curve section is only dependent on its endpoint constraints (unlike the natural cubic splines).


Hermit splines70 l.jpg
Hermit Splines

  • Example: Change in Magnitudeof T0


Hermit splines71 l.jpg
Hermit Splines

  • Example: Change in Directionof T0


Hermit splines72 l.jpg
Hermit Splines

  • P(u) represents a parametric cubic point function for the section betweenpk and pk+1.

  • The boundary conditions are:

Dpk and Dpk+1 are the values for the parametric derivations (slope of the curve) at control points Pk and Pk+1


Hermit splines73 l.jpg

Boundary conditions

Hermit Splines

The derivative of the point function:

We can write the constraints

in a matrix form:


Hermit splines74 l.jpg
Hermit Splines

Solving this equation for the polynomial coefficients:

MH, the Hermit matrix, is the inverse of the boundary constraint matrix.



Hermit splines76 l.jpg
Hermit Splines

Hermit Blending Functions


Hermit splines77 l.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 togenerate splinecurve withoutrequiring input values for curve slopes.

But…


Slide78 l.jpg

Cardinal

Splines


Cardinal splines l.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 calculatedfrom the coordinates of the two adjacent control points.


Cardinal splines80 l.jpg
Cardinal Splines

  • A cardinal splinesection is completely specified with four consecutive control points.

  • The middle two control points are the section endpoints, and the other two points are usedin the calculation of the endpoint slopes.


Cardinal splines81 l.jpg
Cardinal Splines

  • The boundary conditions:

  • Thus, the slopes at control points pkand pk+1 are taken to be proportional to the chords and


Cardinal splines82 l.jpg
Cardinal Splines

  • The boundary conditions:


Cardinal splines83 l.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.


Cardinal splines84 l.jpg
Cardinal Splines

  • When t=0 is called the Catmull-Rom splines, or Overhauser splines.



Cardinal splines86 l.jpg
Cardinal Splines

  • The polynomials CARk(u) for k=0,1,2,3 are the cardinal functions.


Cardinal splines87 l.jpg
Cardinal Splines

Cardinal functions


ad