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°