View
27
Download
0
Category
Preview:
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
Citation preview
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
Recommended