Dr. S.M. Malaek Assistant: M. Younesi

Slides:



Advertisements
Similar presentations
Splines I – Curves and Properties
Advertisements

Lecture Notes #11 Curves and Surfaces II
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
March 1, 2009Dr. Muhammed Al-Mulhem1 ICS 415 Computer Graphics Hermite Splines Dr. Muhammed Al-Mulhem March 1, 2009 Dr. Muhammed Al-Mulhem March 1, 2009.
Lecture 10 Curves and Surfaces I
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
CS 445 / 645 Introduction to Computer Graphics Lecture 22 Hermite Splines Lecture 22 Hermite Splines.
08/30/00 Dinesh Manocha, COMP258 Hermite Curves A mathematical representation as a link between the algebraic & geometric form Defined by specifying the.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Chapter 10: Curves and Surfaces Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Computer Graphics Lecture 13 Curves and Surfaces I.
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
(Spline, Bezier, B-Spline)
V. Space Curves Types of curves Explicit Implicit Parametric.
Spline Representations
Curves.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Chapter 4 Representations of Curves and Surfaces.
Chapter VI Parametric Curves and Surfaces
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
CS 325 Computer Graphics 04 / 30 / 2010 Instructor: Michael Eckmann.
Ship Computer Aided Design
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
CS5500 Computer Graphics May 11, 2006
Curve & Surface.
Representation of Curves & Surfaces
CS 445 / 645 Introduction to Computer Graphics
(Spline, Bezier, B-Spline)
Chapter 10-2: Curves.
Computer Graphics Lecture 37
Parametric Curves.
CURVES CAD/CAM/CAE.
© University of Wisconsin, CS559 Spring 2004
Chapter XVII Parametric Curves and Surfaces
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
UNIT-5 Curves and Surfaces.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Type to enter a caption. Computer Graphics Week 10 Lecture 1.
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Presentation transcript:

Dr. S.M. Malaek Assistant: M. Younesi 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: If the polynomial degree is high, unwanted wiggles are introduced. If the polynomial degree is law, it gives too little flexibility. No local operations.

Solution: Polynomial Splines

Spline Curve

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

Spline Curve Several small weights are distributed along the length of the strip to hold it in position on the drafting table as the curve is drawn. Weights

Spline Curve The term spline curve originally referred to a curve drawn in this manner.

Spline Curve In modeling, 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 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 Points A spline curve is defined, modified, and manipulated with operations on the control points.

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

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 Remind: A region is convex if the line segment joining any two points in the region is also within the region.

Shape of the Spline Curve

Shape of the Curve Interpolation Splines Approximation Splines Control points are fitted with piecewise continuous parametric polynomial function in one of two way: Interpolation Splines Approximation Splines

Interpolation Splines When polynomial sections are fitted so that the curve passes through each control point, the resulting curve is said to interpolate the set of control points.

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

Approximation Splines When polynomial sections are fitted to the general control point path without necessarily passing through any control point, the resulting curve is said to approximate the set if control points.

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

Continuity Conditions Parametric Continuity Conditions

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

Parametric Continuity Conditions Each section of a spline is described with a set of parametric coordinate functions of the form:

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

Parametric Continuity Conditions Problems with Parametric Continuity Conditions Representation

Problems with Parametric Continuity Two line segments: f(u) = A + u(B - A) g(v) = B + v(C - B) 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 | u is in the range of 0 and | B - A | and v is in the range of 0 and | C – B|

Problems with Parametric Continuity Semi circle: f(u) = ( -cos(u2 PI/2), sin(u2 PI/2), 0 ) g(v) = ( sin(v2 PI/2), cos(v2 PI/2), 0 ) 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

Problems with Parametric Continuity Semi 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).

Continuity Conditions Geometric Continuity Conditions

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.

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

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

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

Spline Interpolation

Linear Spline Interpolation

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 Interpolation A linear polynomial:

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: Linear Spline Interpolation

Linear Spline Interpolation Solving this equation for the polynomial coefficients: P(u) can be written in terms of the boundary conditions: Mspline Mgeometry U

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 Interpolation We can expand the matrix representation: Blending Functions

Linear Spline Interpolation The Linear spline blending function:

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 degree k has k+1 coefficients and thus requires k+1 independent constraints to uniquely determine it.

Cubic Spline Interpolation

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 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 Interpolation A cubic polynomial:

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. Linear Spline Interpolation

Cubic Spline Interpolation Methods for setting the boundary conditions for cubic interpolation splines: Natural Cubic Splines Hermit Splines Cardinal Splines Kochanek-Bartels Splines   

Natural Cubic Splines

Natural Cubic Splines Natural cubic splines are developed for graphics application. Natural cubic splines have C2 continuity.

Natural Cubic Splines We have n curve sections 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 Splines At 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

Natural Cubic Splines Additional equation: First control point P0 End control points Pn 5. C1(0)=P0 6. C2(1)=P2

 Natural Cubic Splines We still need two more conditions to be able to determine values for all coefficients. 

Natural Cubic Splines Method 1: Set the second derivatives at p0 and pn to 0 7. C˝1(0)=0 8. C˝2(1)=0

Natural Cubic Splines Method 2: Add a control point P-1 and a control point Pn+1. P-1 P3 7. P-1 8. P3

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

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 Splines Hermit splines can be adjusted locally because each curve section is only dependent on its endpoint constraints (unlike the natural cubic splines).

Hermit Splines Example: Change in Magnitude of T0

Hermit Splines Example: Change in Direction of T0

Hermit Splines P(u) represents a parametric cubic point function for the section between pk 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

We can write the constraints Hermit Splines Boundary conditions The derivative of the point function: We can write the constraints in a matrix form:

Hermit Splines Solving this equation for the polynomial coefficients: MH, the Hermit matrix, is the inverse of the boundary constraint matrix.

Blending Functions

Hermit Blending Functions Hermit Splines Hermit Blending Functions

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…

Cardinal Splines

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.

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.

Cardinal Splines The boundary conditions: Thus, the slopes at control points pk and pk+1 are taken to be proportional to the chords and

Cardinal Splines The boundary conditions:

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 Splines When t=0 is called the Catmull-Rom splines, or Overhauser splines.

Cardinal Splines

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

Cardinal Splines Cardinal functions