siggraph 2003, san diego

51
SIGGRAPH 2003, San Diego SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB

Upload: norman

Post on 15-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

SIGGRAPH 2003, San Diego. Fair and Robust Circle Splines. Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB. Motivation: Smooth Curves on a Sphere. “Grand Tour” camera movements to look inward towards an object. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SIGGRAPH 2003, San Diego

SIGGRAPH 2003, San DiegoSIGGRAPH 2003, San Diego

Fair and Robust Circle Splines

Carlo Séquin, EECS, UCB

Kiha Lee, ME, UCB

Page 2: SIGGRAPH 2003, San Diego

Motivation: Smooth Curves on a SphereMotivation: Smooth Curves on a Sphere “Grand Tour” camera movements

to look inward towards an object. Sculpture Design:

“Viae Globi” (Pathways on a Sphere)Sweep along a smooth curve on a sphere.

Page 3: SIGGRAPH 2003, San Diego

Concepts and GoalsConcepts and Goals

Sparse set of control points.

These get interpolated exactly.

All symmetries are maintained.

Produces round, pleasing looking curves.

If circles are possible, they will result.

Like MVC*, but only local support.

* MVC = Minimum (Curvature) Variation Curve

Smooth Interpolating Curves on Sphere:

Page 4: SIGGRAPH 2003, San Diego

Circle-Splines (“C-Splines”)Circle-Splines (“C-Splines”)

on the sphere,in 3D space,

in the plane,

One simple scheme: …

Page 5: SIGGRAPH 2003, San Diego

Circle Splines: in the Plane (0)Circle Splines: in the Plane (0)

Original data points and control polygon

Page 6: SIGGRAPH 2003, San Diego

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 7: SIGGRAPH 2003, San Diego

Circle Spline Construction (2)Circle Spline Construction (2)

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 8: SIGGRAPH 2003, San Diego

Circle Spline Construction (3)Circle Spline Construction (3)

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 9: SIGGRAPH 2003, San Diego

Circle Spline Construction (4)Circle Spline Construction (4)

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 10: SIGGRAPH 2003, San Diego

Local SupportLocal Support

STRAIGHT LINE STRAIGHT LINE

Pi

Pi–1Pi–2 Pi+2Pi+1

A

D

C

B

PURE CIRCLE

PURE CIRCLE

BLEND

Page 11: SIGGRAPH 2003, San Diego

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 12: SIGGRAPH 2003, San Diego

Circle Blending: Previous Art (1)Circle Blending: Previous Art (1)

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.

SLinearly weighted:[ Wenz, 1996 ]

Page 13: SIGGRAPH 2003, San Diego

Circle Blending: Previous Art (2)Circle Blending: Previous Art (2)

A

B

D

CS

0 STEP u 1

WEIGHT

Trigonometrically weighted: Wu = Lu cos2(u /2) + Ru sin2(u /2)

[ Szilvasi-Nagy & Vendel, 2000 ]

Curve clings to base circleG2-continuity @ B

STEP u

Page 14: SIGGRAPH 2003, San Diego

Circle Blending: Previous Art (3)Circle Blending: Previous Art (3)

Angle-based blending [ Séquin & Yen, 2001 ]

Subdivision technique (find mid-point only, and recurse)

Curves looked good

Could not formally prove continuity

2003: Sampled (Morph) Construction

Curves look even better!

Can formally prove G2-continuity

Can also obtain C2 with re-parameterization

Page 15: SIGGRAPH 2003, San Diego

Blending With Intermediate Blending With Intermediate CirclesCircles (1) (1)

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 16: SIGGRAPH 2003, San Diego

Blending With Intermediate Blending With Intermediate CirclesCircles (2) (2)

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 17: SIGGRAPH 2003, San Diego

Blending With Intermediate Blending With Intermediate CirclesCircles (3) (3)

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 18: SIGGRAPH 2003, San Diego

