Slides:



Advertisements
Similar presentations
Arc-length computation and arc-length parameterization
Advertisements

Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Interpolating curves.
Lecture Notes #11 Curves and Surfaces II
Parametric Curves Ref: 1, 2.
© University of Wisconsin, CS559 Spring 2004
#8: Curves and Curved Surfaces CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006.
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.
Curves and Surfaces from 3-D Matrices Dan Dreibelbis University of North Florida.
Lecture 10 Curves and Surfaces I
Interpolation A method of constructing a function that crosses through a discrete set of known data points. .
Jehee Lee Seoul National University
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
Dr. S.M. Malaek Assistant: M. Younesi
08/30/00 Dinesh Manocha, COMP258 Hermite Curves A mathematical representation as a link between the algebraic & geometric form Defined by specifying the.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Research Report FWF S9206 Helmut Pottmann Geometric Modeling & Industrial Geometry.
Rational Bezier Curves
Offset of curves. Alina Shaikhet (CS, Technion)
Spline Interpretation ABC Introduction and outline Based mostly on Wikipedia.
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
Spline Interpretation ABC Introduction and outline Based mostly on Wikipedia.
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Degree Reduction for NURBS Symbolic Computation on Curves Xianming Chen Richard F. Riesenfeld Elaine Cohen School of Computing, University of Utah.
Cubic Bezier and B-Spline Curves
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Visualizing High-Order Surface Geometry Pushkar Joshi, Carlo Séquin U.C. Berkeley.
ENDS 375 Foundations of Visualization Geometric Representation 9/30/04.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Splines III – Bézier Curves
B-spline curve approximation zhu ping Outline 1. Application 2. Some works 3. Discussion.
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.
Moving Least Squares Coordinates Josiah Manson and Scott Schaefer Texas A&M University.
Employing Pythagorean Hodograph Curves for Artistic Patterns Conference of PhD Students in Computer Science June 29 - July 2, 2010 Szeged, Hungary Gergely.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture 3. Description.
Numerical Computation
Vector Computer Graphic. Vector entities Line Circle, Ellipse, arc,… Curves: Spline, Bezier’s curve, … … Areas Solids Models.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
INTERPOLATION & APPROXIMATION. Curve algorithm General curve shape may be generated using method of –Interpolation (also known as curve fitting) Curve.
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
Computer Graphics Representing Curves and Surfaces.
Geometric Modelling 2 INFO410 & INFO350 S Jack Pinches
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.
Rational curves interpolated by polynomial curves Reporter Lian Zhou Sep
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
SIAM Conference on Geometric Desing & Computing Approximation of spatial data with shape constraints Maria Lucia Sampoli University of Siena, Italy.
CS552: Computer Graphics Lecture 19: Bezier Curves.
On the singularity of a class of parametric curves Speaker: Xu Hui
CS552: Computer Graphics Lecture 18: Representing Cubic Splines.
Introduction to Parametric Curve and Surface Modeling.
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
Evgeny Lipovetsky School of Computer Sciences, Tel-Aviv University
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
Chapter 10-2: Curves.
Vector-Valued Functions and Motion in Space
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
Chapter XVII Parametric Curves and Surfaces
R.U. Gobithaasan 1, a , Diya’ J. Albayari1,b ,Kenjiro T. Miura 2,c
Coons Patches and Gregory Patches
MATH 174: Numerical Analysis I
PPT9: Global and local interpolation
INTERPOLATION For both irregulary spaced and evenly spaced data.
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

𝜅-Curves: Interpolation at Local Maximum Curvature Nothing Zhipei Yan1, Stephen Schiller2, Gregg Wilensky3, Nathan Carr2, Scott Schaefer1 1Texas A&M University, 2Adobe Research, 3Adobe

Problems with Interpolation Catmull-Rom Spline Try to provide tool. Rare people use , shape problems…. Curvature geometric feature.

“… human visual system is sensitive to minima and maxima of curvature …” “… all curvature extrema should coincide with the given control points …” [Levien 2009]

Desired Properties Interpolate all control points Max curvatures (salient points) only occur at control points ---- No cusps except at control points Curvature continuous

Clothoid Linear curvature Not continuous with motion of control points Pics texts.

Quadratic spline

Quadratic Bezier Curve 𝑐 𝑡 = 1−𝑡 2 𝑃 0 +2 1−𝑡 𝑡 𝑃 1 + 𝑡 2 𝑃 2 𝑃 1 location 𝑃 2 𝑃 0

