Computer Animation. Rick Parent

Size: px
Start display at page:

Download "Computer Animation. Rick Parent"

Transcription

1 Algorithms and Techniques Interpolating Values

2 Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture

3 Motivation Common problem: given a set of points Smoothly (in time and space) move an object through the set of points Example additional temporal constraints: t From zero velocity at first point, smoothly accelerate until time t1, hold a constant velocity until time t2, then smoothly decelerate to a stop at the last point at time t3

4 Motivation solution steps 1C 1. Construct ta space curve tht that interpolates the given points with piecewise first order continuity p=p(u) 2. Construct an arc-length-parametric- value function for the curve 3. Construct time-arc-length function according to given constraints u=u(s) s=s(t) p=p(u(s(t)))

5 Interpolating function Interpolation v. approximation Complexity: cubic Continuity: first degree (tangential) Local v. global control: local Information requirements: tangents needed?

6 Interpolation v. Approximation

7 Complexity Low complexity reduced computational cost Point of Inflection Can match arbitrary tangents at end points CUBIC polynomial

8 Continuity

9 Local v. Global l Control

10 Information requirements just the points tangents interior control points just beginning and ending tangents

11 Curve Formulations Lagrange Polynomial Piecewise cubic polynomials Hermite Catmull-Rom Blended Parabolas Bezier B-spline Tension-Continuity-Bias 4-Point Form

12 Lagrange Polynomial P j ( x) = y x x j k = 1 x j k j x x k k

13 Lagrange Polynomial P j ( x) = y x x j k = 1 x j k j x x k k

14 Polynomial Curve Formulations Need to match real-world data v. design from scratch Information requirements: just points? tangents? Qualities of final curve? Intuitive enough? Blending Other shape controls? Functions T P = U MB = FB = U T A [ 1] 3 2 u u u Coefficient matrix Geometric information Algebraic coefficient matrix

15 Hermite p 3 2 i+ 1 P = [ u u u 1] p p p i i ' +11 i '

16 Cubic Bezier pi+1 P = [ u u u 1] Interior control points play the same role as the tangents of the Hermite formulation p 0.0 p i p i +33 p i

17 Blended Parabolas/Catmull-Rom* p pi P = [ u u u 1] p p i 1 i p i * End conditions are handled differently

18 Controlling Motion along p=p(u) Step 2. Reparameterization by arc length u = U(s) where s is distance along the curve Step 3. Speed control for example, ease-in / ease-out s = ease(t) where t is time

19 Reparameterizing by Arc Length Analytic Forward differencing Supersampling Adaptive approach Numerically Adaptive Gaussian

20 Reparameterizing by Arc Length - analytic 3 2 P ( u) = au + bu + cu + d dp s u = 2 u 1 dp / du du / du = ( dx ( u ) / du dy ( u ) / du dz ( u ) / du ) ( dx ( u ) / du ) 2 + ( dy ( u ) / du ) 2 ( dx ( u ) / ) 2 dp / du = + du Can t always be solved analytically yfor our curves

21 Reparameterizing i by Arc Length - supersample 1.Calculate a bunch of points at small increments in u 2.Compute summed linear distances as approximation to arc length 3.Build table of (parametric value, arc length) pairs Notes 1.Often useful to normalize total distance to Often useful to normalize parametric value for multi-segment curve to 1.0

22 index u Arc Length Build table of approx. lengths

23 Adaptive Approach How fine to sample? Compare successive approximations and see if they agree within some tolerance Test can fail subdivide to predefined level, then start testing

24 Reparameterizing by Arc Length - quadrature + 1 ( u) du = 1 f w f ( ) i i u i 3 2 P ( u) = au + bu + cu + d Au 4 + Bu 3 + Cu 2 + Du + E Lookup tables of weights and parametric values Can also take adaptive approach here

25 Reparameterizing by Arc Length Analytic Forward differencing Supersampling Adaptive approach Numerically Adaptive Gaussian Sufficient for many problems

26 Speed Control distance Time-distance function Ease-in Cubic polynomial Sinusoidal segment Segmented sinusoidal Constant acceleration General distance-time functions time

27 Time Distance Function s S s = S(t) t