Blending With Intermediate Blending With Intermediate CirclesCircles (4) (4)

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 uth point on uth circle.

Draw a bundle of regularly spaced Tangent Vectors.

G1-continuity @ B, C

Page 19: SIGGRAPH 2003, San Diego

Trigonometric Angle Blending (1)Trigonometric Angle Blending (1)

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 u

ANGLE

Page 20: SIGGRAPH 2003, San Diego

Trigonometric Angle Blending (2)Trigonometric Angle Blending (2)

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 21: SIGGRAPH 2003, San Diego

Trigonometric Angle Blending (3)Trigonometric Angle Blending (3)

A

B 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 D

Page 22: SIGGRAPH 2003, San Diego

Various Interpolation SchemesVarious Interpolation Schemes

TrigonometricallyAngle-Blended

C-SplineNO CUSPS !

CubicPolynomialSubdivision

Too “loopy”

TrigonometricallyPosition-Blended

Circular Arcs ( Szilvasi-Nagi )

Too sharp “Just right”

Page 23: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes A simple control polygon

( Test case 2 )

Page 24: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes Cubic polynomial subdivision scheme

[ Butterfly, Loop, Zorin ]

Too sharp

EXTREMECURVATURE

Page 25: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes (Non-uniform) Lagrange Interpolation

Too sharp

EXTREMECURVATURE

Page 26: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes Linearly position-blended circular arcs

[ Wenz, 1996 ]

Too “loopy”

Page 27: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes Trigonometrically position-blended circular arcs

[ Szilvasi-Nagi and Vendel, 2000 ]

Too “loopy”

Page 28: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes Angle-blended C-splines: C0 / G2

[ Séquin - Lee, 2003 ]

“Just right”

Page 29: SIGGRAPH 2003, San Diego

Comparing Interpolation SchemesComparing Interpolation Schemes Angle-blended C-splines, reparameterized: C2 / G2

[ Séquin - Lee, 2003 ]

“Just right”

Page 30: SIGGRAPH 2003, San Diego

Comparing Circle-Blending SchemesComparing Circle-Blending Schemes

Positional interpolationSzilvasi-Nagy & Vendel, 2000

Angle-based parametrization (new)

u=0

u=1

D

A

B CB C

PARAMETERLINESINTERSECT

Page 31: SIGGRAPH 2003, San Diego

SA

DC

SL

SR

AB

Averaged circle,based on angles !

Linearly averaged point position.SP

Comparison of Location of Midpoint SComparison of Location of Midpoint S

Page 32: SIGGRAPH 2003, San Diego

SA

DC

SL

SR

AB

SP

Problem of Position AveragingProblem of Position Averaging

It would be difficult to reach tangent direction at C from mid-point SP

Page 33: SIGGRAPH 2003, San Diego

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 34: SIGGRAPH 2003, San Diego

Bounded CurvatureBounded Curvature For non-extreme control polygons,

the resulting curvature is bounded.

D CB

A179° SWITCHBACK @ B MAX. CURVATURE = 10

Page 35: SIGGRAPH 2003, San Diego

Circle-Splines Circle-Splines on the Sphereon the Sphere

Examples from a prototype editor program.

We only need one small conceptual change …

Page 36: SIGGRAPH 2003, San Diego

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

B, C, D Right Plane.

Intermediate planes / arcs at <lin./trig.> angle-steps.

A

P(u)

(u)

Page 37: SIGGRAPH 2003, San Diego

Discrete Sample Points on Swivel PlaneDiscrete Sample Points on Swivel Plane

C

DA

B

END VIEW SIDE VIEW

C

DA

B

“Trigonometric Swivel” for G2-continuity

Page 38: SIGGRAPH 2003, San Diego

Circle-Splines in 3D Free SpaceCircle-Splines in 3D Free Space

We want to have a seamless, unnoticeable transition from sphere to plane:

No “if” statements in the code associated with a check for planarity !

