reconstruction and geometric...

171
Reconstruction and Geometric Algorithms Romain Vergne 2014 - 2015

Upload: others

Post on 21-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reconstruction and Geometric Algorithms

Romain Vergne

2014 - 2015

Page 2: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

InterpolationFunction Parameters

Linear Shepard

Shepard Polynomial

Page 3: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

InterpolationFunction Parameters

Linear Shepard

Shepard Polynomial

Page 4: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

InterpolationFunction Parameters

Hermite Spline

Page 5: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

InterpolationFunction Parameters

Tensor Product

Page 6: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

InterpolationFunction Parameters

LinearHermite

Coons

Page 7: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Laplace/Poisson InterpolationFunctions f( x, y ) = z

Original

10 %

3D Version

3D Version

Page 8: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Subdivision Curves

Chaikin 1 Chaikin 2

Catmull-Clark (approx) 4 points (interp)

Page 9: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Subdivision Surfaces

Data Loop

Catmull-Clark

Page 10: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Subdivision Surfaces

Triangulated Surface Subdivision Butterfly

Triangulated Surface Butterfly modified

Page 11: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Least Squares

y = ax + b y = ax2 + bx + c

y = ax3 + bx2 + cx + d

Page 12: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Total Least Squares

ax + by + c = 0

PCA LS vs. TLS

Page 13: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Page 14: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Convex Hull

Incremental

Quick Hull

Page 15: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Delaunay Triangulation

Page 16: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Delaunay Triangulation

Relationship with the convex hull

Page 17: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Crust

Page 18: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

PLAN

• Introduction

• Parameterized / Ordered data

• Reconstruction of unorganized data

– Explicit methods

– Implicit methods

Page 19: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Implicit Methods

Explicit vs. Implicit

Page 20: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Data in the reference frame Oxy

Page 21: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Line fitting using least square

Page 22: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Coordinate system Bxy attached to the line

Page 23: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Approximating Y = f( X ) in the coordinate system Bxy

Page 24: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Approximating Y = f( X ) in the coordinate system Bxy

Page 25: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Choice of neighbors of each point

Page 26: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Determination of reference

Page 27: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Obtaining non-oriented normals

Page 28: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Objective: To re-orient normals

Page 29: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Construction of the proximity graph G of the set of points Pi

Page 30: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Edge e = ( i, j ) : d( Pi, pj ) ≤ r and i ≠ j

Page 31: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Valuation of the graph v(e) (value of the edge e(i, j))v(e) = 1 - |ni nj|

Page 32: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Computation of A : Minimum spanning tree of G

Page 33: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Before re-orientation

Page 34: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 35: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 36: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 37: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 38: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 39: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 40: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 41: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 42: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 43: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 44: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 45: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 46: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 47: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 48: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 49: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 50: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 51: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 52: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 53: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 54: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 55: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 56: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 57: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 58: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 59: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 60: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 61: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 62: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 63: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 64: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 65: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 66: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Reorientation of Normals

Traverse the tree and re-orient

Page 67: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Points + Normals. Iso-values f( x ) = 0

Page 68: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Corresponding Surface

Page 69: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Effect of the selection of neighborhood

Page 70: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Effect of the selection of neighborhood

Page 71: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Moving Least Squares

Effect of the selection of neighborhood

Page 72: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionScattered Data

Points as input Pi = ( xi, yi )

Page 73: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm

Triangulation (as per Delaunay)

Page 74: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm

Triangulation (as per Delaunay)And associated values zi

Page 75: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm

Triangular mesh with plane Pi = ( xi, yi )And associated values zi

How to determine the isovalue curve (piecewise linear)

Page 76: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm

(A) : Binary marking peaks Pi

Page 77: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm

(A) : Binary marking peaks Pi

Partition the heights in 2 sets

Page 78: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve. For

each triangle [S1, S2, S3]

Page 79: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve. For

each triangle [S1, S2, S3]

Page 80: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionScattered DataTraversal of triangles and construction of isovalue curve. For

each triangle [S1, S2, S3], 8 possible markings

Page 81: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionScattered DataTraversal of triangles and construction of isovalue curve. For

each triangle [S1, S2, S3], 8 possible markings

Page 82: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve

Same sign

Page 83: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve

Same sign

Page 84: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Same sign : no intersection with the plane z = v

Page 85: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Different signs

Page 86: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve

Different signs

Page 87: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Different signs: intersection with the plane z = v

Page 88: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(B) Traversal of triangles and construction of isovalue curve.

Different signs: intersection with the plane z = v

Objective : To find the segment AB

Page 89: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Intersection of the plane with edge PQ

Page 90: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Intersection of the plane with edge PQ

Page 91: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithmTraversal of triangles and construction of isovalue curve.

Intersection of the plane with edge PQ

Page 92: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(B) Traversal of triangles and construction of isovalue curve.

For each triangle, calculate 0 or 1 segment

