Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Rick Parent - CIS681 Interpolation of a time-space curve Interpolation (of a curve in space) Speed control along curve Reparameterizing according to arc."— Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

14 Rick Parent - CIS681 Hermite

15 Rick Parent - CIS681 Bezier

16 Rick Parent - CIS681 Catmull-Rom

17 Rick Parent - CIS681 Blended Parabolas

18 Rick Parent - CIS681 B-Spline / NURBS

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

20 Rick Parent - CIS681 Equal Parametric Increments

21 Rick Parent - CIS681 Arc Length

22 Rick Parent - CIS681 Arc Length - analytic

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

24 Rick Parent - CIS681 Arc Length distance Estimated u UDistance 0.10.08 0.20.19 0.30.32 0.40.45 ……

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

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

27 Rick Parent - CIS681 Controlling Motion Along a Curve slow fast

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

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

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

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

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

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

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

35 Rick Parent - CIS681 Sinesoidal and linear segments

36 Rick Parent - CIS681 Sinesoidal and linear segments where

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

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

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


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

Similar presentations


Ads by Google