1 / 59

# SIAM 2001, Sacramento, CA

SIAM 2001, Sacramento, CA. Circle Splines on the Sphere and in 3-Space. Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB Jane Yen, ( now at PIXAR). Concepts and Goals. Smooth Interpolating Curves: Design needs only a few control points. These get interpolated exactly.

## SIAM 2001, Sacramento, CA

E N D

### Presentation Transcript

1. SIAM 2001, Sacramento, CA Circle Splines on the Sphere and in 3-Space Carlo Séquin, EECS, UCBKiha Lee, ME, UCBJane Yen, (now at PIXAR)

2. Concepts and Goals Smooth Interpolating Curves: • Design needs only a few control points. • These get interpolated exactly. • All symmetries are maintained. • Produces pleasing looking curves. • But only local support (4 control points). • If circles are possible, they will result. 

3. Applications on the Sphere “Grand Tour” camera movements to look inward on an object. Sculpture Design: “Viae Globi” (Pathways on a Sphere). • Sweep a suitable cross section along a smooth curve on a sphere.

4. How Do You Design these Things ? • Marker pen on tennis ball ?

5. Brent Collins: Carved Wood Master • Create hollow sphereby lamination (30” diam). • Draw path on sphere. • Carve a thick band. • Profile the band. • Sand and polish. • Takes 3-4 months. Visualization ? Prototyping ?

6. Circle-Splines (C-Splines) in the plane. on the sphere. in 3D space.

7. Circle Splines: in the Plane (1) Original data points and control polygon

8. B D A C Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D

9. B D A C Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D LEFT CIRCLE thru A, B, C

10. B D A C Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D LEFT CIRCLE thru A, B, C RIGHT CIRCLE thru B, C, D

11. B D A C Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D LEFT CIRCLE thru A, B, C RIGHT CIRCLE thru B, C, D BLEND CURVE between B and C

12. Qualitative Results (1) Z B Original data points PURE CIRCLE D A C BLEND PURE CIRCLE O

13. Qualitative Results (2) STRAIGHT LINE C BLEND Original data points STRAIGHT LINE

14. Key Points about Circle Splines Going from Polynomial Splines to Blended Circles: • Give up affine invariance • Give up linear precision  Avoid cusps and hair-pin turns  Get nicely rounded, loopy curves  Approximate the behavior of the MVC 

15. How to do the Blending ? Left Circle thru: A, B, C; Right Circle thru: B, C, D. D B C A

16. Blending With Intermediate Circles Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. D B C A

17. Blending With Intermediate Circles Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of regularly spaced Tangent Vectors. D B C A

18. Blending With Intermediate Circles Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of regularly spaced Tangent Vectors. Draw n equal-angle-spaced Circles from B to C. D B C A

19. S Blending With Intermediate Circles Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of regularly spaced Tangent Vectors. Draw n equal-angle-spaced Circles from B to C. D Make n equal segments on each arc andchoose ith point on ith circle. B C A

20. Circle Blending: Previous Art Left Circle thru: A, B, C. Right Circle thru: B, C, D. n points on Left Circle. n points on Right Circle. Interpolate positions between corresponding points. D C B S A

21. Previous Work with Circles • H.- J. Wenz (CAGD 1996)“Interpolation of curve data by blended generalized circles.”Linear interpolation: L(i) *(1-i) + R(i) *(i)G-1 Continuity at B, C. • M. Szilvasi-Nagi & T.P. Vendel (CAGD 2000)“Generating curves and swept surfaces by blended circles.”Trigonometrical blend: L(i) *cos2(i) + R(i) *sin2(i) G-2 Continuity at B, C.But Cusps are still possible !! i 0 n

22. A Bad Case … • Cusp !  Trigonometrically blended circular arcs:

23. Trigonometric Angle Blending Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of trigonometrically spaced tangents. D ANGLE B C A STEP i

24. Trigonometric Angle Blending Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of trigonometrically spaced Tangents. Draw n trigonometrically-spaced Circles from B to C. D B C A

25. Trigonometric Angle Blending Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of trigonometrically spaced Tangents. Draw n trigonometrically-spaced Circles from B to C. D Blend curve “hugs” initial circles longer: --> G2 B C S A

26. New Midpoint S Comparison SL Linearly averaged point positions SP Averaged circle,based on angles ! SA SR C B D A

27. Angle Iteration in the Plane SL Linearly vary the angles defining the intermediate arcs. Linearly vary the arc-length position along arc i. S1 S2 S3 SR B A C D

28. Angle Iteration in the Plane SL Linearly vary the angles defining the intermediate arcs. Linearly vary the arc-length position along arc i.  Segment picks up the tangents from the circles at both ends.  G-1 Continuity. S1 S2 S3 SR B A C D

29. Problem of Position Averaging SL It would be difficult to reach tangent direction at C from mid point SP  Segment picks up the tangents from the circles at both ends.  G-1 Continuity. SP S1 S2 S3 SR B A C D

30. Use of Angle-based Approach • Subdivision Technique(Siggraph’01 Sketch) • Find new midpoints for all segments; • Double the number of control points; • Recurse. • Iterative (Sweep) Technique • Calculate n intermediate circles(based on angle division); • Calculate i-th point along arc i.

