1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points,...
-
Upload
margaret-cooper -
Category
Documents
-
view
215 -
download
0
Transcript of 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points,...
![Page 1: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/1.jpg)
1
Creating & Processing 3D GeometryMarie-Paule Cani
1. Representations• Discrete models: points, meshes, voxels• Smooth boundary: Parametric & Subdivision surfaces• Smooth volume: Implicit surfaces
2. Geometry processing • Smoothing, simplification, parameterization
3. Creating geometry• Reconstruction • Interactive modeling, sculpting, sketching
![Page 2: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/2.jpg)
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?
![Page 3: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/3.jpg)
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!
![Page 4: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/4.jpg)
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
v
u
![Page 5: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/5.jpg)
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
![Page 6: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/6.jpg)
6
Spline curves
• Defined from control point• Local control
– Joints between polynomial curve segments
– degree 3, C1 or C2 continuity
Spline curve
Control point
![Page 7: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/7.jpg)
7
Interpolation vs. Approximation
P1P2
P3
P2
P3
P1
![Page 8: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/8.jpg)
8
Splines curves
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?
![Page 9: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/9.jpg)
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
![Page 10: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/10.jpg)
10
Properties of influence functions? 2. Convex hull
Convex hull: Fk(u) >= 0
Curve points are barycenters
• Draw a normal, positive curve which interpolates• Can it be smooth?
C(u) = Fk(u) Pk
![Page 11: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/11.jpg)
11
Properties of influence functions? 3. Variance reduction
No unwanted oscillation?
Nb intersections curve / plane <= control polygon / plane
– A single maximum for each influence functionTk Tk+1
u
![Page 12: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/12.jpg)
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
u
![Page 13: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/13.jpg)
13
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
![Page 14: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/14.jpg)
14
Splines curvesSummary 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
Tk Tk+1
u
![Page 15: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/15.jpg)
15
Splines curvesMost 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
![Page 16: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/16.jpg)
16
Cardinal Spline, with tension=0.5
![Page 17: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/17.jpg)
17
Uniform, cubic Bspline
![Page 18: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/18.jpg)
18
Cubic splines: matrix equation
P1P2
P3P4 P4
P2
P3
P1
Qi (u) = (u3 u2 u 1) Mspline [Pi-1 Pi Pi+1 Pi+2] t
Cardinal spline B-spline
0020
0101
1452
1331
2
1CatmullM
0141
0303
0363
1331
6
1BsplineM
![Page 19: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/19.jpg)
19
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?
![Page 20: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/20.jpg)
20
Splines surfaces
• Expression with separable influence functions!
Qi,j (u, v) = Bi(u) Bj(v) Pij
u
v Historic example
![Page 21: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/21.jpg)
21
Can splines represent complex shapes?
• Fitting 2 surfaces : same number of control points
?
![Page 22: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/22.jpg)
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?
![Page 23: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/23.jpg)
23
Can splines represent Complex Shapes?
Branches ?• 5 sided patch ?
• joint between 5 patches ?
?
![Page 24: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/24.jpg)
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
(½, ½)
![Page 25: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/25.jpg)
25
How Chaikin’s algorithm works?
Qi = ¾ Pi + ¼ Pi+1
Ri = ¼ Pi + ¾ Pi+1
![Page 26: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/26.jpg)
26
Subdivision Surfaces
• Topology defined by the control polygon• Progressive refinement (interpolation or approximation)
Loop
Butterfly
Catmull-Clark= B-spline at regular vertices
![Page 27: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/27.jpg)
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
![Page 28: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/28.jpg)
28
Example: Doo-SabinWorks on quadrangles; Approximates
![Page 29: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/29.jpg)
29
Comparison
Catmull-Clark
(primal)
Doo-Sabin
(dual)
![Page 30: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/30.jpg)
30
![Page 31: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/31.jpg)
31
![Page 32: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/32.jpg)
32
At curve point / regular surface vertices
Splines as limit of subdivision schemes
Quadratic uniform B-spline
curveChaikin
Quadratic uniform B-spline
surfaceDoo-Sabin
Cubic uniform B-spline surface Catmull-Clark
Quartic uniform box splines Loop
![Page 33: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/33.jpg)
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
![Page 34: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/34.jpg)
34
Advanced bibliography1. Generalized B-spline Surfaces of Arbitrary Topology
[Charles Loop & Tony DeRose, SIGGRAPH 1990]• n-sided generalization of Bézier surfaces: “Spatches”
![Page 35: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/35.jpg)
35
Advanced bibliography2. Xsplines [Blanc, Schilck SIGGRAPH 1995]
Approximation & interpolation in the same model
![Page 36: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/36.jpg)
36
Advanced bibliography3. 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!
![Page 37: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/37.jpg)
37
Advanced bibliography4. Subdivision Surfaces in Character Animation
[Tony DeRose, Michael Kass, Tien Truong, Siggraph 98]
Keeping some sharp creases where needed
![Page 38: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/38.jpg)
38
Advanced bibliography5. 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.
![Page 39: 1 Creating & Processing 3D Geometry Marie-Paule Cani 1.Representations Discrete models: points, meshes, voxels Smooth boundary: Parametric & Subdivision.](https://reader036.fdocuments.net/reader036/viewer/2022070400/56649e625503460f94b5d6a6/html5/thumbnails/39.jpg)
39
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 !