590 likes | 773 Views
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.
E N D
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)
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.
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.
Inspiration: Brent Collins’ “Pax Mundi”a sweep path on a sphere
How Do You Design these Things ? • Marker pen on tennis ball ?
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 ?
Circle-Splines (C-Splines) in the plane. on the sphere. in 3D space.
Circle Splines: in the Plane (1) Original data points and control polygon
B D A C Circle Spline Construction (1) Original data points and control polygon Focus on 4 consecutive points: A, B, C, D
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
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
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
Qualitative Results (1) Z B Original data points PURE CIRCLE D A C BLEND PURE CIRCLE O
Qualitative Results (2) STRAIGHT LINE C BLEND Original data points STRAIGHT LINE
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
How to do the Blending ? Left Circle thru: A, B, C; Right Circle thru: B, C, D. D B C A
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
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
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
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
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
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
A Bad Case … • Cusp ! Trigonometrically blended circular arcs:
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
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
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
New Midpoint S Comparison SL Linearly averaged point positions SP Averaged circle,based on angles ! SA SR C B D A
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
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
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
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.
Subdivision Schemes (SIGGRAPH’01) 1 step 5 steps Too “loopy” Angle-Averaged C-Spline CubicPolynomialInterpolation Position-AveragedCircles ( Wenz )
Various Interpolation Schemes Too sharp Too “loopy” “Just right” CubicPolynomialInterpolation TrigonometricallyPosition-BlendedCircular Arcs ( Szilvasi-Nagi ) TrigonometricallyAngle-Blended C-Spline NO CUSPS !
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.
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.
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
Circle-Splines on the Sphere Examples from a prototype editor program
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.
“Via Globi” -- Virtual Design Wilmin Martono
“Viae Globi” FDM Maquettes (8” tall) “Maloja” “Altamont” “Lombard”
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
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
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
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.
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).
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, ...
Conclusions Angle-Averaged Circles (C-Splines)are useful for making smooth shapes on a sphere, in the plane, and in 3D. QUESTIONS ?
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!)
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.