Quadratic Bezier Curvature 𝜅 𝑡 = det⁡( 𝑐 ′ 𝑡 , 𝑐 ′′ 𝑡 ) || 𝑐 ′ 𝑡 || 3 = Δ( 𝑃 0 , 𝑃 1 , 𝑃 2 ) | 1−𝑡 (𝑃 1 − 𝑃 0 +𝑡 𝑃 2 − 𝑃 1 || 3 𝜅 ′ 𝑡 =0⇒ 𝑡 𝑚𝑎𝑥 = 𝑃 0 − 𝑃 1 ⋅( 𝑃 0 − 2𝑃 1 + 𝑃 2 ) 𝑃 0 − 2𝑃 1 + 𝑃 2 ⋅( 𝑃 0 − 2𝑃 1 + 𝑃 2 ) 𝜅 𝑡 𝑚𝑎𝑥 = max 𝜅(𝑡) 𝑃 1 𝑃 2 𝑃 0 spacing

Interpolation at Max Curvature

Interpolation at Max Curvature

Quadratic Time Parameter 𝑃 1 𝑞 𝑃 0 𝑃 2 𝑞= 1−𝑡 2 𝑃 0 +2 1−𝑡 𝑡 𝑃 1 + 𝑡 2 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑞 𝑃 0 𝑃 2 Know p0, q, p2. Want to compute p1 𝑃 1 = 𝑞− 1−𝑡 2 𝑃 0 − 𝑡 2 𝑃 2 2 1−𝑡 𝑡

Quadratic Time Parameter 𝑃 1 𝑡=0.3 𝑞 𝑃 0 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑡=0.4 𝑞 𝑃 0 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑡=0.5 𝑞 𝑃 0 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑡=0.6 𝑞 𝑃 0 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑡=0.7 𝑞 𝑃 0 𝑃 2

Quadratic Time Parameter 𝑃 1 𝑞 𝑃 0 𝑃 2 Unique 𝑡∈(0,1) from 𝑃 0 , 𝑞, and 𝑃 2

Computation of Max Curvature Time 𝑃 1 = 𝑞− 1− 𝑡 𝑚𝑎𝑥 2 𝑃 0 − 𝑡 𝑚𝑎𝑥 2 𝑃 2 2 1− 𝑡 𝑚𝑎𝑥 𝑡 𝑚𝑎𝑥 (1) 𝑡 𝑚𝑎𝑥 = 𝑃 0 − 𝑃 1 .( 𝑃 0 − 2𝑃 1 + 𝑃 2 ) 𝑃 0 − 2𝑃 1 + 𝑃 2 .( 𝑃 0 − 2𝑃 1 + 𝑃 2 ) (2) Substitute (1) into (2) a 𝑡 𝑚𝑎𝑥 3 +𝑏 𝑡 𝑚𝑎𝑥 2 +𝑐 𝑡 𝑚𝑎𝑥 +𝑑=0 Unique 𝑡 𝑚𝑎𝑥 ∈(0,1) as a function of 𝑃 0 , 𝑞, and 𝑃 2

Related works [Schaback 1989]

Related works [Schaback 1989] Use input points as splliting points

Related works [Feng et al. 1995] Interpolate tangent vectors at control points No curvature control. Interpolation scheme. Properties. No curvature control.

G2 Condition

G2 Condition

G2 Condition

G2 Condition D C B A C=(1-λ)B+λD E

G2 Condition 𝜆=0.3

G2 Condition 𝜆=0.5

G2 Condition 𝜆=0.7

Curvature

G2 Condition 𝜆=0.40

G2 Joint C 𝐶= 1−𝜆 𝐵+𝜆𝐷 𝜆= Δ 𝐴,𝐵,𝐷 Δ 𝐴,𝐵,𝐷 + Δ 𝐵,𝐷,𝐸 ∈(0,1) D B A E

Inflection Point Curvatures have different signs 𝜆= |Δ 𝐴,𝐵,𝐷 | |Δ 𝐴,𝐵,𝐷 |+ |Δ 𝐵,𝐷,𝐸 | ∈(0,1) E C D B normals A

Inflection Point No matter how many segments

Optimization

Optimization Input

Optimization Initialization

Optimization

Optimization Iteration 0 pi ci,2 ci,0 ti

Optimization Iteration 0 ci,1 ci+1,1 λi ci,0 ci+1,2

Optimization ci,2 ci,1 ci,0 Iteration 0 ti 1− 𝑡 𝑖 2 𝑐 𝑖,0 +2 1− 𝑡 𝑖 𝑐 𝑖,1 + 𝑡 2 𝑐 𝑖,2 = 𝑝 𝑖 ci,0 ti 𝑐 𝑖,2 = 1− 𝜆 𝑖 𝑐 𝑖,1 + 𝜆 𝑖 𝑐 𝑖+1,1 Only 𝑐 𝑖,1 is variable.

Step 2 𝑎11 𝑎12 𝑎1𝑛 𝑎21 𝑎22 𝑎23 𝑎32 ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ 𝑎𝑛−1,𝑛 𝑎𝑛1 𝑎𝑛,𝑛−1 𝑎𝑛𝑛 𝑐1,1 𝑐2,1 𝑐3,1 ⋮ ⋮ 𝑐𝑛,1 𝑝1 𝑝2 𝑝3 ⋮ ⋮ 𝑝𝑛 =

Optimization Iteration 1

Optimization Iteration 2

Optimization Iteration 3

Optimization Iteration 4

Optimization Iteration 5

Optimization Iteration 10

Curves with Boundaries

Local support in practice Explain. Loop.

Results and Examples

Adobe Illustrator

Adobe Illustrator

Adobe Illustrator

Conclusions Quadratic spline G2 continuous (G1 at inflection points) Max curvatures only appear at control points Cusps only appear at control points Local support in practice

Future work Kappa curve can suit any curve primitives which have unique max curvature point High degree like cubic curve Rational curves Integral curves Curves in 3D