SIAM 2001, Sacramento, CA

59
CHS CHS UCB UCB 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)

description

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. - PowerPoint PPT Presentation

Transcript of SIAM 2001, Sacramento, CA

Page 1: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB SIAM 2001, Sacramento, CASIAM 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)

Page 2: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Concepts and GoalsConcepts 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.

Page 3: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Applications on the SphereApplications 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.

Page 4: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB

Inspiration: Inspiration:

Brent Collins’ Brent Collins’

“Pax Mundi”“Pax Mundi”

a sweep path a sweep path on a sphereon a sphere

Page 5: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB How Do You Design these Things ?How Do You Design these Things ?

Marker pen on tennis ball ?

Page 6: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Brent Collins: Carved Wood MasterBrent 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 ?

Page 7: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle-Splines (C-Splines)Circle-Splines (C-Splines)

on the sphere.

in 3D space.

in the plane.

Page 8: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Splines: in the Plane (1)Circle Splines: in the Plane (1)

Original data points and control polygon

Page 9: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Spline Construction (1)Circle Spline Construction (1)

Original data points and control polygon

A

D

C

B

Focus on 4 consecutive points: A, B, C, D

Page 10: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Spline Construction (1)Circle Spline Construction (1)

Original data points and control polygon

LEFT CIRCLE thru A, B, C

A

D

C

B

Focus on 4 consecutive points: A, B, C, D

Page 11: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Spline Construction (1)Circle Spline Construction (1)

Original data points and control polygon

LEFT CIRCLE thru A, B, CRIGHT CIRCLE thru B, C, D

A

D

C

B

Focus on 4 consecutive points: A, B, C, D

Page 12: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Spline Construction (1)Circle Spline Construction (1)

Original data points and control polygon

LEFT CIRCLE thru A, B, CRIGHT CIRCLE thru B, C, D

BLEND CURVE between B and C

A

D

C

B

Focus on 4 consecutive points: A, B, C, D

Page 13: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Qualitative Results (1)Qualitative Results (1)

A

D

C

B

Original data points

PURE CIRCLE

PURE CIRCLE

BLEND

Z

O

Page 14: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Qualitative Results (2)Qualitative Results (2)

Original data points

STRAIGHT LINE

STRAIGHT LINE

BLEND C

Page 15: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Key Points about Circle SplinesKey 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

Page 16: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB How to do the Blending ?How to do the Blending ?

A

B

D

C

Left Circle thru: A, B, C; Right Circle thru: B, C, D.

Page 17: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Blending With Intermediate CirclesBlending With Intermediate Circles

A

B

D

C

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

Page 18: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Blending With Intermediate CirclesBlending With Intermediate Circles

A

B

D

C

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.

Page 19: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Blending With Intermediate CirclesBlending With Intermediate Circles

A

B

D

C

Left Circle thru: A, B, C; Right Circle thru: B, C, D.

Draw n equal-angle-spaced Circles from B to C.

Draw Tangent Vectors for both circles at B and C.Draw a bundle of regularly spaced Tangent Vectors.

Page 20: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Blending With Intermediate CirclesBlending With Intermediate Circles

A

B

D

C

Left Circle thru: A, B, C; Right Circle thru: B, C, D.

S

Draw n equal-angle-spaced Circles from B to C.

Draw Tangent Vectors for both circles at B and C.

Make n equal segments on each arc andchoose ith point on ith circle.

Draw a bundle of regularly spaced Tangent Vectors.

Page 21: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Blending: Previous ArtCircle Blending: Previous Art

A

B

D

C

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.

S

Page 22: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Previous Work with CirclesPrevious 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 !!

0

i

n

Page 23: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB A Bad Case …A Bad Case …

Cusp !

Trigonometrically blended circular arcs:

Page 24: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Trigonometric Angle BlendingTrigonometric Angle Blending

A

B

D

C

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.

STEP i

ANGLE

Page 25: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Trigonometric Angle BlendingTrigonometric Angle Blending

A

B

D

C

Left Circle thru: A, B, C; Right Circle thru: B, C, D.

Draw n trigonometrically-spaced Circles from B to C.

Draw Tangent Vectors for both circles at B and C.Draw a bundle of trigonometrically spaced Tangents.

Page 26: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Trigonometric Angle BlendingTrigonometric Angle Blending

A

B

D

C

Left Circle thru: A, B, C; Right Circle thru: B, C, D.

Draw n trigonometrically-spaced Circles from B to C.

Draw Tangent Vectors for both circles at B and C.Draw a bundle of trigonometrically spaced Tangents.

S

Blend curve “hugs” initial circles longer: --> G2

Page 27: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB

SA

New Midpoint SNew Midpoint S

DC

SL

SR

AB

Averaged circle,based on angles !

Linearly averaged point positionsSP

ComparisonComparison

Page 28: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Angle Iteration in the PlaneAngle Iteration in the Plane

C

SL

B DA

S2

SR

S3

Linearly vary the angles defining the intermediate arcs.

Linearly vary the arc-length position along arc i.

S1

Page 29: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Angle Iteration in the PlaneAngle Iteration in the Plane

C

SL

B DA

S2

