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)

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
Computer graphics & visualization Key frame Interpolation.
1 SIGGRAPH 2004, Los Angeles Carlo H. Séquin and Ling Xiao EECS Computer Science Division University of California, Berkeley Fair LVC Curves on Subdivision.
Operators in CAD Systems
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Inspiration: Brent Collins’ “Pax Mundi” a sweep path on a sphere.
Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16.
CS 284 Minimum Variation Surfaces Carlo H. Séquin EECS Computer Science Division University of California, Berkeley.
Offset of curves. Alina Shaikhet (CS, Technion)
CHS UCB BID 02/02/02 Parameterized Sculpture Design Carlo H. Séquin University of California, Berkeley.
ISIS Symmetry Congress 2001
SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Normal based subdivision scheme for curve and surface design 杨勋年
Carlo H. Séquin u (Descriptive) Geometry – my love since high school.
CHS UCB CS285 Designing Viae Globi (Roads on a Sphere) Carlo H. Séquin University of California, Berkeley Inspired by Brent Collins Gower, Missouri.
Cubic Bezier and B-Spline Curves
CS285 Designing Viae Globi (Roads on a Sphere) Carlo H. Séquin University of California, Berkeley Inspired by Brent Collins Gower, Missouri.
M+D 2001, Geelong, July 2001 “Viae Globi” Pathways on a Sphere Carlo H. Séquin University of California, Berkeley.
Some Remarks on Subdivision Curves A B D C S S S u Find new intermediate points S that lie on the implied curve.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
CS Subdivision I: The Univariate Setting Peter Schröder.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
BID Lab Opening, May 14, Design, Technology, and the Human Experience (the positive side) Carlo H. Séquin Computer Science Division.
CS285 Designing Viae Globi (Roads on a Sphere) Carlo H. Séquin University of California, Berkeley Inspired by Brent Collins Gower, Missouri.
3-D Modeling Concepts V part 2.
Splines III – Bézier Curves
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
2010 Asian Conference on Design & Digital Engineering Fairing spline curves: a thorough and precise criteria and practical algorithm Xiaoguang Han, Ligang.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
V. Space Curves Types of curves Explicit Implicit Parametric.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Controlling a Virtual Camera Ross Ptacek University of Alabama Birmingham.
URAP, September 16, 2013 Carlo H. Séquin University of California, Berkeley The Beauty of Knots.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Lee Byung-Gook Dongseo Univ.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
11/26/02(C) University of Wisconsin Last Time BSplines.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
1 대상물체의 형상화를 위해 사용되는 기술  인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
Introduction to Parametric Curve and Surface Modeling.
CS 445 / 645 Introduction to Computer Graphics
Advanced Computer Graphics
Advanced Computer Graphics: Parametric Curves and Surfaces
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Introduction to Parametric Curve and Surface Modeling
University of California, Berkeley
Presentation transcript:

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: u Design needs only a few control points. u These get interpolated exactly. u All symmetries are maintained. u Produces pleasing looking curves. u But only local support (4 control points). u If circles are possible, they will result. 

Applications on the Sphere “Grand Tour” camera movements to look inward on an object. Sculpture Design: “Viae Globi” (Pathways on a Sphere). u Sweep a suitable cross section along a smooth curve on a sphere.

Inspiration: Brent Collins’ “Pax Mundi” a sweep path on a sphere

How Do You Design these Things ? u Marker pen on tennis ball ?

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 ?

Circle-Splines (C-Splines) on the sphere. in 3D space. in the plane.

Circle Splines: in the Plane (1) Original data points and control polygon

Circle Spline Construction (1) Original data points and control polygon A D C B Focus on 4 consecutive points: A, B, C, D

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

Circle Spline Construction (1) 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

Circle Spline Construction (1) 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

Qualitative Results (1) A D C B Original data points PURE CIRCLE BLEND Z O

Qualitative Results (2) Original data points STRAIGHT LINE BLEND C

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 

How to do the Blending ? A B D C Left Circle thru: A, B, C; Right Circle thru: B, C, D.

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

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

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

Blending 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 and choose i th point on i th circle. Draw a bundle of regularly spaced Tangent Vectors.

Circle 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

Previous Work with Circles u 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. u M. Szilvasi-Nagi & T.P. Vendel (CAGD 2000) “Generating curves and swept surfaces by blended circles.” Trigonometrical blend: L(i) *cos 2 (i) + R(i) *sin 2 (i)  G-2 Continuity at B, C. But Cusps are still possible !! 0 i n

A Bad Case … u Cusp !  Trigonometrically blended circular arcs:

Trigonometric 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

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

Trigonometric 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

SASA New Midpoint S D C SLSL SRSR A B Averaged circle, based on angles ! Linearly averaged point positions SPSP Comparison

Angle Iteration in the Plane C SLSL BDA S2S2 SRSR S3S3 Linearly vary the angles defining the intermediate arcs. Linearly vary the arc-length position along arc i. S1S1

Angle Iteration in the Plane C SLSL BDA S2S2 SRSR S3S3 S1S1 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.

Problem of Position Averaging C SLSL BDA S2S2 SRSR S3S3 S1S1 It would be difficult to reach tangent direction at C from mid point S P  Segment picks up the tangents from the circles at both ends.  G-1 Continuity. SPSP

