Download presentation
Presentation is loading. Please wait.
1
SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB
2
Motivation: Smooth Curves on a Sphere u “Grand Tour” camera movements to look inward towards an object. u Sculpture Design: “Viae Globi” (Pathways on a Sphere) Sweep along a smooth curve on a sphere.
3
Concepts and Goals u Sparse set of control points. u These get interpolated exactly. u All symmetries are maintained. u Produces round, pleasing looking curves. u If circles are possible, they will result. u Like MVC*, but only local support. * MVC = Minimum (Curvature) Variation Curve Smooth Interpolating Curves on Sphere:
4
Circle-Splines (“C-Splines”) on the sphere, in 3D space, in the plane, One simple scheme: …
5
Circle Splines: in the Plane (0) Original data points and control polygon
6
Circle Spline Construction (1) Original data points and control polygon A D C B Focus on 4 consecutive points: A, B, C, D
7
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
8
Circle Spline Construction (3) Original data points and control polygon LEFT CIRCLE thru A, B, C RIGHT CIRCLE thru B, C, D A D C B Focus on 4 consecutive points: A, B, C, D
9
Circle Spline Construction (4) Original data points and control polygon LEFT CIRCLE thru A, B, C RIGHT CIRCLE thru B, C, D BLEND CURVE between B and C A D C B Focus on 4 consecutive points: A, B, C, D
10
Local Support STRAIGHT LINE PiPi Pi–1Pi–1 Pi–2Pi–2 P i+2 P i+1 A D C B PURE CIRCLE BLEND
11
How to do the Blending ? A B D C Left Circle thru: A, B, C; Right Circle thru: B, C, D. ?
12
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. S Linearly weighted: [ Wenz, 1996 ]
13
Circle Blending: Previous Art (2) A B D C S 0 STEP u 1 WEIGHT Trigonometrically weighted: W u = L u cos 2 (u /2) + R u sin 2 (u /2) [ Szilvasi-Nagy & Vendel, 2000 ] Curve clings to base circle G 2 -continuity @ B STEP u
14
Circle Blending: Previous Art (3) u Angle-based blending [ Séquin & Yen, 2001 ] l Subdivision technique (find mid-point only, and recurse) l Curves looked good l Could not formally prove continuity u 2003: Sampled (Morph) Construction l Curves look even better! l Can formally prove G 2 -continuity l Can also obtain C 2 with re-parameterization
15
Blending With Intermediate Circles (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.
16
Blending With Intermediate Circles (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.
17
Blending With Intermediate Circles (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.
18
Blending With Intermediate Circles (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 and choose u th point on u th circle. Draw a bundle of regularly spaced Tangent Vectors. G 1 -continuity @ B, C
19
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
20
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.
21
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: G 2 D
22
Various Interpolation Schemes Trigonometrically Angle-Blended C-Spline NO CUSPS ! Cubic Polynomial Subdivision Too “loopy” Trigonometrically Position-Blended Circular Arcs ( Szilvasi-Nagi ) Too sharp“Just right”
23
Comparing Interpolation Schemes u A simple control polygon ( Test case 2 )
24
Comparing Interpolation Schemes u Cubic polynomial subdivision scheme [ Butterfly, Loop, Zorin ] Too sharp EXTREME CURVATURE
25
Comparing Interpolation Schemes u (Non-uniform) Lagrange Interpolation Too sharp EXTREME CURVATURE
26
Comparing Interpolation Schemes u Linearly position-blended circular arcs [ Wenz, 1996 ] Too “loopy”
27
Comparing Interpolation Schemes u Trigonometrically position-blended circular arcs [ Szilvasi-Nagi and Vendel, 2000 ] Too “loopy”
28
Comparing Interpolation Schemes u Angle-blended C-splines: C0 / G2 [ Séquin - Lee, 2003 ] “Just right”
29
Comparing Interpolation Schemes u Angle-blended C-splines, reparameterized: C2 / G2 [ Séquin - Lee, 2003 ] “Just right”
30
Comparing Circle-Blending Schemes Positional interpolation Szilvasi-Nagy & Vendel, 2000 Angle-based parametrization (new) u=0 u=1 D A B C BC PARAMETER LINES INTERSECT
31
SASA D C SLSL SRSR A B Averaged circle, based on angles ! Linearly averaged point position. SPSP Comparison of Location of Midpoint S
32
SASA D C SLSL SRSR A B SPSP Problem of Position Averaging It would be difficult to reach tangent direction at C from mid-point S P
33
Key Points about Circle Splines Going from Polynomial Splines to Blended Circles: u Give up affine invariance u Give up linear precision Avoid cusps and hair-pin turns Get nicely rounded, loopy curves Approximate the behavior of the MVC
34
Bounded Curvature u For non-extreme control polygons, the resulting curvature is bounded. D C B A 179° SWITCHBACK @ B MAX. CURVATURE = 10
35
Circle-Splines on the Sphere Examples from a prototype editor program. We only need one small conceptual change …
36
Concept: 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 angle-steps. A P(u) (u)
37
Discrete Sample Points on Swivel Plane C D A B END VIEW SIDE VIEW C D A B “Trigonometric Swivel” for G 2 -continuity
38
Circle-Splines in 3D Free Space u We want to have a seamless, unnoticeable transition from sphere to plane: No “if” statements in the code associated with a check for planarity ! u In 2001, we had a very cumbersome way to bring spheres and planes under one hat. u Today, the 3D case and the spherical case naturally turn out to be the same !
39
Circle-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
40
Circle-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
41
A 3D Circle-Spline (Figure-8 Knot) (Cross-eye stereo view)
42
Important Implementation Issues P(u) Linear steps, t(u) B C u Avoid calculations that explicitly involve the centers of the circular arcs, since these will go off to infinity, when the arcs become straight. u Calculate points along arc (B,C) as an offset from end point B.
43
Parametric Representation of Blend Curve For: u = 0 1 u t(u) = t i cos 2 (u p/2) + t i+1 sin 2 (u p/2) (Trigonometric angle parametrization) u f(u) = d sin(u t(u)) / sin(t(u)) (u) = (1-u) t(u) (Blend curve P(u) in polar coordinates) B f(u) (u) C P(u) t(u)
44
How to Find Arc Through 3 Data Points ? (We don’t really need arc, just need tangents!) B a C A c b u Do not try to find center, radius !
45
Key Insights u The typical polynomial spline blends between the straight-line segments of the control polygon. u Circle splines start with an overlapping sequence of circular arc segments and then blend between those. u The relevant parameter in this context are ( turning / tangent ) angles.
46
Why This Works u We want to emulate a (loopy) MVC. u The ideal MVC result is a circle. If you want to see circles, start with circles ! u Affine invariance dimensional collapse. u Circles always consider problem in a 2D way, giving equal weight to both coordinate axes.
47
Caveat u These curves are not MVC’s ! u While they are G2 (C2) continuous, they may possess unnecessary undulations. A local scheme cannot compete with a global scheme ! BAD TANGENT UNNECESSARY INFLECTION POINTS
48
Extensions u Extend range of local support to >3 points. u Better approximation to MVC: Cornu spiral or clothoid (curvature is linear with arc length). u In 3D also consider a helix as a primitive. Issues are : u How to find robustly and efficiently the (unique?) matching primitives ? u How to blend them ?
49
An “Evolutionary” Process… u From rulers… Polynomial splines with their linear interpolation are reminiscent of straight edge rulers…
50
An Evolutionary Process… u From rulers… u to compasses… Circle splines capture the power of compasses…
51
An Evolutionary Process… u From rulers… u to compasses… u to French Curves ! QUESTIONS ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.