Rick Parent - CIS681 Interpolation of a time-space curve Interpolation (of a curve in space) Speed control along curve Reparameterizing according to arc.

Slides:



Advertisements
Similar presentations
Arc-length computation and arc-length parameterization
Advertisements

Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Parametric Curves Ref: 1, 2.
© University of Wisconsin, CS559 Spring 2004
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
11.4 Tangent Vectors and Normal Vectors Find a unit tangent vector at a point on a space curve Find the tangential and normal components of acceleration.
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
Trajectory Generation
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
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.
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
1Notes  Assignment 0 is being marked  Textbook reference for arc-length parameterization:  Section 3.2.
1Notes  Assignment 0 is due today!  To get better feel for splines, play with formulas in MATLAB!
Informationsteknologi Monday, December 10, 2007Computer Graphics - Class 161 Today’s class Curve fitting Evaluators Surfaces.
Chap 3 Interpolating Values
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Trajectory Generation How do I get there? This way!
1cs426-winter-2008 Notes  Ian Mitchell is running a MATLAB tutorial, Tuesday January 15, 5pm-7pm, DMP 110 We won’t be directly using MATLAB in this course,
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
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.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
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
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.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Designing Parametric Cubic 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.
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.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to Computer Graphics with WebGL
Curves.
Vector Computer Graphic. Vector entities Line Circle, Ellipse, arc,… Curves: Spline, Bezier’s curve, … … Areas Solids Models.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Interpolating Values.
Quick Quiz Consider the graph at the right. The object whose motion is represented by this graph is ... (include all that are true): moving in the positive.
INTERPOLATION & APPROXIMATION. Curve algorithm General curve shape may be generated using method of –Interpolation (also known as curve fitting) Curve.
Tangential and Centripetal Accelerations
CS 551/651 Advanced Graphics Arc Length. Assignment 1 Due Week from Thursday Building a Cubic Bézier curve OpenGL/Glut Insert up to 100 points Render.
Ship Computer Aided Design
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
CS 551/651 Advanced Graphics Technical Background.
Rick Parent - CIS681 Interpolation and Basic Techniques Representing and interpolating orientations Interpolation Speed control along curve Path following.
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.
Slide 129 October 1999CS Computer Graphics (Top Changwatchai) Bézier Curves - Results of Derivation Tangents at endpoints are equal to endpoint slopes.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CSCI480/582 Lecture 10 Chap.2.3 Cubic Splines – B-Splines and NURBS Feb, 13, 2009.
Keyframe Interpolation and Speed Control Jehee Lee Seoul National University.
CS559 – Curves Lecture These are course notes (not used as slides) Written by Mike Gleicher, Oct Updates Oct 2006, 2007 Updates Oct 2008 © 2005 Michael.
Ship Computer Aided Design
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:
Curvilinear Motion  Motion of projectile  Normal and tangential components.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
Position-Time and Velocity-Time Graphs
Vector-Valued Functions and Motion in Space
Position-Time and Velocity-Time Graphs
Homework Aid: Cycloid Motion
Interpolation and Basic Techniques
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
Position-Time and Velocity-Time Graphs
Presentation transcript:

Rick Parent - CIS681 Interpolation of a time-space curve Interpolation (of a curve in space) Speed control along curve Reparameterizing according to arc length

Rick Parent - CIS681 Problem: generate a path through points at designated times with smooth motion A B C D Time = 0 Time = 10 Time = 35 Time = 60

Rick Parent - CIS681 Solution: generate a space curve, distribute points evenly along curve, smoothly vary points temporally A B C D Time = 0 Time = 10 Time = 35 Time = 60

Rick Parent - CIS681 Curves Explicit form: y = f(x) Implicit form: 0 = f(x,y) x = f(u) y = g(u) Parametric form: Good for testing points or good for generating points?

Rick Parent - CIS681 Curves Parametric form: P = P(u) = (x,y,z) x = f(u) y = g(u) z = h(u) Space-curve P = P(u) 0.0 <=u<=1.0 u=1/3 u=2/3 u=0.0 u=1.0

Rick Parent - CIS681 Curves Local v. global control Computational complexity Continuity Interpolation v. approximation Match data v. design cubic local 1st order (tangential)

Rick Parent - CIS681 Curves Parametric form: P = P(u) = (x,y,z) x = f(u) y = g(u) z = h(u) Complexity: linear, cubic, higher order? Cubic is lowest order that allows point of inflection between two points

