Interpolating/approximating pp gcurves

Size: px
Start display at page:

Download "Interpolating/approximating pp gcurves"

Transcription

1 Chap 3 Interpolating Values 1

2 Outline Interpolating/approximating pp gcurves Controlling the motion of a point along a curve Interpolation of orientation Working with paths

3 Interpolation between key frames Parameters to be interpolated Position of an object Normal Joint angle between two joints Transparency attribute of an object 3

4 Interpolation between key frames Interpolation between frames is not trivial Appropriate interpolating function Parameterization ti of fthe function Maintain the desired control of the interpolated values over time Example (-5,0,0) at frame, (5,0,0) art frame 67 Stop at frame and accelerate to reach a max speed by frame 34 Start to decelerate at frame 50 and come to a stop at frame 67 4

5 Interpolation between key frames desired result undesired result Need a smooth interpolation with user control 5

6 Interpolation between key frames Solution Generate a space curve Distribute points evenly along curve Speed control: vary points temporally B A Time = 10 Time = 0 C Time = 35 6 D Time = 60

7 Interpolation functions Interpolation vs. approximation Interpolation Hermite, Catmull-Rom approximation Bezier, B-spline 7

8 Interpolation functions Complexity => computational efficiency Polynomials Lower than cubic No inflection point, may not fit smoothly to some data points Higher than cubic Doesn t provide any significant advantages, costly to evaluate Piecewise cubic Provides sufficient smoothness Allows enough flexibility to satisfy constraints such as end- point position and tangents 8

9 Interpolation functions Continuity within a curve Zero-order First order (tangential) Suffices for most animation applications Second order Important when dealing with time-distance curve Continuity between curve segments Hermite, Ct Catmull-Rom, llr cubic Bezier provide first order continuity between segments 9

10 Interpolation functions 10

11 Continuity position tangent curvature none (0th order) (1st order) (nd order) At junction of two circular arcs 11

12 Interpolation functions Global vs. local control 1

13 Types of Curve Representation Explicit y = f(x) Good for generate points For each input, there is a unique output Implicit f(x,y) = 0 Good for testing ti if a point is on a curve Bad for generating a sequence of points Parametric x = f(u), y = g(u) Good for generating a sequence of points Can be used for multi-valued function of x 13

14 Example: Representing Unit Circle Cannot be represented explicitly as a function of x f>0 f=0 Implicit form: f<0 f(x,y)=x +y =1 Parametric form: x=cos(u), y=sin(u), 0<u<π u 14