31. Subdivision Schemes (SIGGRAPH’01) 1 step 5 steps Too “loopy” Angle-Averaged C-Spline CubicPolynomialInterpolation Position-AveragedCircles ( Wenz )

32. Various Interpolation Schemes Too sharp Too “loopy” “Just right” CubicPolynomialInterpolation TrigonometricallyPosition-BlendedCircular Arcs ( Szilvasi-Nagi ) TrigonometricallyAngle-Blended C-Spline NO CUSPS !

33. Smooth Curves on the Sphere • Avoid Euler Angles ! (use quat. / pure geom.) • Iterative Spline Constructions • Spherical “B-splines” can readily be implemented with a Blossoming / De Casteljau technique by using great arcs rather than straight chords. –However, this produces approximating curves! • Quaternion Splines • Refs: Shoemake 1985, Kim et al. 1995 + Good results on continuity. – Non-commutativity  No front-to-back symmetry.

34. Concept: Swivel Planes thru B,C 3 consecutive points define a plane and a circle on it. A, B, C Left Circle. B, C, D  Right Circle. Intermediate planes / arcs at <lin./trig.> angle-steps.

35. Finding a New Mid-point S SPHERE:SIDE VIEW Find SL and SR, on sphere, then find S by halvingthe angle between them:  S is closer to SR. In the plane we find Sby halving angle (SL C SR) and intersecting with line m PLANE: TOP VIEW

36. Circle-Splines on the Sphere Examples from a prototype editor program

37. CAD -- from Concept to Prototype ! • Make nice curvy paths on the surface of a sphere: Circle-splines (C-splines). • Sweep various cross sectionsalong these spherical paths: SLIDE (Jordan Smith, Berkeley). • Fabricate the resulting surfaces: Send B-rep to FDM machine.

38. “Via Globi” -- Virtual Design Wilmin Martono

39. “Viae Globi” FDM Maquettes (8” tall) “Maloja” “Altamont” “Lombard”

40. Circle Splines in 3D Left Circle thru: A, B, C; Right Circle thru: B, C, D. Draw Tangent Vectors for both circles at B and C. Draw a bundle of regularly spaced Tangent Vectors. etc … Also works in 3D ! D MIRROR B C Two different planes A

41. Further Generalization Left Tangent at: B; Right Tangent at: C; With any suitable method (e.g., weighted avrg.) Draw a bundle of regularly spaced Tangent Vectors. Draw n equal-angle-spaced Circles from B to C. Allows to handle tangent constraints at B,C! D MIRROR B C Two different planes A

42. Implementation Hints • Avoid calculations that explicitly involve the centers of the circular arcs,since these will go off to infinity, when the arcs become straight. • Calculate points along arc as an offset from end point B or C. B Pi C Linear steps, ti

43. Curve Construction Using Circles • Not affine invariant -- curves do not transform exactly as their control points (except for uniform scaling). • Avoids cusps, hairpin turns • Predisposed to produce (exact) circles • Well-behaved curves with local support • G1-continuous with linear blending • G2-continuous with trigonometric blending • Angle averaging is crucial when blending circles of widely differing radii.

44. Angle-Averaging and MVC • The nicest interpolating curves are produced by the globally optimal MVC (Minimum Variation Curve). • MVC tries to maintain constant curvature,because its penalty function is: • In a piecewise linear curvewith equal-length line segments,all turning angles should be the same. • In the plane, the angle-averaged segment midpoint also averages the turning angle of the piece-wise linear control curve. • Conjecture: In the subdivision limit, angle-averaging approximates behavior of MVC(as far as is possible with only local support).

45. Subdivision vs. Iteration • SIGGRAPH’01: Subdivision Scheme Calculate segment midpoints only, recurse • No simple linear interpolating mask / matrix • Difficult to analyze continuity of result • TODAY: Iterated Scheme • Resulting Continuity is understood • Tangent direction, curvature at joints (B,C)does not change, is forced onto blend curve • One single scheme for 2D, Sphere, 3D, ...

46. Conclusions Angle-Averaged Circles (C-Splines)are useful for making smooth shapes on a sphere, in the plane, and in 3D. QUESTIONS ?

47. ========= SPARE ========= =========================

48. Summary / Discussion Geometric Construction Using Circles: • Not affine invariant - curves do not transform exactly as their control points (except for uniform scaling). Advantages: • G2-continuous curves with local support • Avoids cusps, reduces overshoots • Predisposed to produce (exact) circles • Approximates MVC behavior Disadvantages: • Cannot use a simple linear interpolating mask / matrix • Difficult to analyze continuity of subdivision scheme(not a problem for the iterated approach!)

49. Justification for Angle-Averaging • Angle averaging looks so good,because it locally approximates a MVC(Minimum Variation Curve): • MVC tries to maintain constant curvature,because its penalty function is: • In a piecewise linear curvewith equal-length line segments,all turning angles should be the same. • In the limit, angle-averaging approximates the behavior of the MVC.

More Related