Use of Angle-based Approach u Subdivision Technique (Siggraph’01 Sketch) l Find new midpoints for all segments; l Double the number of control points; l Recurse. u Iterative (Sweep) Technique l Calculate n intermediate circles (based on angle division); l Calculate i-th point along arc i.

Subdivision Schemes (SIGGRAPH’01) Angle- Averaged C-Spline Cubic Polynomial Interpolation Position- Averaged Circles ( Wenz ) Too “loopy” 1 step 5 steps

Various Interpolation Schemes Trigonometrically Angle-Blended C-Spline NO CUSPS ! Cubic Polynomial Interpolation Too “loopy” Trigonometrically Position-Blended Circular Arcs ( Szilvasi-Nagi ) Too sharp“Just right”

Smooth Curves on the Sphere u Avoid Euler Angles ! (use quat. / pure geom.) u Iterative Spline Constructions l 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! u Quaternion Splines l Refs: Shoemake 1985, Kim et al Good results on continuity. – Non-commutativity  No front-to-back symmetry.

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 angle-steps.

Finding a New Mid-point S In the plane we find S by halving angle (S L C S R ) and intersecting with line m Find S L and S R, on sphere, then find S by halving the angle between them:  S is closer to S R. TOP VIEW SPHERE: SIDE VIEW PLANE:

Circle-Splines on the Sphere Examples from a prototype editor program

CAD -- from Concept to Prototype ! u Make nice curvy paths on the surface of a sphere:  Circle-splines (C-splines). u Sweep various cross sections along these spherical paths:  SLIDE (Jordan Smith, Berkeley). u Fabricate the resulting surfaces:  Send B-rep to FDM machine.

“Via Globi” -- Virtual Design Wilmin Martono

“Viae Globi” FDM Maquettes (8” tall) “Maloja” “Altamont” “Lombard”

Circle 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

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

Implementation Hints 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 as an offset from end point B or C. C B PiPi Linear steps, t i

Curve Construction Using Circles u Not affine invariant -- curves do not transform exactly as their control points (except for uniform scaling). u Avoids cusps, hairpin turns u Predisposed to produce (exact) circles u Well-behaved curves with local support l G1-continuous with linear blending l G2-continuous with trigonometric blending u Angle averaging is crucial when blending circles of widely differing radii.

Angle-Averaging and MVC u The nicest interpolating curves are produced by the globally optimal MVC (Minimum Variation Curve). u MVC tries to maintain constant curvature, because its penalty function is: u In a piecewise linear curve with equal-length line segments, all turning angles should be the same. u In the plane, the angle-averaged segment midpoint also averages the turning angle of the piece-wise linear control curve. u Conjecture: In the subdivision limit, angle-averaging approximates behavior of MVC (as far as is possible with only local support).

Subdivision vs. Iteration u SIGGRAPH’01: Subdivision Scheme Calculate segment midpoints only, recurse l No simple linear interpolating mask / matrix l Difficult to analyze continuity of result u TODAY: Iterated Scheme l Resulting Continuity is understood l Tangent direction, curvature at joints (B,C) does not change, is forced onto blend curve l One single scheme for 2D, Sphere, 3D,...

Conclusions Angle-Averaged Circles (C-Splines) are useful for making smooth shapes on a sphere, in the plane, and in 3D.

========= SPARE ========= =========================

Summary / Discussion Geometric Construction Using Circles: l Not affine invariant - curves do not transform exactly as their control points (except for uniform scaling). Advantages: l G2-continuous curves with local support l Avoids cusps, reduces overshoots l Predisposed to produce (exact) circles l Approximates MVC behavior Disadvantages: l Cannot use a simple linear interpolating mask / matrix l Difficult to analyze continuity of subdivision scheme (not a problem for the iterated approach!)

Justification for Angle-Averaging u Angle averaging looks so good, because it locally approximates a MVC (Minimum Variation Curve): u MVC tries to maintain constant curvature, because its penalty function is: u In a piecewise linear curve with equal-length line segments, all turning angles should be the same. u In the limit, angle-averaging approximates the behavior of the MVC.

Circle-Splines Summary u Useful as a design primitive. u Interpolate constraint points. u Produce nice, rounded shapes. u Approximate the Minimum Variation Curve (MVC) l yields fair, “natural”, “organic” shapes; l minimizes squared magnitude of derivative of curvature:

Trigonometric 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 cos 2 (t)*LEFT CIRCLE + sin 2 (t)*RIGHT CIRCLE

Various Interpolation Schemes Angle Blended C-Spline Cubic Polynomial Interpolation Position Blended C-Spline Too “loopy” Trigonom. Blended Circ.-Arcs Too sharp“Just right”

Blending 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 i th point on i th circle. S 

Turning-Angle Averaging Find the point S on the bisector m that interpolates the turning angles at S L and S R  S lies on angle- divider (S L C S R ). C SLSL SRSR BDA S   m

Review: What is Subdivision? u Recursive scheme to create spline curves l using splitting and averaging u Example: Chaikin’s Algorithm l corner cutting algorithm ==> quadratic B-Spline subdivision

An Interpolating Subdivision Curve u 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

Circle-Splines on the Sphere  Use similar construction as in planar case: CTRL. POLYG. 2 CIRCLESC-SPLINE m S S B C B C

Difficulty with Angle-Averaging u On the sphere, in an extremely “loopy” arch, the angle in the control polygon goes to 180° (rather than 0°); u This invalidates the planar angle-averaging scheme.  180° B S C