On the Parameterization of Catmull-Rom Curves Cem Yuksel Scott Schaefer John Keyser Texas A&M University
Catmull-Rom Curves P 3 P 1 P 0 P 2
Catmull-Rom Curves P 3 P 1 P 0 P 2
Catmull-Rom Curves • Important Properties – Interpolate control points – Local support – Piecewise polynomial representation
Catmull-Rom Curves • Important Properties – Interpolate control points – Local support – Piecewise polynomial representation
Catmull-Rom Curves P 3 P 1 P 0 P 2
Catmull-Rom Curves P 3 t 3 P 1 t 1 P 0 P 2 t 2 t 0 C 12 ( P 0,1,2,3 , t 0,1,2,3 )
Catmull-Rom Curves P 3 t 3 P 1 t 1 P 0 P 2 t 2 t 0 Uniform t 0 t 1 t 2 t 3 t i+1 = t i + 1
Catmull-Rom Curves P 3 t 3 P 1 t 1 P 0 P 2 t 2 t 0 Chordal t 0 t 1 t 2 t 3 t i+1 = t i + | P i+1 – P i |
Catmull-Rom Curves • Parameterization – Uniform: t i+1 = t i + 1 – Chordal: t i+1 = t i + | P i+1 – P i |
Catmull-Rom Curves • Parameterization – Uniform: t i+1 = t i + | P i+1 – P i | 0 – Chordal: t i+1 = t i + | P i+1 – P i | 1
Catmull-Rom Curves • Parameterization a t i+1 = t i + | P i+1 – P i |
Catmull-Rom Curves • Parameterization a t i+1 = t i + | P i+1 – P i | a = 0 a = 1 Uniform Chordal
Catmull-Rom Curves • Parameterization a t i+1 = t i + | P i+1 – P i | 1 a = 0 a = a = 1 2 Uniform Centripetal Chordal
On the Parameterization of Catmull-Rom Curves DEMO
On the Parameterization of Catmull-Rom Curves CUSPS & SELF-INTERSECTIONS
Cusps & Self-Intersections P 2 P 1 P 0 P 3
Cusps & Self-Intersections P 2 P 1 P 0 P 3
Cusps & Self-Intersections P 2 P 1 P 0 P 3
Cusps & Self-Intersections P 1 P 2 P 0 P 3
Cusps & Self-Intersections P 1 P 2 P 0 P 3
Cusps & Self-Intersections P 1 P 2 P 0 P 3 a < 1 2
Cusps & Self-Intersections P 1 P 0 P 2 P 3
Cusps & Self-Intersections P 1 P 2 P 0 P 3
Cusps & Self-Intersections P 1 P 2 P 0 P 3 a = 1 2
Cusps & Self-Intersections P 1 P 2 P 0 P 3 a = 1 2
Cusps & Self-Intersections P 1 P 2 P 0 P 3 a = 1 2
On the Parameterization of Catmull-Rom Curves DISTANCE BOUND
Distance Bound
Distance Bound • Distance to the infinite line h • Distance to end points l
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 h ≤ d 2 A x
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 r 1- a r = d 1 h ≤ d 2 4 (1 + r a ) d 2
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 a < 1/2 h ≤ 8 r 1- a r = d 1 a = 1/2 h ≤ d 2 /4 h ≤ d 2 4 (1 + r a ) a = 2/3 h ≤ d 2 /8 d 2 a = 1 h ≤ d 2 /4
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 a < 1/2 h ≤ 8 r 1- a r = d 1 a = 1/2 h ≤ d 2 /4 h ≤ d 2 4 (1 + r a ) a = 2/3 h ≤ d 2 /8 d 2 a = 1 h ≤ d 2 /4
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 a < 1/2 h ≤ 8 r 1- a r = d 1 a = 1/2 h ≤ d 2 /4 h ≤ d 2 4 (1 + r a ) a = 2/3 h ≤ d 2 /8 d 2 a = 1 h ≤ d 2 /4
Distance Bound • Distance to the infinite line h P 1 P 2 P 0 d 2 d 1 P 3 a < 1/2 h ≤ 8 r 1- a r = d 1 a = 1/2 h ≤ d 2 /4 h ≤ d 2 4 (1 + r a ) a = 2/3 h ≤ d 2 /8 d 2 a = 1 h ≤ d 2 /4
Distance Bound • Distance to the end points l r 2 – r 4 a d 2 l ≤ 3 r a (1 + r a )
Distance Bound a only a = 1/2 a = 2/3 a = 1
Distance Bound a and r a = 1/2 a = 2/3 a = 1
On the Parameterization of Catmull-Rom Curves INTERSECTION-FREE CURVES
Intersection-Free Curves
Intersection-Free Curves
Intersection-Free Curves γ γ > π / 3
Intersection-Free Curves γ γ > π / 3
Intersection-Free Curves • Avoid self-intersections – Centripetal parameterization • Avoid adjacent segment intersections – Control polygon angle > π / 3 • Avoid non-adjacent segment intersections – Bounding box
On the Parameterization of Catmull-Rom Curves DISCUSSION
Discussion • Distance to Control Polygon – Uniform is closer for longer segments – Chordal is closer for shorter segments
Discussion • Edge Direction – Chordal has extreme sensitivity to short edge directions
Discussion • Edge Direction – Chordal has extreme sensitivity to short edge directions
Discussion • Edge Direction – Chordal has extreme sensitivity to short edge directions
Discussion • Edge Direction – Chordal has extreme sensitivity to short edge directions
Discussion • Curvature – Centripetal tends to have higher curvature at control points.
Discussion • Curvature – Centripetal tends to have higher curvature at control points.
Discussion • Curvature – Centripetal tends to have higher curvature at control points.
Discussion • Curvature – Centripetal tends to have higher curvature at control points.
Catmull-Rom Curves Lee Perry-Smith Lee Perry-Smith Alexander Tomchuk Cem Yuksel, Scott Schaefer, John Keyser, “Hair Meshes,” Siggraph Asia 2009
Catmull-Rom Curves Cem Yuksel, Scott Schaefer, John Keyser, “Hair Meshes,” Siggraph Asia 2009
Catmull-Rom Curves Uniform Chordal Centripetal Cem Yuksel, Scott Schaefer, John Keyser, “Hair Meshes,” Siggraph Asia 2009
Summary • Parameterization of Catmull-Rom curves 0 ≤ a ≤ 1 • Cusps and self-intersections • Distance bound • Intersection-free curves • C 1 Catmull-Rom curves only!
On the Parameterization of Catmull-Rom Curves QUESTIONS?
Recommend
More recommend