In 2001, we had a very cumbersome wayto bring spheres and planes under one hat.

Today, the 3D case and the spherical casenaturally turn out to be the same !

Page 39: SIGGRAPH 2003, San Diego

Circle-Splines in 3DCircle-Splines in 3D

A

B

D

C

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

Mirror Tangent Vectors for both circles at B and C.

Draw a bundle of suitably spaced Tangent Vectors.

Corresponding tangent pairs define intermediate arcs.

Two different planes

MIRROR

Page 40: SIGGRAPH 2003, San Diego

Circle-Splines on SphereCircle-Splines on Sphere

A

B

D

C

There is always at least one sphere through A, B, C, D.

Left Circle and Right Circle lie on that sphere;

The two tangent bundles are tangent to this sphere;

All intermediate arcs lie on sphere through A,B,C,D;

All generated points lie on sphere !

Tangent planes

MIRROR

Page 41: SIGGRAPH 2003, San Diego

A 3D Circle-Spline (Figure-8 Knot)A 3D Circle-Spline (Figure-8 Knot)

(Cross-eye stereo view)

Page 42: SIGGRAPH 2003, San Diego

Important Implementation IssuesImportant Implementation Issues

P(u)

Linear steps, t(u)

B C

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 (B,C)as an offset from end point B.

Page 43: SIGGRAPH 2003, San Diego

Parametric Representation of Blend CurveParametric Representation of Blend Curve

For: u = 0 1 t(u) = ti cos2(u p/2) + ti+1 sin2(u p/2)

(Trigonometric angle parametrization)

f(u) = d sin(u t(u)) / sin(t(u)) (u) = (1-u) t(u)

(Blend curve P(u) in polar coordinates)

Bf(u)

(u)C

P(u)t(u)

Page 44: SIGGRAPH 2003, San Diego

How to Find Arc Through 3 Data Points ?How to Find Arc Through 3 Data Points ?(We don’t really need arc, just need tangents!)(We don’t really need arc, just need tangents!)

B

a

C

Ac

b

Do not try to find center, radius !

Page 45: SIGGRAPH 2003, San Diego

Key InsightsKey Insights The typical polynomial spline

blends between the straight-line segments of the control polygon.

Circle splines start with an overlapping sequence of circular arc segmentsand then blend between those.

The relevant parameter in this contextare ( turning / tangent ) angles.

Page 46: SIGGRAPH 2003, San Diego

Why This WorksWhy This Works

We want to emulate a (loopy) MVC.

The ideal MVC result is a circle.

If you want to see circles, start with circles !

Affine invariance dimensional collapse.

Circles always consider problem in a 2D way, giving equal weight to both coordinate axes.

Page 47: SIGGRAPH 2003, San Diego

CaveatCaveat These curves are not MVC’s !

While they are G2 (C2) continuous, theymay possess unnecessary undulations.

A local scheme cannot compete with a global scheme !

BAD TANGENT

UNNECESSARY INFLECTION POINTS

Page 48: SIGGRAPH 2003, San Diego

ExtensionsExtensions

Extend range of local support to >3 points.

Better approximation to MVC: Cornu spiral or clothoid (curvature is linear with arc length).

In 3D also consider a helix as a primitive.

Issues are : How to find robustly and efficiently

the (unique?) matching primitives ?

How to blend them ?

Page 49: SIGGRAPH 2003, San Diego

An “Evolutionary” Process…An “Evolutionary” Process…

From rulers…

Polynomial splines with their linear interpolation

are reminiscent of straight edge rulers…

Page 50: SIGGRAPH 2003, San Diego

An Evolutionary Process…An Evolutionary Process…

From rulers…

to compasses…

Circle splines capture the power of compasses…

Page 51: SIGGRAPH 2003, San Diego

An Evolutionary Process…An Evolutionary Process…

From rulers…

to compasses…

to French Curves !

QUESTIONSQUESTIONS ??