1 / 59

590 likes | 762 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.

Download Presentation
## SIAM 2001, Sacramento, CA

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

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.

More Related