SIAM 2001, Sacramento, CA

Post on 20-Jan-2016

27 views 0 download

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

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)

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.

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.

CHSCHSUCBUCB

Inspiration: Inspiration:

Brent Collins’ Brent Collins’

“Pax Mundi”“Pax Mundi”

a sweep path a sweep path on a sphereon a sphere

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

Marker pen on tennis ball ?

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 ?

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

on the sphere.

in 3D space.

in the plane.

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

Original data points and control polygon

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

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

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

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

CHSCHSUCBUCB Qualitative Results (1)Qualitative Results (1)

A

D

C

B

Original data points

PURE CIRCLE

PURE CIRCLE

BLEND

Z

O

CHSCHSUCBUCB Qualitative Results (2)Qualitative Results (2)

Original data points

STRAIGHT LINE

STRAIGHT LINE

BLEND C

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

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.

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.

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.

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.

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.

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

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

CHSCHSUCBUCB A Bad Case …A Bad Case …

Cusp !

Trigonometrically blended circular arcs:

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

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.

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

CHSCHSUCBUCB

SA

New Midpoint SNew Midpoint S

DC

SL

SR

AB

Averaged circle,based on angles !

Linearly averaged point positionsSP

ComparisonComparison

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

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.

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

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.

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

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”

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.

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.

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:

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

Examples from a prototype editor program

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.

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

Wilmin Martono

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

“Maloja” “Altamont” “Lombard”

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

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

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

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.

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)(

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, ...

CHSCHSUCBUCB ConclusionsConclusions

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

CHSCHSUCBUCB

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

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!)

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)(

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)(

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

CHSCHSUCBUCB Various Interpolation SchemesVarious Interpolation Schemes

AngleBlended C-Spline

CubicPolynomial

Interpolation

PositionBlendedC-Spline

Too “loopy”

Trigonom.Blended

Circ.-Arcs

Too sharp “Just right”

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

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

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

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

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

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