SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB.

Slides:



Advertisements
Similar presentations
Splines I – Curves and Properties
Advertisements

Lecture Notes #11 Curves and Surfaces II
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
ENS 207 engineering graphics
Parametric Equations Local Coordinate Systems Curvature Splines
Extended Gaussian Images
Copyright © Cengage Learning. All rights reserved.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
13 VECTOR FUNCTIONS.
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.
Inspiration: Brent Collins’ “Pax Mundi” a sweep path on a sphere.
Offset of curves. Alina Shaikhet (CS, Technion)
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.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Cubic Bezier and B-Spline Curves
Curves Mortenson Chapter 2-5 and Angel Chapter 9
M+D 2001, Geelong, July 2001 “Viae Globi” Pathways on a Sphere Carlo H. Séquin University of California, Berkeley.
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)
Some Remarks on Subdivision Curves A B D C S S S u Find new intermediate points S that lie on the implied curve.
Modelling: Curves Week 11, Wed Mar 23
Interpolating Splines: Which is the fairest of them all?
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.
Introduction Construction methods can also be used to construct figures in a circle. One figure that can be inscribed in a circle is a hexagon. Hexagons.
3-D Modeling Concepts V part 2.
Splines III – Bézier Curves
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.
Motion Blending (Multidimensional Interpolation) Jehee Lee.
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.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
V. Space Curves Types of curves Explicit Implicit Parametric.
Curves.
Generalized Hough Transform
Curves. First of all… You may ask yourselves “What did those papers have to do with computer graphics?” –Valid question Answer: I thought they were cool,
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
A survey of different shape analysis techniques 1 A Survey of Different Shape Analysis Techniques -- Huang Nan.
Unit 6 3D Modeling Concepts
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
Copyright © Cengage Learning. All rights reserved. 16 Vector Calculus.
Keyframing and Splines Jehee Lee Seoul National University.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
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.
In the name of God Computer Graphics Bastanfard. Curve Function(2) Other method is approximate it using a poly-line. Just locate a set of points along.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
CS 551/651 Advanced Graphics Technical Background.
(c) 2002 University of Wisconsin
Chapter 8 Engineering Geometry
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Descriptive Geometry. Introduction  What is Descriptive Geometry? →It is the study of points, lines, and planes in space to determine their locations.
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.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Introduction to Parametric Curve and Surface Modeling.
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
3-D Modeling Concepts V part 2.
3-D Modeling Concepts V part 2.
CURVES CAD/CAM/CAE.
© University of Wisconsin, CS559 Spring 2004
3-D Modeling Concepts V part B.
3-D Modeling Concepts V part 2.
Presentation transcript:

SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB

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.

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:

Circle-Splines (“C-Splines”) on the sphere, in 3D space, in the plane, One simple scheme: …

Circle Splines: in the Plane (0) 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 (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

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

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

Local Support STRAIGHT LINE PiPi Pi–1Pi–1 Pi–2Pi–2 P i+2 P i+1 A D C B PURE CIRCLE BLEND

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

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 ]

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 B STEP u

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

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.

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.

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.

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 B, C

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

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.

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

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”

Comparing Interpolation Schemes u A simple control polygon ( Test case 2 )

Comparing Interpolation Schemes u Cubic polynomial subdivision scheme [ Butterfly, Loop, Zorin ] Too sharp EXTREME CURVATURE

Comparing Interpolation Schemes u (Non-uniform) Lagrange Interpolation Too sharp EXTREME CURVATURE

Comparing Interpolation Schemes u Linearly position-blended circular arcs [ Wenz, 1996 ] Too “loopy”

Comparing Interpolation Schemes u Trigonometrically position-blended circular arcs [ Szilvasi-Nagi and Vendel, 2000 ] Too “loopy”

Comparing Interpolation Schemes u Angle-blended C-splines: C0 / G2 [ Séquin - Lee, 2003 ] “Just right”

Comparing Interpolation Schemes u Angle-blended C-splines, reparameterized: C2 / G2 [ Séquin - Lee, 2003 ] “Just right”

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

SASA D C SLSL SRSR A B Averaged circle, based on angles ! Linearly averaged point position. SPSP Comparison of Location of Midpoint S

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

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 

Bounded Curvature u For non-extreme control polygons, the resulting curvature is bounded. D C B A 179° B MAX. CURVATURE = 10

Circle-Splines on the Sphere Examples from a prototype editor program. We only need one small conceptual change …

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)

Discrete Sample Points on Swivel Plane C D A B END VIEW SIDE VIEW C D A B “Trigonometric Swivel” for G 2 -continuity

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 !

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

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

A 3D Circle-Spline (Figure-8 Knot) (Cross-eye stereo view)

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.

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)

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 !

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.

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.

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

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 ?

An “Evolutionary” Process… u From rulers… Polynomial splines with their linear interpolation are reminiscent of straight edge rulers…

An Evolutionary Process… u From rulers… u to compasses… Circle splines capture the power of compasses…

An Evolutionary Process… u From rulers… u to compasses… u to French Curves ! QUESTIONS ?