SR

S3

S1

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.

Page 30: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Problem of Position AveragingProblem of Position Averaging

C

SL

B DA

S2

SR

S3

S1

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

Page 31: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Use of Angle-based ApproachUse 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.

Page 32: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Subdivision Schemes Subdivision Schemes (SIGGRAPH’01)(SIGGRAPH’01)

Angle-Averaged C-Spline

CubicPolynomial

Interpolation

Position-Averaged

Circles ( Wenz )

Too “loopy”

1 step

5 steps

Page 33: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Various Interpolation SchemesVarious Interpolation Schemes

TrigonometricallyAngle-Blended

C-SplineNO CUSPS !

CubicPolynomial

Interpolation

Too “loopy”

TrigonometricallyPosition-Blended

Circular Arcs ( Szilvasi-Nagi )

Too sharp “Just right”

Page 34: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Smooth Curves on the SphereSmooth 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.

Page 35: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Concept: Swivel Planes thru B,CConcept: 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.

Page 36: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Finding a New Mid-point SFinding a New Mid-point S

In the plane we find Sby halving angle (SL C SR) and intersecting with line m

Find SL and SR, on sphere, then find S by halvingthe angle between them: S is closer to SR.

TOP VIEW

SPHERE:SIDE VIEW

PLANE:

Page 37: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle-Splines on the SphereCircle-Splines on the Sphere

Examples from a prototype editor program

Page 38: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB CAD -- from Concept to Prototype !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.

Page 39: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB ““Via Globi” -- Virtual DesignVia Globi” -- Virtual Design

Wilmin Martono

Page 40: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB ““Viae Globi” FDM Maquettes (8” tall)Viae Globi” FDM Maquettes (8” tall)

“Maloja” “Altamont” “Lombard”

Page 41: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle Splines in 3DCircle Splines in 3D

A

B

D

C

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 !

Two different planes

MIRROR

Page 42: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB

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!

Further GeneralizationFurther Generalization

A

B

D

C

Left Tangent at: B; Right Tangent at: C;With any suitable method (e.g., weighted avrg.)

Two different planes

MIRROR

Page 43: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Implementation HintsImplementation 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.

CB

Pi

Linear steps, ti

Page 44: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Curve Construction Using CirclesCurve 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.

Page 45: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Angle-Averaging and MVCAngle-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).

dsdsd 2)(

Page 46: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Subdivision vs. IterationSubdivision 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, ...

Page 47: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB ConclusionsConclusions

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

Page 48: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB

========= SPARE ========= ========= SPARE ========= ==================================================

Page 49: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Summary / DiscussionSummary / 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!)

Page 50: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Justification for Angle-AveragingJustification 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.

dsdsd 2)(

Page 51: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle-Splines SummaryCircle-Splines Summary

Useful as a design primitive.

Interpolate constraint points.

Produce nice, rounded shapes.

Approximate the Minimum Variation Curve (MVC) yields fair, “natural”, “organic” shapes;

minimizes squared magnitude of derivative of curvature:

dsdsd 2)(

Page 52: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Trigonometric Angle InterpolationTrigonometric Angle Interpolation

Linear sweep of angle,(& linear sweep of position):

G-1 Continuity.

Trigonometric angle sweep, (& linear sweep of position):

G-2 Continuity.

(1-t)*LEFT CIRCLE + t*RIGHT CIRCLE

cos2(t)*LEFT CIRCLE + sin2(t)*RIGHT CIRCLE

Page 53: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Various Interpolation SchemesVarious Interpolation Schemes

AngleBlended C-Spline

CubicPolynomial

Interpolation

PositionBlendedC-Spline

Too “loopy”

Trigonom.Blended

Circ.-Arcs

Too sharp “Just right”

Page 54: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Blending With Intermediate CirclesBlending With Intermediate Circles

A

B

D

C

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.

S

Page 55: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Turning-Angle AveragingTurning-Angle Averaging

Find the point S

on the bisector m

that interpolates

the turning angles

at SL and SR

S lies on angle-

divider (SL C SR ).

C

SL

SR

B DA

S

m

Page 56: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Review: What is Subdivision?Review: What is Subdivision?

Recursive scheme to create spline curves using splitting and averaging

Example: Chaikin’s Algorithm corner cutting algorithm ==> quadratic B-Spline

subdivisionsubdivision

Page 57: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB An Interpolating Subdivision CurveAn Interpolating Subdivision Curve

4-point cubic interpolation in the plane:

S = 9B/16 + 9C/16 – A/16 – D/16 S = M + (B – A)/16 + (C – D)/16

A

B

D

CM

S

Page 58: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Circle-Splines on the SphereCircle-Splines on the Sphere

Use similar construction as in planar case:

CTRL. POLYG.

2 CIRCLES C-SPLINE

m

S S

B C B C

Page 59: SIAM 2001, Sacramento, CA

CHSCHSUCBUCB Difficulty with Angle-AveragingDifficulty with Angle-Averaging

On the sphere,in an extremely “loopy” arch, the angle in thecontrol polygon goes to 180° (rather than 0°);

This invalidates the planar angle-averaging scheme.

180°

180°B

S

C