28 Ease-in/Ease-out Function s 1.0 S s = S(t) t Normalize distance and time to 1.0 to facilitate reuse

29 Ease-in: Sinusoidalid s ( sin( tπ / 2) 1) / 2 = ease( t) = π +

30 Ease-in: Piecewise cws Sinusoidal Snuso

31 Ease-in: Piecewise cws Sinusoidal Snuso 2 tπ π ( k (sin( )) 2k 2 / 1 π 1 f t <= k 1 ease(t) = k ( 1 + t k 1) / π / 2 f k < t <= 1 k 2 k ( π / 2 2 π ( t k ) k 2 k 1 + (1 k 2 ) sin( )) / π 2(1 k ) 2 ( f k < t 2 where f = 2 k1 + k2 k1 + (1 k π ( 2 2 ) π Provides linear (constant t velocity) middle segment

32 Ease-in: Single Cubic s = ease( t) = 2t + 3t 3 2

33 Ease-in: Constant t Acceleration

34 Ease-in: Constant t Acceleration

35 Ease-in: Constant t Acceleration

36 Ease-in: Constant t Acceleration

37 Constant Acceleration 2 t d = v 0 2t < t t 1 d t1 = v0 + v0( t t1) t1 < t t2 2 d t1 ( t t2 ) = v0 + v0( t2 t1) + v0(1 )( t t2) t2 < t (1 t ) 2

38 Motivation solution steps 1C 1. Construct ta space curve tht that interpolates the given points with piecewise first order continuity p=p(u) 2. Construct an arc-length-parametric- value function for the curve 3. Construct time-arc-length function according to given constraints u=u(s) s=s(t) p=p(u(s(t)))

39 Arbitrary Speed Control Animators can work in: Distance-time space curves Velocity-time space curves Acceleration-time space curves Set time-distance t constraints t etc.

40 Curve fitting to distance-time pairs

41 Working with time-distance curves

42 Interpolating distance-time time pairs

43 Frenet Frame control orientation

44 Frenet Frame tangent & curvature vector

45 Frenet Frame tangent & curvature vector P( u) = UMB P '( u ) = P''( u) = [ 1] 3 2 U = u u u

46 Frenet Frame tangent & curvature vector P( u) = UMB P '( u ) = U ' MB P''( u) = U '' MB [ ] 3 2 U = u u u 1 [ 2 U ' = 3u 2u 1 0 ] U '' = [ 6u 2 0 0]

47 Frenet Frame local coordinate system Directly control orientation of object/camera Use for direction and bank into turn, especially for ground-planar curves (e.g. roads) v is perpendicular to w if curve is parameterized by arclength; otherwise probably not perpendicular For general curve must v = wxu

48 Frenet Frame - undefined

49 Frenet Frame - discontinuity

50 Other ways to control orientation Use auxiliary curve to define direction or up vector Use point P(s+ds) for direction

51 Direction & Up vector v = u x w To keep head up, use y-axis to compute over and up vectors perpendicular to direction vector u=w x y-axis w Direction vector If up vector supplied, use that instead of y-axis

52 Orientation interpolation Preliminary note: 1. Remember that Rotq ( v) Rotkq( v) 2. Affects of scale are divided out by the inverse appearing in quaternion rotation 3.When interpolating quaternions, use UNIT quaternions otherwise magnitudes can interfere with spacing of results of interpolation

53 Orientation interpolation Quaternions can be interpolated to produce in-between orientations: ti q = ( 1 k) q + kq 2 problems analogous to issues when interpolating positions: 1. How to take equi-distant steps along orientation path? 2. How to pass through orientations smoothly (1 st order continuous) 1 3. And another particular to quaternions: with dual unit quaternion representations, which h to use? 2

54 Dual representation Rot ( v) Rot ( v) q = kq Dual unit quaternion representations For Interpolation between q1 and q2, compute cosine between q1 and q2 and between q1 and q2; choose smallest angle

55 Interpolating quaternions Unit quaternions form set of points on 4D sphere Linearly interpolating unit quaternions: not equally spaced

56 Interpolating quaternions in great arc => equal spacing

57 Interpolating quaternions with equal spacing slerp( q 1, q 2, u) = sin(1 u) θ q sinθ 1 + sin uθ q sinθ 2 where q 1 q2 = cosθ slerp, sphereical linear interpolation is a function of the beginning quaternion orientation, q1 the ending quaternion orientation, q2 the interpolant, u

58 Smooth Orientation interpolation Use quaternions Interpolate along great arc (in 4-space) using cubic Bezier on sphere 1S 1. Select representation to use from duals 2. Construct interior control points for cubic Bezier 3. use DeCastelajue construction of cubic Bezier

59 Smooth quaternion interpolation ti Similar to first order continuity desires with positional interpolation How to smoothly interpolate through orientations q 1, q 2, q 3, q n Bezier interpolation geometric construction

60 Bezier interpolation ti

61 Bezier interpolation ti Construct interior control points t n b n p n p n-1 a n p n p p n 1 n+2 p n-1 p n a a n p n+2 p n+1 p n+1 p n-1 p n p a n p n+2 a pn+1 0 b n+1 a n+1 t n+1 p 0 p 1 p2

62 Quaternion operators q 2 bisect(q 1, q 2 ) q b Similar to forming a vector between 2 points, form the rotation between 2 orientations q b q 1 double(q 1, q 2 ) Given 2 orientations, form result of applying rotation ti between the two to 2 nd orientation q 2 q d q 1

63 Quaternion operators: double ( p, q) = r Double where q is the midorientation between p and the yetto-be-determined r If p and q are unit quaternions, Then q = cos(θ)q and cos(θ)= q ' = cos( θ ) q = ( p q)q p q Given p and q, form r p q q θ θ θ r double( p, q) bisect( p, r) = q Bisect 2 orientations: if p and r are unit length = r = q' + ( q' p) = 2( p q) q p p + r bisect( p, r ) = = p + r Given p and r, form q q

64 Bezier interpolation ti Need quaternion-friendly operators to form interior control points

65 Bezier interpolation ti Construct interior control points t n p n p n-1 a n p n+2 a n = n bisect(double( pn 1, pn), p + 1) b n b = double( a, q n p n+1 p n-1 ( n n ) p n a n p n+2 p n+1 p 1 p n a p n-1 a n pn+1 b n+1 p n+2 a n+1 Bezier segment: q n, a n, b n+1, q n+1 t n+1

66 Bezier construction using quaternion operators Need quaternion-friendly operations to interpolate cubic Bezier curve using quaternion points de Casteljau geometric construction algorithm

67 Bezier construction using quaternion operators For p(1/3) t 1 =slerp(q n, a n,1/3) t 2 =slerp(a n, b n+1,1/3) t 3 =slerp(b n+1, q n+1,1/3) t 12 =slerp(t 1, t 2,1/3) t 23 =slerp(t 12, t 23,1/3) q=slerp(t 12, t 23,1/3)

68 Working with paths Smoothing a path Determining a path along a surface Finding downhill direction

69 Smoothing data

70 Smoothing data

71 Smoothing data

72 Smoothing data

73 Smoothing data

74 Smoothing data

75 Smoothing data

76 Smoothing data

77 Smoothing data

78 Smoothing data

79 Smoothing data

80 Smoothing data

81 Path finding

82 Path finding -downhill hll

Interpolating/approximating pp gcurves

Interpolating/approximating pp gcurves Chap 3 Interpolating Values 1 Outline Interpolating/approximating pp gcurves Controlling the motion of a point along a curve Interpolation of orientation Working with paths Interpolation between key frames

More information

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation

CS 475 / CS 675 Computer Graphics. Lecture 16 : Interpolation for Animation CS 475 / CS 675 Computer Graphics Lecture 16 : Interpolation for Keyframing Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent)

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Quaternions as Orientations () page 1 Multiplying Quaternions q1 = (w1, x1, y1, z1); q = (w, x, y, z); q1 * q = ( w1.w - v1.v, w1.v + w.v1 + v1 X v) where v1 = (x1, y1,

More information

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010) Advanced Computer Graphics (Fall 2010) CS 283, Lecture 19: Basic Geometric Concepts and Rotations Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Motivation Moving from rendering to simulation,

More information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

Animation. Animation

Animation. Animation CS475m - Computer Graphics Lecture 5 : Interpolation for Selected (key) frames are specified. Interpolation of intermediate frames. Simple and popular approach. May give incorrect (inconsistent) results.

More information

Information Coding / Computer Graphics, ISY, LiTH. Splines

Information Coding / Computer Graphics, ISY, LiTH. Splines 28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

More information

Design considerations

Design considerations Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

More information

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information

08 - Designing Approximating Curves

08 - Designing Approximating Curves 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

More information

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include Parametric Curves and Surfaces In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include Describing curves in space that objects move

More information

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004 Spline Notes Marc Olano University of Maryland, Baltimore County February, 4 Introduction I. Modeled after drafting tool A. Thin strip of wood or metal B. Control smooth curved path by running between

More information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required: Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric

More information

CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves Tamar Shinar Computer Science & Engineering UC Riverside Design considerations local control of shape design each segment independently smoothness and continuity ability

More information

3.3 Interpolation of rotations represented by quaternions

3.3 Interpolation of rotations represented by quaternions 3 S 3.3 Interpolation of rotations represented by quaternions : set of unit quaternions ; S :set of unit 3D vectors Interpolation will be performed on 3 S (direct linear interpolation produces nonlinear

More information

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Animating orientation. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Animating orientation CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Orientation in the plane θ (cos θ, sin θ) ) R θ ( x y = sin θ ( cos θ sin θ )( x y ) cos θ Refresher: Homogenous

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial

More information

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

More information

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Objects 2: Curves & Splines Christian Miller CS Fall 2011 Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 1 Tutorial 1 GRAND PLAN I: Fundamentals of Quaternions II: Visualizing Quaternion Geometry III: Quaternion

More information

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE Computer Animation Algorithms and Techniques Rick Parent Ohio State University z< MORGAN KAUFMANN PUBLISHERS AN IMPRINT OF ELSEVIER SCIENCE AMSTERDAM BOSTON LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO

More information

Curves and Surfaces for Computer-Aided Geometric Design

Curves and Surfaces for Computer-Aided Geometric Design Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur Email: jrkumar@iitk.ac.in Curve representation 1. Wireframe models There are three types

More information

Computer Graphics Splines and Curves

Computer Graphics Splines and Curves Computer Graphics 2015 9. Splines and Curves Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2015-11-23 About homework 3 - an alternative solution with WebGL - links: - WebGL lessons http://learningwebgl.com/blog/?page_id=1217

More information

Computer Animation 4-Motion Control SS 13

Computer Animation 4-Motion Control SS 13 Computer Animation 4-Motion Control SS 13 Prof. Dr. Charles A. Wüthrich, Fakultät Medien, Medieninformatik Bauhaus-Universität Weimar caw AT medien.uni-weimar.de Controlling motion along curves We all

More information

CGT 581 G Geometric Modeling Curves

CGT 581 G Geometric Modeling Curves CGT 581 G Geometric Modeling Curves Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Technology Curves What is a curve? Mathematical definition 1) The continuous image of an interval

More information

Visualizing Quaternions

Visualizing Quaternions Visualizing Quaternions Andrew J. Hanson Computer Science Department Indiana University Siggraph 25 Tutorial OUTLINE I: (45min) Twisting Belts, Rolling Balls, and Locking Gimbals: Explaining Rotation Sequences

More information

Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

More information

Interpolation and Basis Fns

Interpolation and Basis Fns CS148: Introduction to Computer Graphics and Imaging Interpolation and Basis Fns Topics Today Interpolation Linear and bilinear interpolation Barycentric interpolation Basis functions Square, triangle,,

More information

Splines. Connecting the Dots

Splines. Connecting the Dots Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More

More information

Animation Curves and Splines 2

Animation Curves and Splines 2 Animation Curves and Splines 2 Animation Homework Set up Thursday a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate Animation a time with

More information

Curves. Computer Graphics CSE 167 Lecture 11

Curves. Computer Graphics CSE 167 Lecture 11 Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

Freeform Curves on Spheres of Arbitrary Dimension

Freeform Curves on Spheres of Arbitrary Dimension Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures

More information

Curve and Surface Basics

Curve and Surface Basics Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

More information

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic

More information

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri Curves and Surfaces CS475 / 675, Fall 26 Siddhartha Chaudhuri Klein bottle: surface, no edges (Möbius strip: Inductiveload@Wikipedia) Möbius strip: surface, edge Curves and Surfaces Curve: D set Surface:

More information

Quaternions and Rotations

Quaternions and Rotations CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

More information

Representing Curves Part II. Foley & Van Dam, Chapter 11

Representing Curves Part II. Foley & Van Dam, Chapter 11 Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

More information

A Curve Tutorial for Introductory Computer Graphics

A Curve Tutorial for Introductory Computer Graphics A Curve Tutorial for Introductory Computer Graphics Michael Gleicher Department of Computer Sciences University of Wisconsin, Madison October 7, 2003 Note to 559 Students: These notes were put together

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Fathi El-Yafi Project and Software Development Manager Engineering Simulation An Introduction to Geometry Design Algorithms Fathi El-Yafi Project and Software Development Manager Engineering Simulation 1 Geometry: Overview Geometry Basics Definitions Data Semantic Topology Mathematics

More information

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents Mathematical Tools in Computer Graphics with C# Implementations by Hardy Alexandre, Willi-Hans Steeb, World Scientific Publishing Company, Incorporated, 2008 Table of Contents List of Figures Notation

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

Construction and smoothing of triangular Coons patches with geodesic boundary curves

Construction and smoothing of triangular Coons patches with geodesic boundary curves Construction and smoothing of triangular Coons patches with geodesic boundary curves R. T. Farouki, (b) N. Szafran, (a) L. Biard (a) (a) Laboratoire Jean Kuntzmann, Université Joseph Fourier Grenoble,

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next

More information

Geometric Modeling of Curves

Geometric Modeling of Curves Curves Locus of a point moving with one degree of freedom Locus of a one-dimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations

CS 445 / 645 Introduction to Computer Graphics. Lecture 21 Representing Rotations CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Parameterizing Rotations Straightforward in 2D A scalar, θ, represents rotation in plane More complicated in 3D Three scalars

More information

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques 436-105 Engineering Communications GL9:1 GL9: CAD techniques Curves Surfaces Solids Techniques Parametric curves GL9:2 x = a 1 + b 1 u + c 1 u 2 + d 1 u 3 + y = a 2 + b 2 u + c 2 u 2 + d 2 u 3 + z = a

More information

Intro to Curves Week 4, Lecture 7

Intro to Curves Week 4, Lecture 7 CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

More information

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1

Spline Curves. Spline Curves. Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1 Spline Curves Prof. Dr. Hans Hagen Algorithmic Geometry WS 2013/2014 1 Problem: In the previous chapter, we have seen that interpolating polynomials, especially those of high degree, tend to produce strong

More information

Keyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band.

Keyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band. Department of Computer Science Approximation Methods for Quadratic Bézier Curve, by Circular Arcs within a Tolerance Band Seminar aus Informatik Univ.-Prof. Dr. Wolfgang Pree Seyed Amir Hossein Siahposhha

More information

Trajectory Planning for Automatic Machines and Robots

Trajectory Planning for Automatic Machines and Robots Luigi Biagiotti Claudio Melchiorri Trajectory Planning for Automatic Machines and Robots Springer 1 Trajectory Planning 1 1.1 A General Overview on Trajectory Planning 1 1.2 One-dimensional Trajectories

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:

More information

Orientation & Quaternions

Orientation & Quaternions Orientation & Quaternions Orientation Position and Orientation The position of an object can be represented as a translation of the object from the origin The orientation of an object can be represented

More information

Simple Keyframe Animation

Simple Keyframe Animation Simple Keyframe Animation Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4. International License keyframe.pptx Approaches to

More information

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors. Visualizing Quaternions Part II: Visualizing Quaternion Geometry Andrew J. Hanson Indiana University Part II: OUTLINE The Spherical Projection Trick: Visualizing unit vectors. Quaternion Frames Quaternion

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory

More information

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required: Reading Required: Angel readings for Parametric Curves lecture, with emphasis on 11.1.2, 11.1.3, 11.1.5, 11.6.2, 11.7.3, 11.9.4. Parametric surfaces Optional Bartels, Beatty, and Barsky. An Introduction

More information

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation November 11, 2013 Matthew Smith mrs126@uclive.ac.nz Department of Computer Science and Software Engineering University

More information

Jorg s Graphics Lecture Notes Coordinate Spaces 1

Jorg s Graphics Lecture Notes Coordinate Spaces 1 Jorg s Graphics Lecture Notes Coordinate Spaces Coordinate Spaces Computer Graphics: Objects are rendered in the Euclidean Plane. However, the computational space is better viewed as one of Affine Space

More information

3. The three points (2, 4, 1), (1, 2, 2) and (5, 2, 2) determine a plane. Which of the following points is in that plane?

3. The three points (2, 4, 1), (1, 2, 2) and (5, 2, 2) determine a plane. Which of the following points is in that plane? Math 4 Practice Problems for Midterm. A unit vector that is perpendicular to both V =, 3, and W = 4,, is (a) V W (b) V W (c) 5 6 V W (d) 3 6 V W (e) 7 6 V W. In three dimensions, the graph of the equation

More information

Transformations Week 9, Lecture 18

Transformations Week 9, Lecture 18 CS 536 Computer Graphics Transformations Week 9, Lecture 18 2D Transformations David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 3 2D Affine Transformations

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

Flank Millable Surface Design with Conical and Barrel Tools

Flank Millable Surface Design with Conical and Barrel Tools 461 Computer-Aided Design and Applications 2008 CAD Solutions, LLC http://www.cadanda.com Flank Millable Surface Design with Conical and Barrel Tools Chenggang Li 1, Sanjeev Bedi 2 and Stephen Mann 3 1

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Interpolation and Basis Fns

Interpolation and Basis Fns CS148: Introduction to Computer Graphics and Imaging Interpolation and Basis Fns Topics Today Interpolation Linear and bilinear interpolation Barycentric interpolation Basis functions Square, triangle,,

More information

Channels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017

Channels & Keyframes. CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2017 Channels & Keyframes CSE69: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 27 Animation Rigging and Animation Animation System Pose Φ... 2 N Rigging System Triangles Renderer Animation When

More information

Arc-Length Parameterized Spline Curves for Real-Time Simulation

Arc-Length Parameterized Spline Curves for Real-Time Simulation Arc-Length Parameterized Spline Curves for Real-Time Simulation Hongling Wang, Joseph Kearney, and Kendall Atkinson Abstract. Parametric curves are frequently used in computer animation and virtual environments

More information

Ch. 6: Trajectory Generation

Ch. 6: Trajectory Generation 6.1 Introduction Ch. 6: Trajectory Generation move the robot from Ti to Tf specify the path points initial + via + final points spatial + temporal constraints smooth motion; continuous function and its

More information

Natural Numbers and Integers. Big Ideas in Numerical Methods. Overflow. Real Numbers 29/07/2011. Taking some ideas from NM course a little further

Natural Numbers and Integers. Big Ideas in Numerical Methods. Overflow. Real Numbers 29/07/2011. Taking some ideas from NM course a little further Natural Numbers and Integers Big Ideas in Numerical Methods MEI Conference 2011 Natural numbers can be in the range [0, 2 32 1]. These are known in computing as unsigned int. Numbers in the range [ (2

More information

Temporal Face Normal Interpolation

Temporal Face Normal Interpolation Temporal Face Normal Interpolation Jindřich Parus Centre of Computer Graphics and Data Visualization, University of West Bohemia, Pilsen, Czech Republic Anders Hast Creative Media Lab, University of Gävle,

More information

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 9 15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

More information

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework assignment 5 due tomorrow, Nov

More information

Curves and Surface I. Angel Ch.10

Curves and Surface I. Angel Ch.10 Curves and Surface I Angel Ch.10 Representation of Curves and Surfaces Piece-wise linear representation is inefficient - line segments to approximate curve - polygon mesh to approximate surfaces - can

More information