Transcript PPT

CHS
UCB
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)
CHS
UCB
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.
CHS
UCB
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.
CHS
UCB
Inspiration:
Brent Collins’
“Pax Mundi”
a sweep path
on a sphere
CHS
UCB
How Do You Design these Things ?

Marker pen on tennis ball ?
CHS
UCB
Brent Collins: Carved Wood Master
Create hollow sphere
by lamination (30” diam).
Draw path on sphere.
Carve a thick band.
Profile the band.
Sand and polish.
 Takes 3-4 months.
Visualization ?
Prototyping ?
CHS
UCB
Circle-Splines (C-Splines)
in the plane.
on the sphere.
in 3D space.
CHS
UCB
Circle Splines: in the Plane (1)
Original data points and control polygon
CHS
UCB
Circle Spline Construction (1)
Original data points and control polygon
Focus on 4 consecutive points: A, B, C, D
B
D
A
C
CHS
UCB
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
CHS
UCB
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
CHS
UCB
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
BLEND CURVE between B and C
CHS
UCB
Qualitative Results (1)
Z
Original data points
PURE CIRCLE
B
D
A
PURE CIRCLE
O
BLEND
C
CHS
UCB
Qualitative Results (2)
STRAIGHT LINE
Original data points
BLEND
STRAIGHT LINE
C
CHS
UCB
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
CHS
UCB
How to do the Blending ?
Left Circle thru: A, B, C; Right Circle thru: B, C, D.
D
B
A
C
CHS
UCB
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
A
C
CHS
UCB
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
A
C
CHS
UCB
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
A
C
CHS
UCB
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.
Make n equal segments on each arc and
D
choose ith point on ith circle.
B
S
A
C
CHS
UCB
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
A
S
CHS
UCB
Previous Work with Circles
i
0
n

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 !!
CHS
UCB
A Bad Case …
Trigonometrically blended circular arcs:
 Cusp
!
CHS
UCB
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
A
C
STEP i
CHS
UCB
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
A
C
CHS
UCB
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.
Blend curve “hugs” initial circles longer: --> G2
B
S
A
D
C
CHS
UCB
Comparison
SL
New Midpoint S
SP
SA
Linearly averaged
point positions
Averaged circle,
based on angles !
SR
B
C
A
D
CHS
UCB
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
B
A
SR
C
D
CHS
UCB
Angle Iteration in the Plane
SL
Linearly vary the
angles defining the
intermediate arcs.
Linearly vary the
arc-length position
along arc i.
S1
 Segment picks up
the tangents from the
circles at both ends.
S2
 G-1 Continuity.
S3
B
A
SR
C
D
CHS
UCB
Problem of Position Averaging
SL
It would be difficult
to reach tangent
direction at C
from mid point SP
SP
S1
 Segment picks up
the tangents from the
circles at both ends.
S2
 G-1 Continuity.
S3
B
A
SR
C
D
CHS
UCB
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.
CHS
UCB
Subdivision Schemes
(SIGGRAPH’01)
1 step
5 steps
Too “loopy”
AngleAveraged
C-Spline
Cubic
Polynomial
Interpolation
PositionAveraged
Circles ( Wenz )
CHS
UCB
Various Interpolation Schemes
Too sharp
Too “loopy”
“Just right”
Cubic
Polynomial
Interpolation
Trigonometrically
Position-Blended
Circular Arcs
( Szilvasi-Nagi )
Trigonometrically
Angle-Blended
C-Spline
NO CUSPS !
CHS
UCB
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.
CHS
UCB
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.
CHS
UCB
Finding a New Mid-point S
SPHERE:
SIDE VIEW
Find SL and SR, on sphere,
then find S by halving
the angle between them:
 S is closer to SR.
PLANE:
In the plane we find S
by halving angle (SL C SR)
and intersecting with line m
TOP VIEW
CHS
UCB
Circle-Splines on the Sphere
Examples from a prototype editor program
CHS
UCB
CAD -- from Concept to Prototype !

Make nice curvy paths on
the surface of a sphere:
 Circle-splines (C-splines).

Sweep various cross sections
along these spherical paths:
 SLIDE (Jordan Smith, Berkeley).

Fabricate the resulting surfaces:
 Send B-rep to FDM machine.
CHS
UCB
“Via Globi” -- Virtual Design
Wilmin Martono
CHS
UCB
“Viae Globi” FDM Maquettes (8” tall)
“Maloja”
“Altamont”
“Lombard”
CHS
UCB
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 …
D
Also works in 3D !
MIRROR
B
C
Two different planes
A
CHS
UCB
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!
MIRROR
D
B
C
Two different planes
A
CHS
UCB
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.
Pi
B
C
Linear steps, ti
CHS
UCB
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.
CHS
UCB
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:

 (d
2
ds) ds

In a piecewise linear curve
with 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).
CHS
UCB
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, ...
CHS
UCB
Conclusions
Angle-Averaged Circles (C-Splines)
are useful for making smooth shapes
on a sphere, in the plane, and in 3D.
CHS
UCB
========= SPARE =========
=========================
CHS
UCB
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!)
CHS
UCB
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: (d ds) 2 ds

 In
a piecewise linear curve
with equal-length line segments,
all turning angles should be the same.
 In
the limit, angle-averaging
approximates the behavior of the MVC.
CHS
UCB
Circle-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:

2
(
d

ds
)
ds

CHS
UCB
Trigonometric Angle Interpolation
Linear sweep of angle,
(& linear sweep of position):
 G-1 Continuity.
(1-t)*LEFT CIRCLE + t*RIGHT CIRCLE
Trigonometric angle sweep,
(& linear sweep of position):
 G-2 Continuity.
cos2(t)*LEFT CIRCLE + sin2(t)*RIGHT CIRCLE
CHS
UCB
Various Interpolation Schemes
Too sharp
Cubic
Polynomial
Interpolation
Too “loopy”
Trigonom.
Blended
Circ.-Arcs
Position
Blended
C-Spline
“Just right”
Angle
Blended
C-Spline
CHS
UCB

Blending With Intermediate Circles
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.
B
S
A
D
C
CHS
UCB
Turning-Angle Averaging
Find the point S
SL
on the bisector m
that interpolates
the turning angles
m
at SL and SR
F
F
 S lies on angle-
S
divider (SL C SR ).
SR
B
A
C
D
CHS
UCB
Review: What is Subdivision?
 Recursive

using splitting and averaging
 Example:

scheme to create spline curves
Chaikin’s Algorithm
corner cutting algorithm ==> quadratic B-Spline
subdivision
subdivision
CHS
UCB
An 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
S
B
M
C
A
D
CHS
UCB
Circle-Splines on the Sphere
 Use similar construction as in planar case:
m
S
S
C
B
C
B
2 CIRCLES
C-SPLINE
CTRL. POLYG.
CHS
UCB
Difficulty with Angle-Averaging

On the sphere,
in an extremely
“loopy” arch,
the angle in the
control polygon
goes to 180°
(rather than 0°);

This invalidates
the planar
angle-averaging
scheme.
 180°
S
B
C
 180°