Rick Parent - CIS681 Curves - continuity none Zero order but not first order 1st but not 2nd order 2nd order position tangent curvature At junction of two circular arcs

Rick Parent - CIS681 Curves - local v. global control Is area affected by editing operation restricted? Or does an edit affect the entire curve (even if slightly)?

Rick Parent - CIS681 Curves u=1/3 u=2/3 u=0.0 u=1.0 P(u) = a*u 3 + b*u 2 + c*u + d P(0.0) = d = P0 P(1/3) = a*(1/3) 3 + b*(1/3) 2 + c*(1/3) + d = P1 P(2/3) = a*(2/3) 3 + b*(2/3) 2 + c*(2/3) + d = P2 P(1.0) = a + b + c + d = P3 4-point form P0 P1 P2 P3

Rick Parent - CIS681 Curves P(u) = a*u 3 + b*u 2 + c*u + d P(0.0) = d = P 0 P(1.0) = a + b + c + d = P 1 P0P0 P1P1 P’ 0 P’ 1 P’(0.0) = c = P’ 0 P’(1.0) = 3*a + 2*b + c = P’ 1 Hermite form

Rick Parent - CIS681 Curves P(u) = u3*( m00*P1 + m01*P2 + m02*P3 + m03*P4) + u2*( m10*P1 + m11*P2 + m12*P3 + m13*P4) + … P1 P2 P3 P4 P(u)u3u3 u1u2u2 m00 m01 m02 m03 m10 m11 m12 m13 m20 m21 m22 m23 m30 m31 m32 m33 P(u)UMP

Rick Parent - CIS681 Curves Hermite Bezier Catmull-Rom Blended parabolas B-splines, NURBS

Rick Parent - CIS681 Hermite

Rick Parent - CIS681 Bezier

Rick Parent - CIS681 Catmull-Rom

Rick Parent - CIS681 Blended Parabolas

Rick Parent - CIS681 B-Spline / NURBS

Rick Parent - CIS681 Space-Time Curve Given arclength* w, find u such that w = arclength(P(0.0), P(u)) w=0.3 w=0.6 w=0.0 w=1.0 u=0.2 u=0.5 * relative arclength

Rick Parent - CIS681 Equal Parametric Increments

Rick Parent - CIS681 Arc Length

Rick Parent - CIS681 Arc Length - analytic

Rick Parent - CIS681 Arc Length P(0.0) P(0.1) P(0.2) P(0.3) P(0.4) Create table of parametric values and summed linear approximations to arclength

Rick Parent - CIS681 Arc Length distance Estimated u UDistance ……

Rick Parent - CIS681 Given arc length - find index Given arc length, d = 0.37 Find entries in table that bound given value: UDistance ……

Rick Parent - CIS681 Arc Length - Gaussian Quadrature Weighted sum of samples - from table See book Adaptive - compare length of segment to sum of lengths of sub-segments

Rick Parent - CIS681 Controlling Motion Along a Curve slow fast

Rick Parent - CIS681 Time-Distance Curve time distance Slope indicates velocity Usually use normalized distance (0:1) and normalized time (0:1) to reuse curves

Rick Parent - CIS681 Ease-in/ease-out distance time (arclength) Equally spaced samples in time specify arc length required for that frame

Rick Parent - CIS681 Time-Velocity Curve velocity time Slope indicates acceleration Area under curve indicates distance traveled Use normalized distance and normalized time

Rick Parent - CIS681 Time- Acceleration Curve acceleration time Signed area under curve is velocity (at end should be zero if object starts and ends at a stop) This curves shows only constant acceleration and deceleration

Rick Parent - CIS681 Sine Ease-in / Ease-out Ease in/ease out control for time-distance curve

Rick Parent - CIS681 Sinusoidal segment distance time (arclength) 1  

Rick Parent - CIS681 Sinusoidal End Segments distance time Linear segment (arclength) Sinusoidal segments

Rick Parent - CIS681 Sinesoidal and linear segments

Rick Parent - CIS681 Sinesoidal and linear segments where

Rick Parent - CIS681 Constant Acceleration acceleration time t1 t2 Relationship between acceleration, deceleration, time accleration ends, time deceleration starts, and distance traveled Assume begin and end with velocity = 0 A D A*t1 = - B*(1-t2)

Rick Parent - CIS681 Constant Acceleration velocity time t1 t2 Distance is area under the curve Find v such that area = 1 v

Rick Parent - CIS681 Constant Acceleration Parabolic segments Linear segment distance time