Page 93: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(B) Traversal of triangles and construction of isovalue curve.

For each triangle, calculate 0 or 1 segment

Computed data = isovalue curve

Page 94: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

Page 95: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 96: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 97: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 98: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 99: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 100: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 101: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 102: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 103: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 104: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 105: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 106: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 107: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 108: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 109: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 110: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 111: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 112: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

Page 113: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

A. In no particular order

How to obtain the isovalue curve ?

Page 114: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

Page 115: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(0) Initial triangulation

Page 116: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(1) Marking non-intersection triangles

Page 117: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(1) Marking non-intersection triangles

Page 118: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) To : open components (external stopped)

Page 119: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) b : open components (successive neighborhoods)

Page 120: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) b : open components (successive neighborhoods)

Page 121: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) b : open components (successive neighborhoods)

Page 122: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) b : open components (successive neighborhoods)

Page 123: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(2) b : open components (successive neighborhoods)

Page 124: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) a : closed components (finding departure)

Page 125: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 126: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 127: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 128: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 129: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 130: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 131: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

(3) b : closed components (successive neighborhoods)

Page 132: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Curve ReconstructionAlgorithm(C) : Strategy for path of triangles

B. Follow up curve

Page 133: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !

Page 134: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !

Page 135: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !

Page 136: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !

Page 137: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !

Page 138: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Squares

Same principle with square !https://www.youtube.com/watch?v=uChG0Ziy74k

Page 139: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Points + Normals

Page 140: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Embedding in a regular grid

Page 141: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Strategies : Closest point / average distances (MLS) ….

Page 142: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Signed distance < 0

Page 143: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Signed distance = 0

Page 144: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Signed distance > 0

Page 145: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Page 146: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Page 147: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

Page 148: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

With Normals

http://www.labri.fr/perso/guenneba/videos/APSS_sig07.avi

Same approach but using spheres instead of planes

Page 149: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Isovalue Surfaces

Page 150: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Cubes

15 families for 256 situations

Page 151: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Cubes

15 families for 256 situations

https://www.youtube.com/watch?v=LfttaAepYJ8https://www.youtube.com/watch?v=LC0IbOZ0jkw

Page 152: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching TetrahedronsDecomposition of a cube into 6 tetrahedrons

Page 153: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG]

Decomposition of a cube into 6 tetrahedrons

Page 154: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH],

Decomposition of a cube into 6 tetrahedrons

Page 155: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG]

Decomposition of a cube into 6 tetrahedrons

Page 156: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG], [BCDE]

Decomposition of a cube into 6 tetrahedrons

Page 157: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG], [BCDE], [BDEF],

Decomposition of a cube into 6 tetrahedrons

Page 158: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG], [BCDE], [BDEF], [ABCE]

Decomposition of a cube into 6 tetrahedrons

Page 159: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG], [BCDE], [BDEF], [ABCE] Non-minimal decomposition

Decomposition of a cube into 6 tetrahedrons

Page 160: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

[CDEG], [DFGH], [DEFG], [BCDE], [BDEF], [ABCE] Non-minimal decomposition

But with good neighboring connection

Decomposition of a cube into 6 tetrahedrons

Page 161: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

For a tetrahedron

Page 162: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching TetrahedronsFor a tetrahedron : 16 configurations

Page 163: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

No intersection with the iso-value surface

Vertices with same sign

Page 164: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertex A has different sign than B, C and D

Page 165: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertex A has different sign than B, C and D

Intersection of 3 edges [AB], [AC], [AD] with the iso-value

Page 166: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertex A has different sign than B, C and D

Intersection of 3 edges [AB], [AC], [AD] with the iso-value

Triangle [IJK] obtained

Page 167: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertices A, C have different sign than B, D

Page 168: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertices A, C have different sign than B, D

Intersection of 3 edges [AB], [AD], [CB], [CD] with the iso-value

2 triangles [IJK], [JKL]

Page 169: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching Tetrahedrons

Vertices A, C have different sign than B, D

Intersection of 3 edges [AB], [AD], [CB], [CD] with the iso-value

2 triangles [IJK], [JKL] OR 2 triangles [IJL], [IKL]

Page 170: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Marching TetrahedronsSmooth

Page 171: Reconstruction and Geometric Algorithmsmaverick.inria.fr/~Romain.Vergne/reconstruction/Lecture5.pdf · Curve Reconstruction Algorithm (B) Traversal of triangles and construction of

Bibliography

• Cours de Nicolas Szafran 2011/2012

http://www-ljk.imag.fr/membres/Nicolas.Szafran/

• Scattered Data Interpolation and Approximation for Computer Graphics (Siggraph Asia course 2010)

• Implicit surface reconstruction from point clouds (Johan Huysmans’s thesis)

• The Method of Least Squares (Steven J. Miller)

• Course of Gael Guennebad (moving least squares) http ://www.labri.fr/perso/guenneba/