15 More on 3-D Parametric Curves Parametric form: P(u) = (P x (u), P y (u), P z (u)) x = P x x( (u), y = P y y( (u), z = P z z( (u) u=0.00 u=/3 u=1/3 u=1.0 Space-curve P = P(u) 0.0 <=u<=1.0 15

16 Polynomial Interpolation An n-th degree polynomial fits a curve to n+1 points Example: fit a second degree curve to three points y(x)= a x + b x + c points to be interpolated (x 1,y 1 ), (x,y ), (x 3,y 3 ) solve for coefficients (a, b, c): 3 linear equations, 3 unknowns called Lagrange Interpolation 16

17 Polynomial Interpolation (cont.) Result is a curve that is too wiggly, change to any control point affects entire curve (nonlocal) this method is poor We usually want the curve to be as smooth as possible minimize the wiggles high-degree g polynomials are bad Higher degree, higher the wiggles 17

18 Composite Segments Divide a curve into multiple segments Represent each in a parametric form Maintain continuity between segments position Tangent (C1-continuity vs. G1-continuity) curvature P 1 (u) P (u) P 3 (u) P n (u) 18

19 Splines: Piecewise Polynomials A spline is a piecewise polynomial - many low degree polynomials are used to interpolate (pass through) the control points Cubic polynomials are the most common lowest order polynomials that interpolate two points and allow the gradient at each point to be defined - C1 continuity is possible Higher or lower degrees are possible, of course 19

20 A Linear Piecewise Polynomial The simple form for interpolating two points. p1 Each segment is of the form: (this is a vector equation) p p ( u) = up1 + (1 u) p 1 u Two basis (blending) functions 0 1 u 0

21 Hermite Interpolation Hermite Curves cubic polynomial for two points 3 P ( u) = au + bu + cu + P ( u ) = ( Px ( u ), Py ( u ), Pz ( u )) Hermite interpolation requires Endpoint positions derivatives at endpoints P(0) d control points/knots P(1) P '(0) P' (1) To create a composite curve, use the end of one as the beginning gof the other and share the tangent vector 1

22 Hermite Curve Formation Cubic polynomial and its derivative 3 P ( u) = a u + b u + c u + x x x ' P ( u ) = 3a u + b u + c x x x x x d x Given P x (0), P x (1), P x (0), P x (1), solve for a, b, c, d 4 equations are given for 4 unknowns P (0) = P + P = P + x d x x (1) = ax + bx + cx d x ' x(0) c x ' x(1) = 3a x + bx cx

23 Hermite Curve Formation (cont.) Problem: solve for a, b, c, d Solution: P (0) = P + P = P + a b c x d x x (1) = ax + bx + cx d x ' x(0) c x ' x(1) = 3a x + bx cx x x x = = = ( P 3( P P ' x x x (0) d x = P x (0) (0) (1) 3 P P x x (1)) (0)) + P ' x P (0) ' x + (0) P ' x P (1) ' x (1)

24 Hermite Curves in Matrix Form 3 P ( u ) = au + bu + cu + d P( u) = U T = [ u M is B is U 3, T u MB, u,1] is the coefficient matrix the parameter the geometric information P x (0) P x(1) B = ' P x(0) 1 ' Px (1) M = ith segment in composite curves Pi P i+ B = ' Pi ' 1 P i + 1

25 Blending Functions of Hermite Splines Blending Functions of Hermite Splines Each cubic Hermite spline is a linear combination of p 4 blending functions geometric information M B U P T ) ( M B U u P T ) ( = ) ( p p u u u u + = ' ' ) ( p p u u u u p 5 3 p u u

26 Composite Hermite Curve Continuity between connected segments is ensured by using ending tangent vector of one segment as the beginning i tangent tvector of fthe next. 6

27 Bezier Curves Similar to Hermite Curve Instead of endpoints and tangents, four control points are given points P1 and P4 are on the curve points P and P3 are used to control the shape p 1 = P1, p = P4, p 1 ' = 3(P-P1), p ' = 3(P4 - P3) p( u) = [ 1] 3 u u u P P P P4 7

28 Bezier Curves Another representation Blend the control point position using Bernstein polynomials p( u) = n k = 0 B n where k, B k B k ( u), n( u) P k, n( u) = C( n, k) u (1 u) C( n, k) = n! k!( n k are Bernstein polynomials k)! n k 8

29 Bezier Curves 9

30 Composite Bezier Curves How to control the continuity between adjacent Bezier segment? 30

31 De Casteljau Construction of Bezier Curves How to derive a point on a Bezier curve? 31

32 Bezier Curves (cont.) Variant of the Hermite spline basis matrix derived from the Hermite basis (or from scratch) Gives more uniform control knobs (series of points) than Hermite Scale factor (3) is chosen to make velocity approximately constant 3

33 Catmull-Rom Splines With Hermite splines, the designer must arrange for consecutive tangents to be collinear, to get C 1 continuity. Similar for Bezier. This gets tedious. Ct Catmull-Rom: llr an interpolating ti cubic spline with built-in C 1 continuity. Compared to Hermite/Bezier: fewer control points required, but less freedom. 33

34 Catmull-Rom Splines (cont.) Given n control points in 3-D: p 1, p,, p n, Tangent at p i given by s(p i+1 p i-1 ) for i=..n-1, for some s. Curve between p i and p i+1 is determined by p i-1, p i, p i+1,p i+. 34

35 Catmull-Rom Splines (cont.) Given n control points in 3-D: p 1, p,, p n, Tangent at p i given by s(p i+1 p i-1 ) for i=..n-1, for some s Curve between p i and p i+1 is determined by p i-1, p i, p i+1, p i+ What about endpoint tangents? (several good answers: extrapolate, t or use extra control points p 0, p n+1 ) Now we have positions and tangents at each knot a Hermite specification. 35

36 Catmull-Rom Spline Matrix Derived similarly to Hermite and Bezier s is the tension parameter; typically s=1/ When s p ( u ) = U = 1/, T P i 11 1 i 1 Pi 0 Pi + 0 P i

37 Catmull-Rom Spline What about endpoint tangents? Provided by users Several good answers: extrapolate, or use extra control points p 0, p n+1 P 1 = (( P1 ( P 1 = (P P ' 0 P1 )) P0 1 P0 ) ) 37

38 Catmull-Rom Spline Example 38

39 Drawback Catmull-Rom Spline An internal tangent is not dependent on the position of the internal point relative to its two neighbors 39

40 p(0) = P p (0) = s(p3 P1) p(0) = P, p (0) = s(p3-p1), p(1) = P3, p (1) = s(p4-p) ) ( P P U T = ) ( P P s s s s U u p T 4 1 P P s s s s = P P P s s s s s s U T P

41 Splines and Other Interpolation Forms See Computer Graphics textbooks Review Appendix B.4 in Parent 41

42 Now What? We have key frames or points We have a way to specify the space curve Now we need to specify velocity to traverse the curve Speed Curves 4

43 Speed Control The speed of tracing a curve needs to be under the direct control of the animator Varying u at a constant t rate will not necessarily generate P(u) at a constant speed. 43

44 Non-uniformity in Parametrization Generally, equally spaced samples in parameter space are not equally spaced along the curve u u s( u ) s ( ) 1 ( u1 B s ( u ) = Px ( u ) + Py ( u ) + Pz ( u ) du A Time = 10 Time = 0 C Time = 35 D 44 Time = 60

45 Arc Length Reparameterization To ensure a constant speed for the interpolated value, the curve has to be parameterized a e ed by arc length (for most applications) Computing arc length Analytic method (many curves do not have, e.g., B- splines) Numeric methods Table and differencing Gaussian quadrature 45

46 Arc Length Reparameterization Space curve vs. time-distance function Relates time to the distance traveled along the curve, i.e., Relates time to the arc length along the curve 46

47 Arc Length Reparameterization Given a space curve with arc length parameterization Allow movement along the curve at a constant speed by stepping at equal arc length intervals Allows acceleration and deceleration along the curve by controlling the distance traveled in a given time interval Problems Given a parametric curve and two parameter values u 1 and u, find arclength(u 1,u ) Given an arc length s, and parameter value u 1, find u such that arclength(u 1,u ) = s 47

48 Arc Length Reparameterization Converting a space curve P(u) to a curve with arc-length ac parameterization a e a Find s=s(u), and u=s -1 (s)=u(s) P*(s)=P(U(s)) P(U( )) Analytic arc-length parameterization is difficult or impossible for most curves, e.g., B- spline curve cannot be parameterized with arc length. Approximate arc-length parameterization ti 48

49 Forward Differencing Sample the curve at small intervals of the parameter Compute the distance between samples Build a table of arc length for the curve u Arc Length

50 Arc Length Reparameterization Using Forward Differencing Given a parameter u, find the arc length Find the entry in the table closest to this u Or take the u before and after it and interpolate arc length linearly u Arc Length

51 Arc Length Reparameterization Using Forward Differencing Given an arc length s and a parameter u 1, find the parametric value u such that arclength(u 1, u )=s Find the entry in the table u Arc Length closest to this u using binary search Or take the u before and after it and interpolate t linearly l

52 Arc Length Reparameterization Using Forward Differencing Easy to implement, intuitive, and fast Introduce errors Super-sampling in forming table 1000 equally spaced parameter values ebtries in each interval Better interpolation Adaptive forward differencing 5

53 Arc Length Reparameterization Using Adaptive forward differencing 53

54 Arc Length Reparameterization Using Arc length integral Numerical Integral s( u) = Px ( u) + Py ( u) + Pz ( u) du Simpson s and trapezoidal integration using evenly spaced intervals Gaussian quadrature using unevenly spaced intervals 54

55 Speed Control Given a arc-length parameterized space curve, how to control o the speed at which the curve is traced? By a speed-control functions that relate an equally spaced time interval to arc length Input time t, output t arc length: s=s(t) Linear function: constant speed control Most common: ease-in/ease-out Smooth motion from stopped position, accelerate, reach a max velocity, and then decelerate to a stop position 55

56 Speed Control Function Relates an equally spaced time interval to arc length Input time t, output arc length: s=s(t) Normalized arc length parameter s=ease(t) Start at 0, slowly increase in value and gain speed until the middle value and then decelerate as it approaches to 1. 56

57 Constant Velocity Speed Curve Moving at 1 m/s if meters and seconds are the units Too simple to be what we want 57

58 Distance Time Function and Speed Control We have a space curve p=p(u) and a speed control o function s=s(t). For a given t, s=s(t) Find the corresponding value u=u(s) by looking up an arc length table for a given s A point on the space curve with parameter u p=p(u(s(t))) ( ( 58

59 Speed Control P(u( * ) u* Arc Length Table u Arc Length s* Speed Control Curve t* 59

60 Distance Time Function Assumptions on distance time function The entire arc length of the curve is to be traversed during the given total time Additional optional assumptions The function should be monotonic in t The function should be continuous 60

61 Ease-in/Ease-out Most useful and most common ways to control motion o along acurve Arc length (distance) Time Equally spaced samples in time specify arc length required for that t frame 61

62 s Ease-in/Ease-out Sine Interpolation 1 π 1 = ease( t) = sin ( tπ ) +, 0 t 1 1 π/ π/ Arc Length -1 sin( α), π α π Time 6

63 Ease-in/Ease-out Sine Interpolation The speed of s w.r.t. t is never constant over an interval but rather is always accelerating e a or decelerating. Zero derivatives at t=0 and t=1 indicating smooth accelerating and deceleration at end points. 63

64 Ease-in/Ease-out Piecing i Curves Together for Ease In/Out Arc Length Linear segment Time Sinusoidal segments 64

65 Ease-in/Ease-out Piecing i Curves Together for Ease In/Out 65

66 Ease-in/Ease-out Integrating to avoid the sine function acceleration A velocity Find v such that area = 1 v time D t 1 t arc length t 1 t V 1 = V A*t 1 = - D*(1-t ) time time 66

67 Ease-in/Ease-out Integrating to avoid the sine function To avoid the transcendental function evaluation while providing a constant speed interval between ease-in and ease-out intervals Acceleration-time time curve Velocity-time curve Velocity-time curve is defined by integral of the acceleration-time curve Distance-time curve is defined by integral of the velocity-time curve 67

68 Ease-in/Ease-out Integrating to avoid the sine function In ease-in/ease-out function Velocity starts out at 0 and ends at 0 V 1 = V inplies A*t 1 = - D*(1-t ) 68

69 Ease-in/Ease-out Integrating to avoid the sine function Total distance = 1 implies 1 = ½ V 0 t + V 0 (t -t 1 )+1/ V 0 (1-t ) Users specifies any two of three variables t 1, t, and V 0, and the system can solve for the third 69

70 Ease-in/Ease-out Integrating to avoid the sine function The result is Parabolic ease-in/ease-out More flexible than the sinusoidal ease-in/ease-out 70

71 Videos Bunny (Blue Sky Studios, 1998) 71

72 q Review - Quaternions Similar to axis-angleangle representations 4-tuple of real numbers q=(s, x, y, z) or [s, v]s is a scalar; v is a vector The quaternion for rotating an angle about an axis (an axis-angle rotation): = Rot ( θ,( a, a, a )) x y θ θ = cos( ),sin( ) ( ax, ay, az ) If a is unit length, then q will be also z Y Z a=(a x, a y, a z ) θ X Animation(U), Chap, Tech. Background 7

73 Review - Quaternions Review Quaternions If a is unit length, then q will be also = q q q q q sin sin sin cos = θ θ θ θ z y x a a a ( ) sin cos = θ θ y a a a ( ) sin cos = θ θ θ θ z y x a a a sin cos sin cos + = + = θ θ θ θ a Animation(U), Chap, Tech. Background Animation(U), Chap, Tech. Background 73 1 =1 =

74 Review - Quaternions Rotating some angle around an axis is the same as rotating the negative angle around the negated axis θ θ Rot θ, ( x, y, z) = cos( ), sin( )( x, y, z) = q Animation(U), Chap, Tech. Background 74

75 Addition Review - Quaternion Math [ s, v ] + [ s, v ] = [ s + s, v + v ] Multiplication [ s, v ][ s, v ] = [ s s v v, s v + s v + v v ] Multiplication is associative but not commutative q ( = q 1 qq3) ( q1q ) 3 q 1q qq1 Animation(U), Chap, Tech. Background 75

76 Review - Quaternion Math (cont.) Multiplicative identity: [1, 0,0,0] Inverse [ 1, 0, 0, 0 ] q q = [ ] 1 s, v 1 q = qq 1 = [ 1, 0, 0, 0 ] q qq 1 = Normalization for unit quaternion [ 1, 0, 0, 0] Normalization for unit quaternion ) q q = ) qq q = q q = s + x + y + z z q = s + x + y + Animation(U), Chap, Tech. Background 76

77 Review Rotating Vectors Using Quaternion A point in space, v, is represented as [0, v] To rotate a vector v using quaternion q Represent the vector as v = [0, v] Represent the rotation as a quaternion q Using quaternion multiplication v' = Rot ( v) = qvq q The proof isn t that hard Note that tthe result v always has zero scalar value 1 Animation(U), Chap, Tech. Background 77

78 Review - Compose Rotations Rotating a vector v by first quaternion p followed by a quaternion q is like rotation using qp Rot ( Rot ( v )) = q p = = Rot q qpvp p ( pvp 1 1 q ( qp) v( qp) = Rot qp (v) 1 ) 1 Animation(U), Chap, Tech. Background 78

79 Review - Compose Rotations To rotate a vector v by quaternion q followed by its inverse quaternion q -1 Rot 1 ( Rot ( v )) = Rot 1 q q = = q v 1 q qvq qq ( qvq 1 q 1 ) Animation(U), Chap, Tech. Background 79

80 Review - Quaternion Interpolation A quaternion is a point on a 4D unit sphere Unit quaternion: q=(s,x,y,z), q = 1 Form a subspace: a 4D sphere Interpolating quaternion means moving between two points on the 4D unit sphere A unit quaternion at each step another point on the 4D unit sphere Move with constant angular velocity along the greatest circle between the two points on the 4D unit sphere Animation(U), Chap, Tech. Background 80

81 Review - Linear Interpolation Linear interpolation generates unequal spacing of points after projecting to circle Animation(U), Chap, Tech. Background 81

82 Review Spherical Linear Interpolation (slerp) Want equal increment along arc connecting two quaternion on the spherical surface Spherical linear interpolation (slerp) sin((1 u) θ ) slerp q, q, u) = q1 + sin θ sin( uθ ) sin θ ( 1 q 1 where u goes from 0 to1andθ = cos ( q1 q Normalize to regain unit quaternion ) Animation(U), Chap, Tech. Background 8

83 Review Spherical Linear Interpolation (slerp) Let q = α q1 + βq We can solve for given : q = 1, q 1 q = θ, q1 q to give = u θ sin((1 u) θ ) sin( uθ ) slerp( q1, q, u) = q1 + q sin θ sin θ Animation(U), Chap, Tech. Background 83

84 Review Spherical Linear Interpolation (slerp) q 1 q > 0 q 1 q q Animation(U), Chap, Tech. Background 84

85 Review Spherical Linear Interpolation (slerp) Recall that q and q represent same rotation What is the difference between: Slerp(u, q 1, q ) and Slerp(u, q 1, -q )? One of these will travel less than 90 degrees while the other will travel more than 90 degrees across the sphere This corresponds to rotating the short way or the long way Usually, we want to take the short way, so we negate one of them if their dot product is < 0 Animation(U), Chap, Tech. Background 85

86 Review Spherical Linear Interpolation (slerp) If we have an intermediate position q, the interpolation from q 1 -->q -->q 3 will not necessarily follow the same path as the interpolation from q 1 to q 3. Animation(U), Chap, Tech. Background 86

87 Interpolating a Series of Quaternions As linear interpolation in Euclidean space, we can have first order discontinuity problem when interpolating a series of orientations. Need a cubic curve interpolation to maintain first order continuity in Euclidean space Similarly, slerp can have 1st order discontinuity We also need a cubic curve interpolation in 4D spherical space for 1st order continuity 87

88 Interpolating a Series of Quaternions Interpolated points [, p n-1, p n, p n+1,.]in3d Between each pair of points, two control points will be constructed. e.g., For p n a n : the one intermediate after p n b n : the one immediately before p n p n +(p n -p n-1 ) Take average 88

89 Interpolating a Series of Quaternions Interpolated points [, p n-1, p n, p n+1,.] in 3D Between each pair of points, two control points will be constructed. e.g., For p n a n : the one intermediate after p n b n : the one immediately before p n b n= p n +(p n -a n ) 89

90 Interpolating a Series of Quaternions Interpolated points [, p n-1, p n, p n+1,.] in 3D End conditions 90

91 Interpolating a Series of Quaternions Interpolated points [, p n-1, p n, p n+1,.] in 3D Between any interpolated points p n and p n+1, a cubic Bezier curve segment is defined by p n, a n, b n+1, and p n+1 91

92 Interpolating a Series of Quaternions How to evaluate a point on Bezier curve? De Casteljau Construction Constructing Bezier curve by multiple linear interpolation u=1/3 p(1/3) 9

93 Interpolating a Series of Quaternions Animation: See gif 93

94 Interpolating a Series of Quaternions Bezier interpolation on 4D sphere? How are control points generated? How are cubic Beziers defined? Control points are automatically ti generated as it is not intuitive to manually adjust them on a 4D sphere Derive Bezier curve points by iteratively subdivision s on p n, a n, b n+1, and p n+1 94

95 Interpolating a Series of Quaternions Connecting Segments on 4D Sphere Automatically generating interior (spherical) control points b n = double( an, qn) b n q n q n a n. Bisect the span Bi sect( q' n, q n+ 1 ) = q' q' n n + q + q n+ 1 n+ 1 q n+1 q n-1 1. Double the arc q ' n = double q ( qn 1, qn ) = ( qn 1 qn ) qn qn 1 95

96 Interpolating a Series of Quaternions De Casteljau Construction on 4D Sphere p 1 = slerp(q n,a n, 1 3) p = slerp(a n,b n +1, 1 3) p 3 = slerp(b n +1,q n +1, 1 3) p = slerp(p 1 1 1, p, 3) 3 u=1/3 p 1 a n p P(1/3) b n+1 p 3 p 3 = slerp(p, p 3, 1 3) p = slerp(p 1, p 3, 1 3) q n q n+1 96

97 Path Following Issues about path following Arc length parameterization and speed control Changing the orientation Smoothing a path Path along a surface 97

98 Orientation Along a Curve A local coordinate system (u, v, w) is defined for an object to be animated a Position along the path P(s), denoted as POS w-axis: the direction the object tis facing v-axis: up vector u-axis: perpendicular to w and v (u, v, w): a right-handed coordinate system 98

99 Orientation Along a Curve 99

100 Orientation Along a Curve Frenet Frame Frenet frame: a moving coordinate system determined by curve tangent and curvature w = P '( s ) u = P"( s) v = u w P'( s) 100

101 Problems Orientation Along a Curve Frenet Frame No concept of up vector Is undefined in segments that has no curvature; i.e., P (u)=0 Can be dealt with by interpolating a Frenet frame from the Frenet frames at segment s boundary, which differ by only a rotation around w A discontinuity in the curvature vector Frenet frame has a discontinuous jump in orientation Resulting motions are usually too extreme and not natural looking 101

102 Orientation Along a Curve Frenet Frame 10

103 Orientation Along a Curve Frenet Frame 103

104 Orientation Along a Curve Camera Path Following COI: center of interest A fixed point in the scene Center point of an object in the scene Points along the path itself Points on a separate path in the scene Points on the interpolation between points in the scene w = COI POS u = w y_axis w = C ( s ) P ( s ) w = C ( s ) P ( s ) u = w y_axis u = w ( U ( s) P( s)) v = u w v = u w v = u w 104

105 Smoothing a Path with Linear Interpolation Two points on either sides of a point are averaged, and this point is averaged with the original point. Repeated application P + P + P i 1 i+ 1 i P' i = = P i 1 + P i + P i

106 Smoothing a Path with Linear Interpolation 106

107 Smoothing a Path with Cubic Interpolation Four points on either sides of a point are fitted by a cubic curve, and the midpoint of the curve is averaged with the original point. 3 P ( u ) = au + bu + cu + d P i = P (0) = i d Pi 1 = P(1/ 4) = a + b + c + d P i + 1 = P(3/ 4) = a + b + c + d P i = P(1 = a + b + c + d + ) 107

108 Smoothing a Path with Cubic Interpolation 108

109 Smoothing a Path with Cubic Interpolation 109

110 Determine a Path on a Surface If one object is to move across the surface of another object, we need to specify a path across the surface. Given start and destination points Find a shortest path between the points expensive Determine a plane that contain two points and dis generally perpendicular to the surface (averaged normal of two points) Intersection of the plane with the surface (mesh) 110

111 Determine a Path on a Surface 111

112 Determine a Path on a Parametric Surface Given start and destination points on parametric domain Define the straight line connecting two points in the parametric space The curve on the surface corresponding to this line 11

Computer Animation. Rick Parent

Computer Animation. Rick Parent Algorithms and Techniques Interpolating Values Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture Motivation Common problem:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Trajectory planning in Cartesian space

Trajectory planning in Cartesian space Robotics 1 Trajectory planning in Cartesian space Prof. Alessandro De Luca Robotics 1 1 Trajectories in Cartesian space! in general, the trajectory planning methods proposed in the joint space can be applied

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

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

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

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

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

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

Manipulator trajectory planning

Manipulator trajectory planning Manipulator trajectory planning Václav Hlaváč Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics Czech Republic http://cmp.felk.cvut.cz/~hlavac Courtesy to

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

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

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

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

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

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

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

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

The Three Dimensional Coordinate System

The Three Dimensional Coordinate System The Three-Dimensional Coordinate System The Three Dimensional Coordinate System You can construct a three-dimensional coordinate system by passing a z-axis perpendicular to both the x- and y-axes at the

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

COMP3421. Global Lighting Part 2: Radiosity

COMP3421. Global Lighting Part 2: Radiosity COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all

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

City Research Online. Permanent City Research Online URL:

City Research Online. Permanent City Research Online URL: Slabaugh, G.G., Unal, G.B., Fang, T., Rossignac, J. & Whited, B. Variational Skinning of an Ordered Set of Discrete D Balls. Lecture Notes in Computer Science, 4975(008), pp. 450-461. doi: 10.1007/978-3-540-7946-8_34

More information

Lecture 9: Introduction to Spline Curves

Lecture 9: Introduction to Spline Curves Lecture 9: Introduction to Spline Curves Splines are used in graphics to represent smooth curves and surfaces. They use a small set of control points (knots) and a function that generates a curve through

More information

TO DUY ANH SHIP CALCULATION

TO DUY ANH SHIP CALCULATION TO DUY ANH SHIP CALCULATION Ship Calculattion (1)-Space Cuvers 3D-curves play an important role in the engineering, design and manufature in Shipbuilding. Prior of the development of mathematical and computer

More information

Friday, 11 January 13. Interpolation

Friday, 11 January 13. Interpolation Interpolation Interpolation Interpolation is not a branch of mathematic but a collection of techniques useful for solving computer graphics problems Basically an interpolant is a way of changing one number

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

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

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

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

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning

Prof. Fanny Ficuciello Robotics for Bioengineering Trajectory planning Trajectory planning to generate the reference inputs to the motion control system which ensures that the manipulator executes the planned trajectories path and trajectory joint space trajectories operational

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

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

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

More information

Essential Mathematics for Computational Design

Essential Mathematics for Computational Design Essential Mathematics for Computational Design, Third edition, by Robert McNeel & Associates, 2013 is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. ii Preface Essential

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

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

Math (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines

Math (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines Math 18.02 (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines February 12 Reading Material: From Simmons: 17.1 and 17.2. Last time: Square Systems. Word problem. How many solutions?

More information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

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

Visual Recognition: Image Formation

Visual Recognition: Image Formation Visual Recognition: Image Formation Raquel Urtasun TTI Chicago Jan 5, 2012 Raquel Urtasun (TTI-C) Visual Recognition Jan 5, 2012 1 / 61 Today s lecture... Fundamentals of image formation You should know

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

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

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

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

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

Advanced Computer Graphics Transformations. Matthias Teschner

Advanced Computer Graphics Transformations. Matthias Teschner Advanced Computer Graphics Transformations Matthias Teschner Motivation Transformations are used To convert between arbitrary spaces, e.g. world space and other spaces, such as object space, camera space

More information

Quaternion Interpolation

Quaternion Interpolation Quaternion Interpolation 3D Rotation Repreentation (reiew) Rotation Matrix orthornormal column/row bad for interpolation Fixed Angle rotate about global axe bad for interpolation, gimbal lock Euler Angle

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017) Homework Assignment Sheet I (Due 20-Oct-2017) Assignment 1 Let n N and A be a finite set of cardinality n = A. By definition, a permutation of A is a bijective function from A to A. Prove that there exist

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Path and Trajectory specification Robots are built to accomplish complex and difficult tasks that require highly non-linear motions. Specifying the desired motion to achieve a specified goal is often a

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

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

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

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline

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

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

(Spline, Bezier, B-Spline)

(Spline, Bezier, B-Spline) (Spline, Bezier, B-Spline) Spline Drafting terminology Spline is a flexible strip that is easily flexed to pass through a series of design points (control points) to produce a smooth curve. Spline curve

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

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.

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

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

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

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Curves and Curved Surfaces Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface

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

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

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information