Creating & Processing 3D Geometry Marie-Paule Cani

Slides:



Advertisements
Similar presentations
Interpolating curves.
Advertisements

Lecture Notes #11 Curves and Surfaces II
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
09/25/02 Dinesh Manocha, COMP258 Triangular Bezier Patches Natural generalization to Bezier curves Triangles are a simplex: Any polygon can be decomposed.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
CS-378: Game Technology Lecture #5: Curves and Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic,
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
CS Peter Schröder Subdivision I: The Basic Ideas.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
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.
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
T-Splines and T-NURCCs
Cubic Bezier and B-Spline Curves
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
09/16/02 Dinesh Manocha, COMP258 Surfaces Locally a 2D manifold: i.e. approximating a plane in the ngbd. of each point. A 2-parameter family of points.
CS Subdivision I: The Univariate Setting Peter Schröder.
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
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Bspline/NURBS and Subdivision Surface Computer Graphics Lecture 15 Taku Komura.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
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.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
V. Space Curves Types of curves Explicit Implicit Parametric.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
Geometric Modelling 2 INFO410 & INFO350 S Jack Pinches
Keyframing and Splines Jehee Lee Seoul National University.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
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.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
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:
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
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.
Advanced Computer Graphics
3D Object Representations
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Jeff Ballard Nick Rasmussen
Introduction to Parametric Curve and Surface Modeling
Jeff Ballard Nick Rasmussen
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Creating & Processing 3D Geometry Marie-Paule Cani Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision surfaces Smooth volume: Implicit surfaces Geometry processing Smoothing, simplification, parameterization Creating geometry Reconstruction Interactive modeling, sculpting, sketching

Choice of a representation? Notion of ‘geometric model’ Mathematical description of a virtual object (enumeration/equation of its surface/volume) How should we represent this object… To get something smooth where needed ? To have some real-time display ? To save memory ? To ease subsequent deformations?

Why do we need Smooth Surfaces ? Meshes Explicit enumeration of faces Many required to be smooth! Smooth deformation??? Smooth surfaces Compact representation Will remain smooth After zooming After any deformation!

Parametric curves and surfaces Defined by a parametric equation Curve: C(u) Surface: S(u,v) Advantages Easy to compute point Easy to discretize Parametrization u u v

Parametric curves: Splines Motivations : interpolate/approximate points Pk Easier too give a finite number of “control points” The curve should be smooth in between Why not polynomials? Which degree do we need? u

