CHS UCB SIAM 2001 Sacramento CA Circle Splines
CHS UCB 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)
CHS UCB Concepts and Goals Smooth Interpolating Curves: u Design u These u All needs only a few control points. get interpolated exactly. symmetries are maintained. u Produces u But u If pleasing looking curves. only local support (4 control points). circles are possible, they will result.
CHS UCB Applications on the Sphere “Grand Tour” camera movements to look inward on an object. Sculpture Design: “Viae Globi” (Pathways on a Sphere). u Sweep a suitable cross section along a smooth curve on a sphere.
CHS UCB Inspiration: Brent Collins’ “Pax Mundi” a sweep path on a sphere
CHS UCB How Do You Design these Things ? u Marker pen on tennis ball ?
CHS UCB Brent Collins: Carved Wood Master Create hollow sphere by lamination (30” diam). Draw path on sphere. Carve a thick band. Profile the band. Sand polish. Takes 3 -4 months. Visualization ? Prototyping ?
CHS UCB Circle-Splines (C-Splines) in the plane. on the sphere. in 3 D space.
CHS UCB Circle Splines: in the Plane (1) Original data points and control polygon
CHS UCB Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D B A D C
CHS UCB 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 B A D C
CHS UCB 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 B A D C
CHS UCB 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 B A D C BLEND CURVE between B and C
CHS UCB Qualitative Results (1) Z Original data points PURE CIRCLE B A PURE CIRCLE O D BLEND C
CHS UCB Qualitative Results (2) STRAIGHT LINE Original data points BLEND STRAIGHT LINE C
CHS UCB Key Points about Circle Splines Going from Polynomial Splines to Blended Circles: u Give up affine invariance u Give up linear precision Avoid cusps and hair-pin turns Get nicely rounded, loopy curves Approximate the behavior of the MVC
CHS UCB How to do the Blending ? Left Circle thru: A, B, C; Right Circle thru: B, C, D. D B A C
CHS UCB 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 A C
CHS UCB 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 A C
CHS UCB 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 A C
CHS UCB 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. Make n equal segments on each arc and D choose ith point on ith circle. B A S C
CHS UCB 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. B A D C S
CHS UCB Previous Work with Circles i 0 n u 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. u M. Szilvasi-Nagi & T. P. Vendel (CAGD 2000) “Generating curves and swept surfaces by blended circles. ” Trigonometrical blend: L(i) *cos 2(i) + R(i) *sin 2(i) G-2 Continuity at B, C. But Cusps are still possible !!
CHS UCB A Bad Case … Trigonometrically blended circular arcs: u Cusp !
CHS UCB 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 A C STEP i
CHS UCB 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 A C
CHS UCB 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. Blend curve “hugs” initial circles longer: --> G 2 B A S D C
CHS UCB Comparison SL New Midpoint S SP SA Linearly averaged point positions Averaged circle, based on angles ! SR B C A D
CHS UCB Angle Iteration in the Plane SL Linearly vary the angles defining the intermediate arcs. Linearly vary the arc-length position along arc i. S 1 S 2 S 3 B A SR C D
CHS UCB Angle Iteration in the Plane SL Linearly vary the angles defining the intermediate arcs. Linearly vary the arc-length position along arc i. S 1 Segment picks up the tangents from the circles at both ends. S 2 S 3 B A SR G-1 Continuity. C D
CHS UCB Problem of Position Averaging SL It would be difficult to reach tangent direction at C from mid point SP SP S 1 Segment picks up the tangents from the circles at both ends. S 2 G-1 Continuity. S 3 B A SR C D
CHS UCB Use of Angle-based Approach u Subdivision Technique (Siggraph’ 01 Sketch) l Find new midpoints for all segments; l Double the number of control points; l Recurse. u Iterative (Sweep) Technique l Calculate n intermediate circles (based on angle division); l Calculate i-th point along arc i.
CHS UCB Subdivision Schemes (SIGGRAPH’ 01) 1 step 5 steps Too “loopy” Angle. Averaged C-Spline Cubic Polynomial Interpolation Position. Averaged Circles ( Wenz )
CHS UCB Various Interpolation Schemes Too sharp Cubic Polynomial Interpolation Too “loopy” “Just right” Trigonometrically Position-Blended Angle-Blended Circular Arcs C-Spline ( Szilvasi-Nagi ) NO CUSPS !
CHS UCB Smooth Curves on the Sphere u Avoid Euler Angles ! u Iterative l (use quat. / pure geom. ) 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! u Quaternion l Splines Refs: Shoemake 1985, Kim et al. 1995 + Good results on continuity. – Non-commutativity No front-to-back symmetry.
CHS UCB 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.
CHS UCB Finding a New Mid-point S SPHERE: SIDE VIEW Find SL and SR, on sphere, then find S by halving the angle between them: S is closer to SR. PLANE: In the plane we find S by halving angle (SL C SR) and intersecting with line m TOP VIEW
CHS UCB Circle-Splines on the Sphere Examples from a prototype editor program
CHS UCB CAD -- from Concept to Prototype ! u Make nice curvy paths on the surface of a sphere: Circle-splines (C-splines). u Sweep various cross sections along these spherical paths: SLIDE (Jordan Smith, Berkeley). u Fabricate the resulting surfaces: Send B-rep to FDM machine.
CHS UCB “Via Globi” -- Virtual Design Wilmin Martono
CHS UCB “Viae Globi” FDM Maquettes (8” tall) “Maloja” “Altamont” “Lombard”
CHS UCB Circle Splines in 3 D 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 … D Also works in 3 D ! MIRROR B C Two different planes A
CHS UCB 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! MIRROR D B C Two different planes A
CHS UCB Implementation Hints u Avoid calculations that explicitly involve the centers of the circular arcs, since these will go off to infinity, when the arcs become straight. u Calculate points along arc as an offset from end point B or C. Pi B C Linear steps, ti
CHS UCB Curve Construction Using Circles u Not affine invariant -- curves do not transform exactly as their control points (except for uniform scaling). u Avoids cusps, hairpin turns u Predisposed to produce (exact) circles u Well-behaved curves with local support l G 1 -continuous with linear blending l G 2 -continuous with trigonometric blending u Angle averaging is crucial when blending circles of widely differing radii.
CHS UCB Angle-Averaging and MVC u The nicest interpolating curves are produced by the globally optimal MVC (Minimum Variation Curve). u MVC tries to maintain constant curvature, because its penalty function is: u In a piecewise linear curve with equal-length line segments, all turning angles should be the same. u In the plane, the angle-averaged segment midpoint also averages the turning angle of the piece-wise linear control curve. u Conjecture: In the subdivision limit, angle-averaging approximates behavior of MVC (as far as is possible with only local support).
CHS UCB Subdivision vs. Iteration u SIGGRAPH’ 01: Subdivision Scheme Calculate segment midpoints only, recurse l No simple linear interpolating mask / matrix l Difficult to analyze continuity of result u TODAY: Iterated Scheme l Resulting Continuity is understood l Tangent direction, curvature at joints (B, C) does not change, is forced onto blend curve l One single scheme for 2 D, Sphere, 3 D, . . .
CHS UCB Conclusions Angle-Averaged Circles (C-Splines) are useful for making smooth shapes on a sphere, in the plane, and in 3 D.
CHS UCB Summary / Discussion Geometric Construction Using Circles: l Not affine invariant - curves do not transform exactly as their control points (except for uniform scaling). Advantages: l G 2 -continuous curves with local support l Avoids cusps, reduces overshoots l Predisposed to produce (exact) circles l Approximates MVC behavior Disadvantages: l Cannot use a simple linear interpolating mask / matrix l Difficult to analyze continuity of subdivision scheme (not a problem for the iterated approach!)
CHS UCB Justification for Angle-Averaging u Angle averaging looks so good, because it locally approximates a MVC (Minimum Variation Curve): u MVC tries to maintain constant curvature, because its penalty function is: u In a piecewise linear curve with equal-length line segments, all turning angles should be the same. u In the limit, angle-averaging approximates the behavior of the MVC.
CHS UCB Circle-Splines Summary u Useful as a design primitive. u Interpolate constraint points. u Produce nice, rounded shapes. u Approximate the Minimum Variation Curve (MVC) l yields fair, “natural”, “organic” shapes; l minimizes squared magnitude of derivative of curvature:
CHS UCB Trigonometric Angle Interpolation Linear sweep of angle, (& linear sweep of position): G-1 Continuity. (1 -t)*LEFT CIRCLE + t*RIGHT CIRCLE Trigonometric angle sweep, (& linear sweep of position): G-2 Continuity. cos 2(t)*LEFT CIRCLE + sin 2(t)*RIGHT CIRCLE
CHS UCB Various Interpolation Schemes Too sharp Cubic Polynomial Interpolation Too “loopy” Trigonom. Blended Circ. -Arcs Position Blended C-Spline “Just right” Angle Blended C-Spline
CHS UCB Blending With Intermediate Circles Left Circle thru: A, B, C. Right Circle thru: B, C, D. n equal-angle-spaced circles in between. Choose ith point on ith circle. B A S D C
CHS UCB Turning-Angle Averaging Find the point S SL on the bisector m that interpolates the turning angles m at SL and SR F F S lies on angle- S divider (SL C SR ). SR B A C D
CHS UCB Review: What is Subdivision? u Recursive l using splitting and averaging u Example: l scheme to create spline curves Chaikin’s Algorithm corner cutting algorithm ==> quadratic B-Spline subdivision
CHS UCB An Interpolating Subdivision Curve u 4 -point cubic interpolation in the plane: S = 9 B/16 + 9 C/16 – A/16 – D/16 S = M + (B – A)/16 + (C – D)/16 S B M C A D
CHS UCB Circle-Splines on the Sphere Use similar construction as in planar case: m S S C B 2 CIRCLES C-SPLINE CTRL. POLYG.
CHS UCB Difficulty with Angle-Averaging u On the sphere, in an extremely “loopy” arch, the angle in the control polygon goes to 180° (rather than 0°); u This invalidates the planar angle-averaging scheme. 180° S B C 180°
- Slides: 59