Parametric Curves Ref: 1, 2.

Slides:



Advertisements
Similar presentations
Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Advertisements

College of Computer and Information Science, Northeastern UniversityApril 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007 Lecture.
Lecture Notes #11 Curves and Surfaces II
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
© University of Wisconsin, CS559 Spring 2004
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Parametric Equations Local Coordinate Systems Curvature Splines
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
Vector-Valued Functions and Motion in Space Dr. Ching I Chen.
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Cubic Curves CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Trajectory Generation
Computer Animation Algorithms and Techniques
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Bezier Curves and Splines David Eno MAT 499 Fall ‘06.
Informationsteknologi Monday, December 10, 2007Computer Graphics - Class 161 Today’s class Curve fitting Evaluators Surfaces.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Curves Locus of a point moving with one degree of freedom
Designing Parametric Cubic Curves Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Modelling: Curves Week 11, Wed Mar 23
RASTER CONVERSION ALGORITHMS FOR CURVES: 2D SPLINES 2D Splines - Bézier curves - Spline curves.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Designing Parametric Cubic Curves
Splines III – Bézier Curves
Curve Modeling Bézier Curves
Splines By: Marina Uchenik.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture 3. Description.
Spline Representations
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Interpolating Values.
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
CO Games Development 1 Week 12 Interpolation, Path Smoothing & Splines
1 CS 430/536 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation of Curves and Surfaces Graphics.
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.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
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.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Ship Computer Aided Design
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
College of Computer and Information Science, Northeastern UniversityFebruary 27, CS U540 Computer Graphics Prof. Harriet Fell Spring 2009 Lectures.
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
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.
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
Representation of Curves & Surfaces
Chapter 10-2: Curves.
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Designing Parametric Cubic Curves
© University of Wisconsin, CS559 Spring 2004
CS U540 Computer Graphics Prof. Harriet Fell Spring 2007
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.
Parametric Line equations
UNIT-5 Curves and Surfaces.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
Introduction to Parametric Curve and Surface Modeling
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:

Parametric Curves Ref: 1, 2

Outline Hermite curves Bezier curves Catmull-Rom splines Frames along the curve

Hermite Curves 3D curve of polynomial bases Geometrically defined by position and tangents of end points Able to construct C1 composite curve In CG, often used as the trace for camera with Frenet frame, or rotation-minimizing frame

Math … P(0)= P1, P(1)=P2; P’(0)=T1, P’(1)=T2 h1(s) = 2s3 - 3s2 + 1 h3(s) = s3 - 2s2 + s h4(s) = s3 - s2 P(s) = P1h1(s) + P2h2(s) + T1h3(s) + T2h4(s) P’(s)=P1h1’(s) + P2h2’(s) + T1h3’(s) + T2h4’(s) h1’ = 6s2-6s h2’ = -6s2+6s h3’= 3s2-4s+1 h4’= 3s2 – 2s P(0)= P1, P(1)=P2; P’(0)=T1, P’(1)=T2

Blending Functions At s = 0: At s = 1: h2(s) h4(s) h3(s) h1(s) h1 = 1, h2 = h3 = h4 = 0 h1’ = h2’ = h4’ = 0, h3’ = 1 At s = 1: h1 = h3 = h4 = 0, h2 = 1 h1’ = h2’ = h3’ = 0, h4’ = 1 P(0) = P1 P’(0) = T1 P(1) = P2 P’(1) = T2

C1 Composite Curve P(t) Q(t) R(t) More on Continuity

Composite Curve t1 t3 P(t) Q(t) R(t) t0 t2 Each subcurve is defined in [0,1]. The whole curve (PQR) can be defined from [0,3] To evaluate the position (and tangent)

Bezier curves Catmull-Rom splines Close Relatives Bezier curves Catmull-Rom splines

Bezier Curve (cubic, ref) Defined by four control points de Casteljau algorithm (engineer at Citroën)

Bezier Curve (cont) Also invented by Pierre Bézier (engineer of Renault) Blending function: Bernstein polynomial Can be of any degree Degree n has (n+1) control points

First Derivative of Bezier Curves (ref) Degree-n Bezier curve Bernstein polynomial Derivative of Bernstein polynomial First derivative of Bezier curve Hodograph

Ex: cubic Bezier curve Hence, to convert to/from Hermite curve:

C1 Composite Bezier Curves

Bezier Curve Fitting From GraphicsGems Input: digitized data points in R2 Output: composite Bezier curves in specified error

Bezier Marching A path made of composite Bezier curves Generate a sequence of points along the path with nearly constant step size Adjust the parametric increment according to (approximated) arc length

Catmull-Rom spline (1974, ref) Given n+1 control points {P0,…,Pn}, we wish to find a curve that interpolates these control points (i.e. passes through them all), and is local in nature (i.e. if one of the control points is moved, it only affects the curve locally). We define the curve on each segment [Pi,Pi+1] by using the two control points, and specifying the tangent to the curve at each control point to be (Pi+1–Pi-1)/2 and (Pi+2–Pi)/2 Tangents in first and last segments are defined differently

PowerPoint Line Tool … Gives you a Catmull-Rom spline, open or close.

Ex: Catmull-Rom Curves

Reference Frames Along the Curve Applications generalized cylinder Cinematography Frenet frames Rotation minimizing frame

Generalized Cylinder

Frenet Frame (Farin) tangent vector binormal vector main normal vector Unit vectors : cross product

Frenet Frame (arc-length parameterization)

Frenet-Serret Formula In this notation, the curve is r(s) Frenet-Serret Formula Express T’N’B’ (change rate of TNB) in terms of TNB    Orthonormal expansion

Frenet-Serret Formula (cont) In general parameterization r(t) Curvature and torsion r(t)=(x(t),y(t))

Geometric Meaning of k and t curvature torsion (s) x(s+Ds) Da: angle between t(s) and t(s+Ds) Db: angle between b(s) and b(s+Ds) More result on this reference

Frenet Frame Problem Problem: vanishing second derivative at inflection points (vanishing normal)

Rotation Minimizing Frame (ref) Use the second derivative to define the first frame (if zero, set N0 to any vector T0) Compute all subsequent Ti; find a rotation from Ti-1 to Ti; rotate Ni and Bi accordingly If no rotation, use the same frame

Continuity BACK Geometric Continuity A curve can be described as having Gn continuity, n being the increasing measure of smoothness. G0: The curves touch at the join point. G1: The curves also share a common tangent direction at the join point. G2: The curves also share a common center of curvature at the join point. Parametric Continuity C0: curves are joined C1: first derivatives are equal C2: first and second derivatives are equal Cn: first through nth derivatives are equal BACK