Creating & processing 3D geometry : smooth boundary representations 22/04/2017 Spline curves Defined from control point Local control Joints between polynomial curve segments degree 3, C1 or C2 continuity Surfaces paramétriques La plupart des objets à modéliser sont délimités par des surfaces de forme libre, possédant de bonnes propriétés de continuité (classe$C^1$ ou $C^2$, ou plutôt $G^1$ ou $G^2$, ``continuité géométrique'' d'ordre 1 ou 2, qui signifie que la continuité est respectivement $C^1$ ou $C^2$ à une reparamétrisation près). On va étudier les techniques de construction de courbes,puis voir comment on passe à la modélisation d'une surface. Courbes splines d'interpolation et d'approximation - Contrôle à partir de ``points de contrôle'' - Contrôle local, donc ne pas utiliser un polynôme de haut degré. Solution : raccordements de segments de courbes polygonaux, de degré 3 en général. Control point Spline curve @Marie-Paule Cani

Interpolation vs. Approximation

Splines curves C(u) = Fk(u) Pk Mathematical formulation? Curve points = linear combination of control points C(u) = Fk(u) Pk Curve’s degree of continuity = degree of continuity of Fk Desirable properties for the “influence functions” Fk?

Properties of influence functions? 1. Affine invariance C(u) = Fk(u) Pk Invariance to affine transformations? Same shape if control points are translated, rotated, scaled  Fk(u) =1 Influence coefficients are barycentric coordinates Prop: barycentric invariance too. Application to morphing u

Properties of influence functions? 2. Convex hull C(u) = Fk(u) Pk Convex hull: Fk(u) >= 0 Curve points are barycenters Draw a normal, positive curve which interpolates Can it be smooth?

Properties of influence functions? 3. Variance reduction No unwanted oscillation? Nb intersections curve / plane <= control polygon / plane A single maximum for each influence function Tk Tk+1

Properties of influence functions? 4. Locality Local control on the curve? easier modeling, avoids re-computation Choose Fk with local support Zero and zero derivatives outside an influence region Are they really polynomials? Tk Tk+1

Properties of influence functions. 5 Properties of influence functions? 5. Continuity: parametric / geometric Parametric continuity C1, C2, etc Easy to check Important if the curve defines a trajectory! Ex: q(u) = (2u,u), r(t)=(4t+2, 2t+1). Continuity at J=q(1)=r(0) ? Geometric continuity G1, G2, etc u J=joint

Splines curves Summary of desirable properties C(t) = Fk(t) Pk, Interpolation & approximation Affine invariance  Fk(t) =1 locality Fk(t) with compact support Parametric or geometric continuity Approximation Convex envelop Fk(t) 0 Variance reduction: no unwanted oscillation u Tk Tk+1

Splines curves Most important models Interpolation Hermite curves C1, cannot be local if C2 Cardinal spline (Catmull Rom) Approximation Bézier curves Uniform, cubic B-spline (unique definition, subdivision) Generalization to NURBS

Cardinal Spline, with tension=0.5

Uniform, cubic Bspline

Cubic splines: matrix equation Creating & processing 3D geometry : smooth boundary representations 22/04/2017 Cubic splines: matrix equation Qi (u) = (u3 u2 u 1) Mspline [Pi-1 Pi Pi+1 Pi+2] t P1 P2 P3 P2 P3 P1 Cardinal spline B-spline P4 P4 @Marie-Paule Cani

Creating & processing 3D geometry : smooth boundary representations 22/04/2017 Splines surfaces « Tensor product »: product of spline curves in u and v Qi,j (u, v) = (u3 u2 u 1) M [Pi,j] Mt (v3 v2 v 1) Smooth surface? Convert to meshes? Locallity? Les surfaces splines bi paramétriques $Q(u,v)$ sont construites très simplement par le ``produit" de courbes splines en $u$ et en $v$ respectivement. La notion de carreau de surface (ou ``patch" en anglais) généralise la notion de de segment de courbe. Une surface spline bi paramétrique est constituée d'une juxtaposition de carreaux polynomiaux, se recollant entre eux de manière $C^1$ ou $C^2$. Q_{i,j} (u, v) = [u]. M . [V_{i,j}] . M^{t}. [v]^{t} [u]=(u^{3} \; u^{2} \; u \; 1) [v]=(v^{3} \; v^{2} \; v \; 1) $ [V_{i,j}]$ est la matrice des $16$ points de contrôle définissant ce carreau, tandis que $M$ correspond au type de spline utilisé. Les surfaces splines héritent des propriétés des courbes de même type. Appliquée aux surfaces, la propriété de subdivision des B-splines permet de calculer rapidement une triangulation de la surface, en approximant la surface par un maillage de contrôle suffisamment fin. @Marie-Paule Cani

Creating & processing 3D geometry : smooth boundary representations 22/04/2017 Splines surfaces Expression with separable influence functions! Qi,j (u, v) =  Bi(u) Bj(v) Pij u v Historic example Les surfaces splines bi paramétriques $Q(u,v)$ sont construites très simplement par le ``produit" de courbes splines en $u$ et en $v$ respectivement. La notion de carreau de surface (ou ``patch" en anglais) généralise la notion de de segment de courbe. Une surface spline bi paramétrique est constituée d'une juxtaposition de carreaux polynomiaux, se recollant entre eux de manière $C^1$ ou $C^2$. Q_{i,j} (u, v) = [u]. M . [V_{i,j}] . M^{t}. [v]^{t} [u]=(u^{3} \; u^{2} \; u \; 1) [v]=(v^{3} \; v^{2} \; v \; 1) $ [V_{i,j}]$ est la matrice des $16$ points de contrôle définissant ce carreau, tandis que $M$ correspond au type de spline utilisé. Les surfaces splines héritent des propriétés des courbes de même type. Appliquée aux surfaces, la propriété de subdivision des B-splines permet de calculer rapidement une triangulation de la surface, en approximant la surface par un maillage de contrôle suffisamment fin. @Marie-Paule Cani

