Presentation is loading. Please wait.

Presentation is loading. Please wait.

Creating & Processing 3D Geometry Marie-Paule Cani

Similar presentations


Presentation on theme: "Creating & Processing 3D Geometry Marie-Paule Cani"— Presentation transcript:

1 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

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

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

4 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

5 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

6 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

7 Interpolation vs. Approximation

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

9 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

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

11 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

12 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

13 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

14 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

15 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

16 Cardinal Spline, with tension=0.5

17 Uniform, cubic Bspline

18 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

19 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

20 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

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

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

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

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

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

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

27 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

28 Example: Doo-Sabin Works on quadrangles; Approximates

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

30

31

32 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

33 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

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

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

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

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

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

39 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


Download ppt "Creating & Processing 3D Geometry Marie-Paule Cani"

Similar presentations


Ads by Google