Computer Graphics Keyframing and Interpola8on
|
|
- Darleen Owens
- 5 years ago
- Views:
Transcription
1 Computer Graphics Keyframing and Interpola8on
2 This Lecture Keyframing and Interpola2on two topics you are already familiar with from your Blender modeling and anima2on of a robot arm Interpola2on linear cubic
3 Keyframing The simplest form of anima2ng an object θ 3 c 1 c 2 θ 1 c 3 θ 2 A 60 sec anima2on Video: 30 frames / sec = 1800 frames We have 6 key frames Keyframe system must generate 1794 frames t=0 t=50ms What s the in- between mo2on?
4 Interpola8on Mathema2cal problem: Given a set of points, what are the most reasonable points in between?
5 Simplest Linear Interpola8on. just use a weighted average between points. We abbreviate linearly interpolate as Lirp
6 The simplest solu2on given: p 0 and p 1 t is our control variable Linear Interpola8on p 1 Q Q(t) = (1 t)p 0 + tp 1 p 0 0 t 1 Note: we only do this for t between 0 and 1, inclusive
7 Linear Interpola8on: General Case What if we are not given values at t=0 and t=1? Say the value is p 0 at t 0 and p 1 at t 1 p 1 Q p 0 t ' = t t 0 t 1 t 0 t 0 t t 1 Q(t) = (1 t ')p 0 + t ' p 1 From this point on, we will assume that t varies 0 to 1
8 Linear Interpola8on: Example 1 An object lies at posi2on y 0 = 2 at 2me t = 0 and posi2on y 1 = 3.1 at 2me t = 1. Using linear interpola2on, approximate the posi2on of the object at 2me t = 0.6. y = (1 t)y 0 + ty 1 Answer: y 0 =2, y 1 =3.1, t=0.6 y = (1 0.6) y = 2.66
9 Linear Interpola8on: Example 2 The brightness of a moving light source is b 0 = 1.0 when it lies at posi2on x 0 = 1.1 and b 1 = 0.5 when it lies at posi2on x 1 = 1.5. Using linear interpola2on, approximate the brightness of the light source when it lies at posi2on x = 1.4. We start at p 0 = 1.1, end at p 1 = 1.5, approximate at x = 1.4 Approximate at x =0.75: x' = (x x 0 ) / (x 1 x 0 ) x' = ( ) / ( ) = 0.75 b = (1 x')b 0 + x'b 1 b = (1 0.75) = 0.625
10 Linear Interpola8on: Example 3 The (x,y) posi2on of an object is (0, 1) at 2me t = 0 and (2, 10) at t = 1. Using linear interpola2on, approximate the posi2on of the object at 2me t = 0.1. Linearly interpolate the two coordinates separately x = (1 t)x 1 + tx 2 x = (1 0.1) = 0.2 y = (1 t)y 1 + ty 2 y = (1 0.1) =1.9 The object posi2on at 2me 0.1 is (0.2, 1.9)
11 Hands- On Session Download robotinterp.cpp, keyframe.cpp, keyframe.h and keyframe.txt from the class website Copy keyframe.txt to the resources folder of the project 05_asset_instance, then add it to the resources group of this project. Depending on the configura2on on your compiler, you might need to save it in the Debug directory of your project. Copy robotinterp.cpp, keyframe.cpp, keyframe.h to the sources directory of 05_asset_instance, and add them to your project. The file robotinterp.cpp will replace the current main file of your project. The keyframe files include code for linear interpola2on Add the appropriate header files to robotinterp.cpp, then compile the project and run. Higng the key 'a' will start the robot anima2on based on linear interpola2on
12 Hands- On Ac8vity 1 The format of the keyframe.txt file is as follows: keyframe time param1 param2 Here time is the actual 2me of the keyframe, param1 is the lei upper arm angle, and param2 is the lei lower arm angle The file keyframe.cpp includes code for reading this file and interpola2ng all parameters given in the file Study the code for keyframe.cpp and the connec2on with robotinterp.cpp (in Update, by means of the params array) Add code to robotinterp.cpp and configure keyframe.txt to have the robot wave both arms Show the anima2on to your instructor when finished
13 Hands- On Ac8vity 2 You can interpolate not only the joint angles of the robot, but also the posi2on or other akributes (color, texture, lights, camera) Let s experiment with the robot posi2on in the world: Add another parameter to keyframe.txt to represent the robot posi2on in each keyframe (in addi2on to joint angles) Add code to robotinterp.cpp to make the robot change posi2on (for example, it may vanish along the nega2ve z- axis) while waving Show the anima2on to your instructor when finished
14 Hands- On Ac8vity 3 In your latest assignment you got a taste of Vizard and its power for quick graphics development. Extend your Vizard script to make the camera fly over the piazza using keyframe interpola2on: You may hardcode the keyframes, so that you can focus on interpola2on rather than file handling. For example, if you alter only the (x,y,z) posi2on of the camera, your keyframes look like keyframes = [[0,0,0,0],[1.2,0,3,2],[2.2,5,3,4], etc.] Define a func2on linearinterpolation(time) similar to the one given in the OpenGL robot code Define a func2on navigate that uses linear interpola2on to set the posi2on (and orienta2on) of your camera, and schedule its execu2on using a 2mer
15 Hands- On Ac8vity 3 (contd.) To make sure that your linearinterpolation func2on works properly, place an object of your choice at each interpolated posi2on to trace the path that the camera takes. Here s an example: Show the anima2on to your instructor when finished
16 Hands- On Ac8vity 4 In your latest assignment you have also imported your own Blender object into your graphics scene Extend your Vizard script to make your Blender object move around the piazza using keyframe interpola2on Show the anima2on to your instructor when finished
17 Linear Interpola8on: Limita8ons Requires a large number of keyframes when the mo2on is highly nonlinear Solu2on: cubic interpola2on
18 Cubic Interpola8on
19 Parametric Curves We want con2nuous smooth curve f passing through the data points Explicit form y = f (x) Implicit form f (x, y) = 0 (x, y) Parametric form x = f (t), y = g(t)
20 Parametric Curve Example What curve does this represent? x = cos(t) y = sin(t)
21 Cubic Curves We can use a cubic func2on to represent a smooth curve in 3D Q x (t) = a x t 3 + b x t 2 + c x t + d x 0 t 1 Vector form: Q y (t) = a y t 3 + b y t 2 + c y t + d y Q z (t) = a z t 3 + b z t 2 + c z t + d z a = a x a y a z % Q(t) = at 3 + bt 2 + ct + d
22 Smooth Curves Controlling the shape of the curve Q x 2 3 ( t) = 1 t + t t Q x 2 3 ( t) = 1 t + 3t t
23 Constraints on the Cubics How many constraints do we need to determine a cubic curve? 4 control points Q(t) = at 3 + bt 2 + ct + d Q(t 1 ) Q(t 2 ) Q(t 3 ) Q(t 1 ) Q(t 2 ) Q(t 3 ) Q(t 4 ) = % 3 t 1 3 t 2 3 t 3 3 t 4 2 t 1 2 t 2 2 t 3 2 t 4 t 1 1 t 2 1 t 3 1 t 4 1 % a b c d % a b c d = % 3 t 1 3 t 2 3 t 3 3 t 4 2 t 1 2 t 2 2 t 3 2 t 4 t 1 1 t 2 1 t 3 1 t 4 1 % 1 Q(t 4 ) Q(t 1 ) Q(t 2 ) Q(t 3 ) Q(t 4 ) %
24 Natural Cubic Curve Q(t) = at 3 + bt 2 + ct + d Q(t 1 ) Q(t 2 ) Q(t 3 ) Q(t 4 ) Q(t) = t 3 t 2 t 1 % 3 t 1 3 t 2 3 t 3 3 t 4 2 t 1 2 t 2 2 t 3 2 t 4 t 1 1 t 2 1 t 3 1 t 4 1 % 1 Q(t 1 ) Q(t 2 ) Q(t 3 ) Q(t 4 ) % Control Points Q = (Q x, Q y, Q z )
25 Natural Cubic Spline A spline is a curve that is piecewise- defined and is smooth at the places where the pieces connect p 0 p 4 Disadvantage: p 1 p 2 p 3 p 6 No local control Solu2on: p 5 Hermite spline
26 Hermite Curves
27 Hermite Curves A Hermite curve is a cubic curve determined by endpoints p 0 and p 1 tangent vectors (veloci2es) v 0 and v 1 at endpoints v 0 v 1 p 1 p 0 Demo hkp://processingjs.nihongoresources.com/bezierinfo/
28 Examples of Hermite Curves
29 Review Tangents (Deriva8ves) Finding the deriva2ve of a curve is easy: Q = at 3 + bt 2 + ct + d dq dt = 3at 2 + 2bt + c Q = t 3 t 2 t 1 % a b c d % dq dt = 3t 2 2t 1 0 % a b c d % v 0 v 1 p 1 p 0
30 Hermite Curves v 0 p 0 v 1 p 1 Q(t) = at 3 + bt 2 + ct + d Q'(t) = 3at 2 + 2bt + c The curve value is Q(0)=p 1 at t=0 and Q(1)=p 1 at t=1 The deriva2ve of the curve is v 0 at t=0 and v 1 at t=1
31 Hermite Curves v 0 p 0 v 1 p 1 Q(t) = at 3 + bt 2 + ct + d Q'(t) = 3at 2 + 2bt + c Q 0 ( ) Q 1 ( ) Q' 0 ( ) Q' 1 ( ) = p 0 = p 1 = v 0 = v 1 = a b c 0 + d = a b c 1+ d = 3a b 0 + c = 3a b 1+ c = d = a + b + c + d = c = 3a + 2b + c
32 Hermite Curves v 1 p 1 p 0 v 0 c b a v c v d c b a p d p + + = = = = p 0 p 1 v 0 v 1 % = % a b c d %
33 Matrix Form of Hermite Curve a b c d % = % 1 p 0 p 1 v 0 v 1 % v 1 p 1 p 0 v 0 a b c d % = % p 0 p 1 v 0 v 1 %
34 Hermite Interpola8on v 0 Q = t 3 t 2 t 1 p 0 v 1 p 1 % Hermite Basis Matrix % p 0 p 1 v 0 v 1 % p 0 x p 0 y p 0z p 1x p 1y p 1z v 0 x v 0 y v 0z v 1x v 1y v 1z %
35 Hands- On Ac8vity 5 Extend your Vizard script to trace a curve over the piazza using Hermite keyframe interpola2on. Each keyframe needs 7 parameters: 2me, posi2on (x, y, z) and velocity (x, y, z). Example: keyframes = [[0,-2,0,5,0,10,0],[1,2,0,5,0,-10,0]] What shape is this curve? Define a func2on HermiteInterpolation(time)that implements Hermite interpola2on Q = t 3 t 2 t 1 Define a func2on drawcurve that uses Hermite interpola2on to set the posi2on of an object of your choice along the curve Schedule the execu2on of drawcurve using a 2mer Show the graphics output to your instructor when finished % % p 0 p 1 v 0 v 1 %
36 Hands- On Ac8vity 5 Output Example
37 Splines: Chaining Curve Segments Spline = piecewise polynomial curve Spline that is not C1- con2nuous Spline that is C1- con2nuous hkp://wiki.blender.org/
38 Problems with Splines? Must explicitly define deriva2ves at each point How can we solve this? Catmull- Rom Splines
39 Catmull- Rom spline Tangent at P i is half the vector connec2ng P i- 1 to P i+1 p i p' i = p i+1 p i 1 2
40 Demo hkps:// Compared with Hermite/Bezier: Fewer control points needed, but less freedom
41 Catmull Rom Spline Hermite curve Q = t 3 t 2 t 1 % % p 0 p 1 v 0 v 1 % For two control points p i and p i+1 Q = t 3 t 2 t 1 % % p i p i+1 p i+1 p i 1 2 p i+2 p i 2 %
42 Catmull- Rom Spline Q = t 3 t 2 t 1 % % p i p i+1 p i+1 p i 1 2 p i+2 p i 2 % Q = t 3 t 2 t 1 % % % p i 1 p i p i+1 p i+2 %
43 Catmull- Rom Spline End result Q = 1 2 t 3 t 2 t 1 % % p i 1 p i p i+1 p i+2 % Curve piece between control points p i and p i+1 First and last curve segments are special cases
44 Hands- On Ac8vity 6 Extend your Vizard script to trace a Catmull- Rom spline over the piazza
45 Contact pose - Both legs are at their extreme point. Opposite arm is forward. Recoil - Weight falls on the recoil pose. Front foot fully touches. Body at lowest posi2on, arms at extreme. Passing - Back leg passes the contact leg. Arms at sides. High point - Body at highest pose. Back leg is pushing body forward. Back toe peels off the ground. Contact DOWN to Recoil UP to high- point AND Contact - -..
46 OpenGL Assignment Animate the robot to walk: Set the key walking poses interac2vely Save the walking poses Interpolate between them OR animate your hierarchical object The one from Assignment 6 is a good choice Set a small number of key frames Interpolate between them Assignment details on the class website
47 Use the your own character or the one provided by your instructor. 1. Use the Auto Key technique. 2. Set your total anima2on 2me to 25 frames (8 sec) 3. Hint: The 2me between strides is 1 second for full cycle (30 frames), ½ second per leg (15 frames) 4. Note the body translates at a constant rate in space
48 Demos Addi2onal Online Material hkp://algorithmist.wordpress.com/online- demos/ OpenGL curves hkp://
49 Bezier Curves
50 Bezier Curves Specifying tangent vectors may some2mes be inconvenient Bezier curves indirectly specify tangent vectors at p 0 and p 3 by specifying two intermediate points, p 1 and p 2 p 1 p 0 Q(t) p 2 How to define Bezier Curves? p 3
51 Bezier Curve Formula8on There are lots of ways to formulate Bezier curves: De Castlejau (recursive linear interpola2ons) Bernstein polynomials Cubic equa2ons Matrix form In prac2ce, matrix form is the most useful in computer anima2on, but the others are important for understanding
52 Bezier Curves Find the curve Q(t) as a func2on of parameter t endpoints p 0 and p 3 tangents aligned with p 0 p 1 and p 3 p 2 v0=α(p1- p0) v1=α(p3- p2) p 1 p 0 Q(t) p 2 p 3
53 De Casteljau Algorithm Recursive series of linear interpola2ons Given p 0,p 1,p 2,p 3, find Q(t), 0 t 1 We use t=0.25 p 1 p 0 p 2 p 3
54 De Casteljau Algorithm Lirp t, a, b ( ) = 1 t ( )a + tb p 1 q 0 = Lirp( t, p 0, p ) 1 q 1 = Lirp( t, p 1, p ) 2 q 2 = Lirp( t, p 2, p ) 3 p 0 q 0 q 1 q 2 p 2 p 3
55 De Casteljau Algorithm p 1 r 0 = Lirp( t, q 0, q ) 1 p 0 q 0 r 0 q 1 r 1 r 1 = Lirp( t, q 1, q ) 2 p 2 q 2 p 3
56 De Casteljau Algorithm p 1 p 0 q 0 r 0 Q q 1 r 1 Q = Lirp( t, r 0, r ) 1 p 2 q 2 p 3
57 De Casteljau Algorithm Recursive Linear Interpola2on: p 1 p 0 Q p 2 Q = Lirp( t, r 0, r 1 ) ( ) ( ) r 0 = Lirp t, q 0, q 1 r 1 = Lirp t, q 1, q 2 ( ) ( ) ( ) q 0 = Lirp t, p 0, p 1 q 1 = Lirp t, p 1, p 2 q 2 = Lirp t, p 2, p 3 p p p p p 3
58 Demo hkp://en.wikipedia.org/wiki/b%c3%a9zier_curve
59 Expanding the Lirps q 0 = Lirp( t, p 0, p ) 1 = ( 1 t)p 0 + tp 1 q 1 = Lirp( t, p 1, p ) 2 = ( 1 t)p 1 + tp 2 q 2 = Lirp( t, p 2, p ) 3 = ( 1 t)p 2 + tp 3 r 0 = Lirp( t, q 0, q ) 1 = ( 1 t) 1 t r 1 = Lirp( t, q 1, q ) 2 = ( 1 t) 1 t Q = Lirp( t, r 0, r ) 1 = ( 1 t) ( 1 t) 1 t + t 1 t (( )p 0 + tp ) 1 + t ( 1 t)p 1 + tp 2 ( ) (( )p 1 + tp ) 2 + t ( 1 t)p 2 + tp 3 ( ) ( (( )p 0 + tp ) 1 + t (( 1 t)p 1 + tp )) 2 (( )(( 1 t)p 1 + tp ) 2 + t (( 1 t)p 2 + tp )) 3
60 Bernstein Form of a Bezier Curve Q = 1 t ( (( )p 0 + tp ) 1 + t (( 1 t)p 1 + tp )) 2 ( ) ( 1 t) 1 t (( )(( 1 t)p 1 + tp ) 2 + t (( 1 t)p 2 + tp )) 3 + t 1 t Q = 1 t ( ) 3 p t ( ) 2 tp t ( )t 2 p 2 + t 3 p 3 B 3 0 (t) = (1 t)3 B 3 1 (t) = 3t(1 t)2 B 3 2(t) = 3t 2 (1 t) Cubic B 3 3 (t) = t3 Q = B 0 3 ( t)p 0 + B 3 ( 1 t)p 1 + B 3 ( 2 t)p 2 + B 3 ( 3 t)p 3 Bernstein Polynomials Expansion of (1- t+t) 3
61 Bezier Cubic Equa8on Form Q = 1 t ( ) 3 p t ( ) 2 tp t ( )t 2 p 2 + t 3 p 3 Regroup the equa2on by terms of exponents of t, to get it in the standard cubic form: Q = ( t 3 + 3t 2 3t +1)p 0 + ( 3t 3 6t 2 + 3t)p 1 + ( 3t 3 + 3t 2 )p 2 + ( t 3 )p 3 Q = ( p 0 + 3p 1 3p 2 + p 3 )t 3 + ( 3p 0 6p 1 + 3p 2 )t 2 + ( 3p 0 + 3p 1 )t + ( p 0 )1
62 Bezier Cubic Equa8on Form Q = ( p 0 + 3p 1 3p 2 + p 3 )t 3 + ( 3p 0 6p 1 + 3p 2 )t 2 + ( 3p 0 + 3p 1 )t + ( p 0 )1 Q = at 3 + bt 2 + ct + d a = ( p 0 + 3p 1 3p 2 + p ) 3 b = ( 3p 0 6p 1 + 3p ) 2 c = ( 3p 0 + 3p ) 1 d = ( p ) 0 This form is very good for fast evalua2on, as all constant terms (a,b,c,d) can be precomputed.
63 Bezier Matrix Form From cubic form a = ( p 0 + 3p 1 3p 2 + p ) 3 Q = at 3 + bt 2 + ct + d b = ( 3p 0 6p 1 + 3p ) 2 c = ( 3p 0 + 3p ) 1 d = ( p ) 0 to matrix form Q = t 3 t 2 t 1 % a b c d % a b c d = % % p 0 p 1 p 2 p 3 %
64 Bezier Matrix Form Q = t 3 t 2 t 1 % % p 0 p 1 p 2 p 3 % Q = t 3 t 2 t 1 % % p 0 x p 0 y p 0z p 1x p 1y p 1z p 2 x p 2 y p 2z p 3x p 3y p 3z %
65 Hermite vs. Bezier Curves Hermite curves: Q = t 3 t 2 t 1 % % p 0 p 1 v 0 v 1 % Bezier curves: Q = t 3 t 2 t 1 % % p 0 p 1 p 2 p 3 %
66 Hermite vs. Bezier Curves It turns out that Bezier and Hermite curves can be related as follows: p 0 p 1 v 0 v 1 = % v 0 = 3(p 1 p 0 ) v 1 = 3(p 3 p 2 ) p 0 = p 0 p 1 = p (lei as an exercise for those who want to figure out why) % p 0 p 1 p 2 p 3 %
67 Bezier Splines Bezier Spline
Curves. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Taku Komura
Curves Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Taku Komura How to create a virtual world? To compose scenes We need to define objects
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Curves Introduction Polynomial curves Bézier curves Drawing Bézier curves Piecewise curves Modeling Creating 3D objects How to construct
More informationCMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier
CMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier Modeling Creating 3D objects How to construct complicated surfaces? Goal Specify objects with few control points Resulting object should be visually
More informationArsène Pérard-Gayot (Slides by Piotr Danilewski)
Computer Graphics - Splines - Arsène Pérard-Gayot (Slides by Piotr Danilewski) CURVES Curves Explicit y = f x f: R R γ = x, f x y = 1 x 2 Implicit F x, y = 0 F: R 2 R γ = x, y : F x, y = 0 x 2 + y 2 =
More informationCSE 167: Lecture 11: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture 11: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #5 due Nov. 9 th at 1:30pm
More informationCGT 511. Curves. Curves. Curves. What is a curve? 2) A continuous map of a 1D space to an nd space
Curves CGT 511 Curves Bedřich Beneš, Ph.D. Purdue University Department of Computer Graphics Technology What is a curve? Mathematical ldefinition i i is a bit complex 1) The continuous o image of an interval
More informationIntroduction to Computer Graphics. Modeling (1) April 13, 2017 Kenshi Takayama
Introduction to Computer Graphics Modeling (1) April 13, 2017 Kenshi Takayama Parametric curves X & Y coordinates defined by parameter t ( time) Example: Cycloid x t = t sin t y t = 1 cos t Tangent (aka.
More informationAnimation Curves and Splines 1
Animation Curves and Splines 1 Animation Homework Set up a simple avatar E.g. cube/sphere (or square/circle if 2D) Specify some key frames (positions/orientations) Associate a time with each key frame
More informationKeyframing. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University
Keyframing CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Keyframing in traditional animation Master animator draws key frames Apprentice fills in the in-between frames Keyframing
More informationReading. w Foley, Section 11.2 Optional
Parametric Curves w Foley, Section.2 Optional Reading w Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric Modeling, 987. w Farin. Curves and Surfaces for
More informationMAT300/500 Programming Project Spring 2019
MAT300/500 Programming Project Spring 2019 Please submit all project parts on the Moodle page for MAT300 or MAT500. Due dates are listed on the syllabus and the Moodle site. You should include all neccessary
More informationApproximation of Circular Arcs by Parametric Polynomials
Approximation of Circular Arcs by Parametric Polynomials Emil Žagar Lecture on Geometric Modelling at Charles University in Prague December 6th 2017 1 / 44 Outline Introduction Standard Reprezentations
More informationSample Exam 1 KEY NAME: 1. CS 557 Sample Exam 1 KEY. These are some sample problems taken from exams in previous years. roughly ten questions.
Sample Exam 1 KEY NAME: 1 CS 557 Sample Exam 1 KEY These are some sample problems taken from exams in previous years. roughly ten questions. Your exam will have 1. (0 points) Circle T or T T Any curve
More informationM2R IVR, October 12th Mathematical tools 1 - Session 2
Mathematical tools 1 Session 2 Franck HÉTROY M2R IVR, October 12th 2006 First session reminder Basic definitions Motivation: interpolate or approximate an ordered list of 2D points P i n Definition: spline
More informationBernstein polynomials of degree N are defined by
SEC. 5.5 BÉZIER CURVES 309 5.5 Bézier Curves Pierre Bézier at Renault and Paul de Casteljau at Citroën independently developed the Bézier curve for CAD/CAM operations, in the 1970s. These parametrically
More information13 Path Planning Cubic Path P 2 P 1. θ 2
13 Path Planning Path planning includes three tasks: 1 Defining a geometric curve for the end-effector between two points. 2 Defining a rotational motion between two orientations. 3 Defining a time function
More informationThe Essentials of CAGD
The Essentials of CAGD Chapter 4: Bézier Curves: Cubic and Beyond Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000
More informationBézier Curves and Splines
CS-C3100 Computer Graphics Bézier Curves and Splines Majority of slides from Frédo Durand vectorportal.com CS-C3100 Fall 2017 Lehtinen Before We Begin Anything on your mind concerning Assignment 1? CS-C3100
More informationInterpolation and polynomial approximation Interpolation
Outline Interpolation and polynomial approximation Interpolation Lagrange Cubic Approximation Bézier curves B- 1 Some vocabulary (again ;) Control point : Geometric point that serves as support to the
More informationCubic Splines; Bézier Curves
Cubic Splines; Bézier Curves 1 Cubic Splines piecewise approximation with cubic polynomials conditions on the coefficients of the splines 2 Bézier Curves computer-aided design and manufacturing MCS 471
More informationPhysics 1A, Lecture 3: One Dimensional Kinema:cs Summer Session 1, 2011
Your textbook should be closed, though you may use any handwrieen notes that you have taken. You will use your clicker to answer these ques:ons. If you do not yet have a clicker, please turn in your answers
More informationCurves, Surfaces and Segments, Patches
Curves, Surfaces and Segments, atches The University of Texas at Austin Conics: Curves and Quadrics: Surfaces Implicit form arametric form Rational Bézier Forms and Join Continuity Recursive Subdivision
More informationInterpolation and polynomial approximation Interpolation
Outline Interpolation and polynomial approximation Interpolation Lagrange Cubic Splines Approximation B-Splines 1 Outline Approximation B-Splines We still focus on curves for the moment. 2 3 Pierre Bézier
More informationVectors Coordinate frames 2D implicit curves 2D parametric curves. Graphics 2008/2009, period 1. Lecture 2: vectors, curves, and surfaces
Graphics 2008/2009, period 1 Lecture 2 Vectors, curves, and surfaces Computer graphics example: Pixar (source: http://www.pixar.com) Computer graphics example: Pixar (source: http://www.pixar.com) Computer
More informationLecture 20: Bezier Curves & Splines
Lecture 20: Bezier Curves & Splines December 6, 2016 12/6/16 CSU CS410 Bruce Draper & J. Ross Beveridge 1 Review: The Pen Metaphore Think of putting a pen to paper Pen position described by time t Seeing
More informationLecture 23: Hermite and Bezier Curves
Lecture 23: Hermite and Bezier Curves November 16, 2017 11/16/17 CSU CS410 Fall 2017, Ross Beveridge & Bruce Draper 1 Representing Curved Objects So far we ve seen Polygonal objects (triangles) and Spheres
More informationIntro Vectors 2D implicit curves 2D parametric curves. Graphics 2012/2013, 4th quarter. Lecture 2: vectors, curves, and surfaces
Lecture 2, curves, and surfaces Organizational remarks Tutorials: TA sessions for tutorial 1 start today Tutorial 2 will go online after lecture 3 Practicals: Make sure to find a team partner very soon
More informationMAT 300 Midterm Exam Summer 2017
MAT Midterm Exam Summer 7 Note: For True-False questions, a statement is only True if it must always be True under the given assumptions, otherwise it is False.. The control points of a Bezier curve γ(t)
More informationIntro Vectors 2D implicit curves 2D parametric curves. Graphics 2011/2012, 4th quarter. Lecture 2: vectors, curves, and surfaces
Lecture 2, curves, and surfaces Organizational remarks Tutorials: Tutorial 1 will be online later today TA sessions for questions start next week Practicals: Exams: Make sure to find a team partner very
More informationG-code and PH curves in CNC Manufacturing
G-code and PH curves in CNC Manufacturing Zbyněk Šír Institute of Applied Geometry, JKU Linz The research was supported through grant P17387-N12 of the Austrian Science Fund (FWF). Talk overview Motivation
More informationLecture 20: Lagrange Interpolation and Neville s Algorithm. for I will pass through thee, saith the LORD. Amos 5:17
Lecture 20: Lagrange Interpolation and Neville s Algorithm for I will pass through thee, saith the LORD. Amos 5:17 1. Introduction Perhaps the easiest way to describe a shape is to select some points on
More informationRobotics I. June 6, 2017
Robotics I June 6, 217 Exercise 1 Consider the planar PRPR manipulator in Fig. 1. The joint variables defined therein are those used by the manufacturer and do not correspond necessarily to a Denavit-Hartenberg
More informationParametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 3, 2017
Parametric Curves (Com S 477/577 Notes) Yan-Bin Jia Oct 3, 2017 1 Introduction A curve in R 2 (or R 3 ) is a differentiable function α : [a,b] R 2 (or R 3 ). The initial point is α[a] and the final point
More informationExponen'al func'ons and exponen'al growth. UBC Math 102
Exponen'al func'ons and exponen'al growth Course Calendar: OSH 4 due by 12:30pm in MX 1111 You are here Coming up (next week) Group version of Quiz 3 distributed by email Group version of Quiz 3 due in
More informationCONTROL POLYGONS FOR CUBIC CURVES
On-Line Geometric Modeling Notes CONTROL POLYGONS FOR CUBIC CURVES Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview B-Spline
More informationHomework 5: Sampling and Geometry
Homework 5: Sampling and Geometry Introduction to Computer Graphics and Imaging (Summer 2012), Stanford University Due Monday, August 6, 11:59pm You ll notice that this problem set is a few more pages
More informationIntroduction to Curves. Modelling. 3D Models. Points. Lines. Polygons Defined by a sequence of lines Defined by a list of ordered points
Introduction to Curves Modelling Points Defined by 2D or 3D coordinates Lines Defined by a set of 2 points Polygons Defined by a sequence of lines Defined by a list of ordered points 3D Models Triangular
More informationElementary maths for GMT
Elementary maths for GMT Linear Algebra Part 1: Vectors, Representations Algebra and Linear Algebra Algebra: numbers and operations on numbers 2 + 3 = 5 3 7 = 21 Linear Algebra: tuples, triples... of numbers
More informationHermite Interpolation with Euclidean Pythagorean Hodograph Curves
Hermite Interpolation with Euclidean Pythagorean Hodograph Curves Zbyněk Šír Faculty of Mathematics and Physics, Charles University in Prague Sokolovská 83, 86 75 Praha 8 zbynek.sir@mff.cuni.cz Abstract.
More informationNumerical Methods in Physics
Numerical Methods in Physics Numerische Methoden in der Physik, 515.421. Instructor: Ass. Prof. Dr. Lilia Boeri Room: PH 03 090 Tel: +43-316- 873 8191 Email Address: l.boeri@tugraz.at Room: TDK Seminarraum
More informationMA 323 Geometric Modelling Course Notes: Day 07 Parabolic Arcs
MA 323 Geometric Modelling Course Notes: Day 07 Parabolic Arcs David L. Finn December 9th, 2004 We now start considering the basic curve elements to be used throughout this course; polynomial curves and
More informationThe singular properties of the Hermit curve on Unit Circle
The singular properties of the Hermit curve on Unit Circle Ching-Shoei Chiang 1, Ching-Tsorng Tsai 1 Computer Science and Information Management, Soochow University, Taipei, Taiwan Computer Science, Tunghai
More informationPseudospectral Methods For Op2mal Control. Jus2n Ruths March 27, 2009
Pseudospectral Methods For Op2mal Control Jus2n Ruths March 27, 2009 Introduc2on Pseudospectral methods arose to find solu2ons to Par2al Differen2al Equa2ons Recently adapted for Op2mal Control Key Ideas
More informationLecture for Week 6 (Secs ) Derivative Miscellany I
Lecture for Week 6 (Secs. 3.6 9) Derivative Miscellany I 1 Implicit differentiation We want to answer questions like this: 1. What is the derivative of tan 1 x? 2. What is dy dx if x 3 + y 3 + xy 2 + x
More informationPythagorean-hodograph curves
1 / 24 Pythagorean-hodograph curves V. Vitrih Raziskovalni matematični seminar 20. 2. 2012 2 / 24 1 2 3 4 5 3 / 24 Let r : [a, b] R 2 be a planar polynomial parametric curve ( ) x(t) r(t) =, y(t) where
More informationSmooth Path Generation Based on Bézier Curves for Autonomous Vehicles
Smooth Path Generation Based on Bézier Curves for Autonomous Vehicles Ji-wung Choi, Renwick E. Curry, Gabriel Hugh Elkaim Abstract In this paper we present two path planning algorithms based on Bézier
More informationLecture 8: Kinematics: Path and Trajectory Planning
Lecture 8: Kinematics: Path and Trajectory Planning Concept of Configuration Space c Anton Shiriaev. 5EL158: Lecture 8 p. 1/20 Lecture 8: Kinematics: Path and Trajectory Planning Concept of Configuration
More informationReading. Realistic Character Animation. Modeling Realistic Motion. Two Approaches
Realistic Character Animation Reading Jessica Hodgins,,et.al,Animating Human Athletics,, SIGGRAPH 95 Zoran Popović, Changing Physics for Character Animation,, SIGGRAPH 00 2 Modeling Realistic Motion Model
More informationLagrange Interpolation and Neville s Algorithm. Ron Goldman Department of Computer Science Rice University
Lagrange Interpolation and Neville s Algorithm Ron Goldman Department of Computer Science Rice University Tension between Mathematics and Engineering 1. How do Mathematicians actually represent curves
More informationRevolving: Polar Coordinates
Revolving: Polar Coordinates Polar Coordinates This tutorial will teach you how to program your satellite to revolve using polar coordinates. Using polar coordinates to revolve allows your satellite to
More informationGradient Descent for High Dimensional Systems
Gradient Descent for High Dimensional Systems Lab versus Lab 2 D Geometry Op>miza>on Poten>al Energy Methods: Implemented Equa3ons for op3mizer 3 2 4 Bond length High Dimensional Op>miza>on Applica3ons:
More informationMA 323 Geometric Modelling Course Notes: Day 11 Barycentric Coordinates and de Casteljau s algorithm
MA 323 Geometric Modelling Course Notes: Day 11 Barycentric Coordinates and de Casteljau s algorithm David L. Finn December 16th, 2004 Today, we introduce barycentric coordinates as an alternate to using
More informationCurve Fitting: Fertilizer, Fonts, and Ferraris
Curve Fitting: Fertilizer, Fonts, and Ferraris Is that polynomial a model or just a pretty curve? 22 nd CMC3-South Annual Conference March 3, 2007 Anaheim, CA Katherine Yoshiwara Bruce Yoshiwara Los Angeles
More informationMA 323 Geometric Modelling Course Notes: Day 12 de Casteljau s Algorithm and Subdivision
MA 323 Geometric Modelling Course Notes: Day 12 de Casteljau s Algorithm and Subdivision David L. Finn Yesterday, we introduced barycentric coordinates and de Casteljau s algorithm. Today, we want to go
More information1.1. The analytical denition. Denition. The Bernstein polynomials of degree n are dened analytically:
DEGREE REDUCTION OF BÉZIER CURVES DAVE MORGAN Abstract. This paper opens with a description of Bézier curves. Then, techniques for the degree reduction of Bézier curves, along with a discussion of error
More informationCSE 473: Ar+ficial Intelligence. Probability Recap. Markov Models - II. Condi+onal probability. Product rule. Chain rule.
CSE 473: Ar+ficial Intelligence Markov Models - II Daniel S. Weld - - - University of Washington [Most slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188
More informationMath 32A Discussion Session Week 5 Notes November 7 and 9, 2017
Math 32A Discussion Session Week 5 Notes November 7 and 9, 2017 This week we want to talk about curvature and osculating circles. You might notice that these notes contain a lot of the same theory or proofs
More informationExercises for Multivariable Differential Calculus XM521
This document lists all the exercises for XM521. The Type I (True/False) exercises will be given, and should be answered, online immediately following each lecture. The Type III exercises are to be done
More informationOn-Line Geometric Modeling Notes
On-Line Geometric Modeling Notes CUBIC BÉZIER CURVES Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview The Bézier curve representation
More informationCurvature variation minimizing cubic Hermite interpolants
Curvature variation minimizing cubic Hermite interpolants Gašper Jaklič a,b, Emil Žagar,a a FMF and IMFM, University of Ljubljana, Jadranska 19, Ljubljana, Slovenia b PINT, University of Primorska, Muzejski
More informationGeometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves
Geometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves Gašper Jaklič a,c, Jernej Kozak a,b, Marjeta Krajnc b, Vito Vitrih c, Emil Žagar a,b, a FMF, University of Ljubljana, Jadranska
More informationScientific Computing: An Introductory Survey
Scientific Computing: An Introductory Survey Chapter 7 Interpolation Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright c 2002. Reproduction permitted
More information3.3 Increasing & Decreasing Functions and The First Derivative Test
3.3 Increasing & Decreasing Functions and The First Derivative Test Definitions of Increasing and Decreasing Functions: A funcon f is increasing on an interval if for any two numbers x 1 and x 2 in the
More informationFrom differen+al equa+ons to trigonometric func+ons. Introducing sine and cosine
From differen+al equa+ons to trigonometric func+ons Introducing sine and cosine Calendar OSH due this Friday by 12:30 in MX 1111 Last quiz next Wedn Office hrs: Today: 11:30-12:30 OSH due by 12:30 Math
More informationThere are a number of related results that also go under the name of "chain rules." For example, if y=f(u) u=g(v), and v=h(x), dy = dx
CHAIN RULE DIFFERENTIATION If y is a function of u ie y f(u) and u is a function of x ie u g(x) then y is related to x through the intermediate function u ie y f(g(x) ) y is differentiable with respect
More informationDynamics and Time Integration. Computer Graphics CMU /15-662, Fall 2016
Dynamics and Time Integration Computer Graphics CMU 15-462/15-662, Fall 2016 Last Quiz: IK (and demo) Last few classes Keyframing and motion capture - Q: what can one NOT do with these techniques? The
More informationCSE 473: Ar+ficial Intelligence
CSE 473: Ar+ficial Intelligence Hidden Markov Models Luke Ze@lemoyer - University of Washington [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188
More informationDefinition of differential equations and their classification. Methods of solution of first-order differential equations
Introduction to differential equations: overview Definition of differential equations and their classification Solutions of differential equations Initial value problems Existence and uniqueness Mathematical
More informationOutline. 1 Interpolation. 2 Polynomial Interpolation. 3 Piecewise Polynomial Interpolation
Outline Interpolation 1 Interpolation 2 3 Michael T. Heath Scientific Computing 2 / 56 Interpolation Motivation Choosing Interpolant Existence and Uniqueness Basic interpolation problem: for given data
More informationInterpolation and Deformations A short cookbook
Interpolation and Deformations A short cookbook 600.445 Fall 2000; Updated: 29 September 205 Linear Interpolation p ρ 2 2 = [ 40 30 20] = 20 T p ρ = [ 0 5 20] = 5 p 3 = ρ3 =? 0?? T [ 20 20 20] T 2 600.445
More information1 Trajectory Generation
CS 685 notes, J. Košecká 1 Trajectory Generation The material for these notes has been adopted from: John J. Craig: Robotics: Mechanics and Control. This example assumes that we have a starting position
More informationLecture 8: Coordinate Frames. CITS3003 Graphics & Animation
Lecture 8: Coordinate Frames CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn how to define and change coordinate frames Introduce
More informationSelf-Influencing Interpolation in Groundwater Flow
Self-Influencing Interpolation in Groundwater Flow Carolyn Atwood Whitman College Walla Walla, WA Robert Hildebrand University of Puget Sound Tacoma, WA Andrew Homan Ohio Northern University Ada, OH July
More informationMath 3c Solutions: Exam 2 Fall 2017
Math 3c Solutions: Exam Fall 07. 0 points) The graph of a smooth vector-valued function is shown below except that your irresponsible teacher forgot to include the orientation!) Several points are indicated
More informationSta$s$cal sequence recogni$on
Sta$s$cal sequence recogni$on Determinis$c sequence recogni$on Last $me, temporal integra$on of local distances via DP Integrates local matches over $me Normalizes $me varia$ons For cts speech, segments
More informationImage Processing 1 (IP1) Bildverarbeitung 1
MIN-Fakultät Fachbereich Informatik Arbeitsbereich SAV/BV (KOGS Image Processing 1 (IP1 Bildverarbeitung 1 Lecture 5 Perspec
More informationPHYS1121 and MECHANICS
PHYS1121 and 1131 - MECHANICS Lecturer weeks 1-6: John Webb, Dept of Astrophysics, School of Physics Multimedia tutorials www.physclips.unsw.edu.au Where can I find the lecture slides? There will be a
More informationUnit 3: Ra.onal and Radical Expressions. 3.1 Product Rule M1 5.8, M , M , 6.5,8. Objec.ve. Vocabulary o Base. o Scien.fic Nota.
Unit 3: Ra.onal and Radical Expressions M1 5.8, M2 10.1-4, M3 5.4-5, 6.5,8 Objec.ve 3.1 Product Rule I will be able to mul.ply powers when they have the same base, including simplifying algebraic expressions
More information1 Roots of polynomials
CS348a: Computer Graphics Handout #18 Geometric Modeling Original Handout #13 Stanford University Tuesday, 9 November 1993 Original Lecture #5: 14th October 1993 Topics: Polynomials Scribe: Mark P Kust
More information2. Interpolation. Closing the Gaps of Discretization...
2. Interpolation Closing the Gaps of Discretization... Numerisches Programmieren, Hans-Joachim Bungartz page 1 of 48 2.1. Preliminary Remark The Approximation Problem Problem: Approximate a (fully or partially
More informationInterpolation of Rigid Motions in 3D
Interpolation of Rigid Motions in 3D David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License.
More informationTHE UNIVERSITY OF BRITISH COLUMBIA Midterm Examination 14 March 2001
THE UNIVERSITY OF BRITISH COLUMBIA Midterm Examination 14 March 001 Student s Name: Computer Science 414 Section 01 Introduction to Computer Graphics Time: 50 minutes (Please print in BLOCK letters, SURNAME
More informationBROWN UNIVERSITY MATH 0350 MIDTERM 19 OCTOBER 2017 INSTRUCTOR: SAMUEL S. WATSON
BROWN UNIVERSITY MATH 0350 MIDTERM 19 OCTOBER 2017 INSTRUCTOR: SAMUEL S. WATSON Name: Problem 1 In this problem, we will use vectors to show that an angle formed by connecting a point on a circle to two
More informationA Relationship Between Minimum Bending Energy and Degree Elevation for Bézier Curves
A Relationship Between Minimum Bending Energy and Degree Elevation for Bézier Curves David Eberly, Geometric Tools, Redmond WA 9852 https://www.geometrictools.com/ This work is licensed under the Creative
More informationCS Homework 3. October 15, 2009
CS 294 - Homework 3 October 15, 2009 If you have questions, contact Alexandre Bouchard (bouchard@cs.berkeley.edu) for part 1 and Alex Simma (asimma@eecs.berkeley.edu) for part 2. Also check the class website
More informationLet's look at some higher order equations (cubic and quartic) that can also be solved by factoring.
GSE Advanced Algebra Polynomial Functions Polynomial Functions Zeros of Polynomial Function Let's look at some higher order equations (cubic and quartic) that can also be solved by factoring. In the video,
More informationCalculus: Graphical, Numerical, Algebraic 2012
A Correlation of Graphical, Numerical, Algebraic 2012 To the Advanced Placement (AP) Calculus AB/BC Standards Introduction The following correlation demonstrates the alignment of content between Graphical,
More informationEmpirical Models Interpolation Polynomial Models
Mathematical Modeling Lia Vas Empirical Models Interpolation Polynomial Models Lagrange Polynomial. Recall that two points (x 1, y 1 ) and (x 2, y 2 ) determine a unique line y = ax + b passing them (obtained
More informationC 2 Continuous Gait-Pattern Generation for Biped Robots
C Continuous Gait-Pattern Generation for Biped Robots Shunsuke Kudoh 1 Taku Komura 1 The University of Tokyo, JAPAN, kudoh@cvl.iis.u-tokyo.ac.jp City University of ong Kong, ong Kong, taku@ieee.org Abstract
More informationCOMPLETE FEATURE COMPARISON LIST
COMPLETE FEATURE COMPARISON LIST General Moho Debut Moho Pro Advanced Bone Rigging Ultimate Bone Rigging Smart Bones Read Only Frame-By-Frame Animation Read Only Bezier Handles optimized for animation
More informationMEAM 520. More Velocity Kinematics
MEAM 520 More Velocity Kinematics Katherine J. Kuchenbecker, Ph.D. General Robotics, Automation, Sensing, and Perception Lab (GRASP) MEAM Department, SEAS, University of Pennsylvania Lecture 12: October
More informationFrom average to instantaneous rates of change. (and a diversion on con4nuity and limits)
From average to instantaneous rates of change (and a diversion on con4nuity and limits) Extra prac4ce problems? Problems in the Book Problems at the end of my slides Math Exam Resource (MER): hcp://wiki.ubc.ca/science:math_exam_resources
More informationMA 323 Geometric Modelling Course Notes: Day 20 Curvature and G 2 Bezier splines
MA 323 Geometric Modelling Course Notes: Day 20 Curvature and G 2 Bezier splines David L. Finn Yesterday, we introduced the notion of curvature and how it plays a role formally in the description of curves,
More informationMATH 350: Introduction to Computational Mathematics
MATH 350: Introduction to Computational Mathematics Chapter IV: Locating Roots of Equations Greg Fasshauer Department of Applied Mathematics Illinois Institute of Technology Spring 2011 fasshauer@iit.edu
More informationCalculus Graphical, Numerical, Algebraic 2012
A Correlation of Graphical, Numerical, Algebraic 2012 To the Advanced Placement (AP)* AB/BC Standards Grades 9 12 *Advanced Placement, Advanced Placement Program, AP, and Pre-AP are registered trademarks
More informationCG Basics 1 of 10. Mathematical Foundations: Vectors, Matrices, & Parametric Equations
CG Basics 1 of 10 ematical Foundations: Vectors, Matrices, & Parametric Equations William H. Hsu Department of Computing and Information Sciences, KSU KSOL course page: http://bit.ly/hgvxlh Course web
More informationStudy Resources For Algebra I. Unit 2A Graphs of Quadratic Functions
Study Resources For Algebra I Unit 2A Graphs of Quadratic Functions This unit examines the graphical behavior of quadratic functions. Information compiled and written by Ellen Mangels, Cockeysville Middle
More informationLecture V: The game-engine loop & Time Integration
Lecture V: The game-engine loop & Time Integration The Basic Game-Engine Loop Previous state: " #, %(#) ( #, )(#) Forces -(#) Integrate velocities and positions Resolve Interpenetrations Per-body change
More informationHome Page. Title Page. Contents. Bezier Curves. Milind Sohoni sohoni. Page 1 of 27. Go Back. Full Screen. Close.
Bezier Curves Page 1 of 27 Milind Sohoni http://www.cse.iitb.ac.in/ sohoni Recall Lets recall a few things: 1. f : [0, 1] R is a function. 2. f 0,..., f i,..., f n are observations of f with f i = f( i
More information