Can splines represent complex shapes? Fitting 2 surfaces : same number of control points ?

Can splines represent Complex Shapes? Closed surfaces can be modeled Generalized cylinder: duplicate rows of control points Closed extremity: degenerate surface! Can we fit surfaces arbitrarily?

Can splines represent Complex Shapes? Branches ? 5 sided patch ? joint between 5 patches ?

Subdivision Curves & Surfaces Start with a control polygon or mesh progressive refinement rule (similar to B-spline) Smooth? use variance reduction! “corner cutting” Chaikin (½, ½)

How Chaikin’s algorithm works? Qi = ¾ Pi + ¼ Pi+1  Ri = ¼ Pi + ¾ Pi+1

= B-spline at regular vertices Subdivision Surfaces Topology defined by the control polygon Progressive refinement (interpolation or approximation) Catmull-Clark = B-spline at regular vertices Loop Butterfly

Example : Butterfly Subdivision Surface Interpolate Triangular Uniform & Stationary Vertex insertion (primal) 8-point a = ½, b = 1/8 + 2w, c = -1/16 – w w is a tension parameter w = –1/16 => surface isn’t smooth

Example: Doo-Sabin Works on quadrangles; Approximates

Comparison Catmull-Clark (primal) Doo-Sabin (dual)

At curve point / regular surface vertices Splines as limit of subdivision schemes Quadratic uniform B-spline curve Chaikin Quadratic uniform B-spline surface Doo-Sabin Cubic uniform B-spline surface Catmull-Clark Quartic uniform box splines Loop

Subdivision Surfaces Benefits Arbitrary topology & geometry (branching) Approximation at several levels of detail (LODs) Drawback: No parameterization, some unexpected results Extension to multi-resolution surfaces : Based on wavelets theory Loop

Advanced bibliography 1 Advanced bibliography 1. Generalized B-spline Surfaces of Arbitrary Topology [Charles Loop & Tony DeRose, SIGGRAPH 1990] n-sided generalization of Bézier surfaces: “Spatches”

Advanced bibliography 2. Xsplines [Blanc, Schilck SIGGRAPH 1995] Approximation & interpolation in the same model

Advanced bibliography 3. Exact Evaluation of Catmull-Clark Subdivision [Jos Stam, Siggraph 98] Analytic evaluation of surface points and derivatives Even near irregular vertices, At arbitrary parameter values!

Advanced bibliography 4. Subdivision Surfaces in Character Animation [Tony DeRose, Michael Kass, Tien Truong, Siggraph 98] Keeping some sharp creases where needed

Advanced bibliography 5. T-splines & T-NURCCs [Sederberg et. Al Advanced bibliography 5. T-splines & T-NURCCs [Sederberg et. Al., Siggraph 2003] T-splines d3, C2: superset of NURBS, enable T junctions! Local lines of control points Eases merging T-NURCCs: Non-Uniform Rational Catmull-Clark Surfaces with T-junctions superset of T-splines & Catmull-Clark enable local refinement same limit surface. C2 except at extraordinary points.

Comment représenter la géométrie ? Creating & processing 3D geometry : smooth boundary representations 22/04/2017 Comment représenter la géométrie ? Représentations par bord / surfaciques / paramétriques Polygones (surfaces discrètes) Surfaces splines Surfaces de subdivision, surfaces multi-résolution Représentations volumiques / implicites Voxels (volumes discrets) CSG (Constructive Solid Geometry) Surfaces implicites Adapter le choix aux besoins de l’animation et du rendu ! Les méthodes les plus utilisées en modélisation pour l’image de synthèse ne sont pas les mêmes que pour la CAO : le plus souvent, on utilise les représentations par bord, car cela correspond à ce qui sera rendu; en CAO, on privilégie les descriptions qui faciliteront l’usinage d’une pièce : critères de structure, pourra-t’on fabriquer la pièce, les dimensions prévues sont-elles atteintes, quelle quantité de matière sera utilisée. La description la plus fréquente dans ce cadre est volumique (CSG). Une fois une représentation choisie, il faut encore penser aux besoins d’animation et de rendu pour le choix du nombre d’éléments, de leur regroupement, etc. @Marie-Paule Cani