Download presentation
Presentation is loading. Please wait.
Published byScott Bryant Modified over 9 years ago
1
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u. 13-17 H-1111
2
Algorithms for Triangulations of a 3D Point Set Problem description Tools Methods by parametrisation Methods based on Delaunay tessellation Methods using implicit functions Delaunay triangulation in surface metrics
3
Problem description Unorganised set of points in the 3D space Assumed to be on a 2D surface. Reconstruct surface by creating a triangulation –Interpolation: Use only given points as vertices –Aproximation: Allowed to use artificial vertices Related problem: reconstructing curves in 2D or 3D
4
A few examples
5
Optional assumptions on the surface Manifold, not self- intersecting Open boundaries, holes „Handles” (genus>0) Not oriented
6
Typical properties of measured point clouds Uneven density Density depends on direction Missing points (small holes) Noise
7
Tools: Voronoi diagram and Delaunay tessellation Well defined in higher dimensions Local, simple geometric criteria Can be defined in manifolds as well
8
Tools: Extraction of implicit functions by marching cubes Marching cubes –Divide space into cubes –Compute value of the function at the lattice points –Create vertices on edges if signs opposite –Create triangles connecting the vertices –Define rules to create triangles Marching tetrahedra
9
Project vertices to a carrier surface Triangulate in parameter domain Methods by projection
10
Methods by convex combinations Find boundary of the surface Map boundary to a convex polygon in the plane Map interior vertices such that each map is an average of its neighbours Triangulate in plane Works for simply connected surfaces Floater 2000; Hormann & Floater 2002
11
Methods based on Delaunay tetrahedralization Build 3D Delaunay tessellation first Discard large tetrahedra Take boundary Repair Boissonat 1984; Veltkamp 1995; Amenta et al 1998
12
Alpha shape: a subset of the edges, triangles and tetrahedra of Delaunay tetrahedralization Size is measured by radius of smallest empty sphere Methods based on alpha-shapes Bajaj et al 1996; Guo et al 1997; Bernardini 1997
13
Methods extracting implicit functions Implicit function to estimate signed distance Valid for „close” points in the space Signed distance from tangent plane at closest vertex Requires oriented normal vectors; minimal spanning tree (MST) Needs postprocessing Hoppe 1992
14
Reconstructing Delaunay triangulation in surface metrics Generalised Delaunay triangulation No artificial points Reconstruct arbitrary 3D datasets with uneven distribution –Not projectable –Handles holes and open boundaries –Not oriented surfaces G. Kós 1998
15
Generalised Delaunay triangulation on surfaces Voronoi diagram and Delaunay triangulation on a surface
16
Advantages of the Delaunay triangulation Local criteria to choose triangles Simple incremental algorithm Result does not depend on the order of points
17
Angle criterion in the plane For quadrilateral ABCD, set triangle pair by comparing + with + Valid on surfaces with constant curvature
18
Projected angles To estimate angle BAC, project B and C to the tangent plane at A
19
Overview of the algorithm 1. Pre-processing –1.1. Cluster points, remove multiple ones –1.2. Build neighbourhood graph –1.3. Estimate local density and maximum triangle size –1.4. Compute normal vectors 2. Main steps –2.1. Create candidate triangles around each point –2.2. Select consistent triangles –2.3. Fill holes –2.4. Insert non-processed points 3. Post-processing –3.1. Smooth
20
1.1. Clustering points Put vertices into clusters (octtree) Remove coincident points 1.2. Build neighbourhood graph Connect each point with some close ones Call vertices neighbours if connected
21
1.3. Compute local density Estimate density of point-set at each point Compute local maximum triangle size 1.4. Compute normal vectors Compute surface normal at each vertex
22
2.1. Create candidate triangles around each vertex Around each vertex P, reconstruct the triangles of the Delaunay triangulation Start with single vertex P Add new vertices one by one, i.e. create and delete triangles according to the angle criterion Allocate buffer to record vertices which are candidates to be a vertex of a triangle
23
2.1. Inserting a new point Projection of the existing points B 1, …, B k define several angle domains in the tangent plane at P. To add a new point C, find the angle PB i B i+1 containing C. Test distance of C and the angle criterion for quadrilateral PB i CB i+1. If test holds, insert C. Apply another tests to decide whether to keep or delete B i and B i+1
24
2.1. Flowchart of creating triangles Start Stop Mark neighbours of P. Put them to the buffer Remove the closest point from the buffer, call it C. Buffer empty? Insert C to the triangulation? Insert C and change triangles Take unmarked neighbours of C, mark them and put them to the buffer. yes no yes no
25
2.2. Select consistent triangles Candidate triangles may contradict to each other Select an appropriate subset of triangles –Discard too large triangles –Mesh must remain manifold –Mesh must remain oriented –Triangles must not overlap
26
2.2. (cont’d) Sort the triangles before registration Some triangles are better than others –Each triangle has votes from the vertices –Compute smoothness errors from normal vectors at vertices Sort triangles by these two properties
27
2.3. Filling holes Generalising a planar method Easy to triangulate a convex polygon by comparing angles
28
2.3. (cont’d) Filling holes in 3D Hole P 1 P 2 …P n bounded by triangles P 1 P 2 Q 1, P 2 P 3 Q 2, …, P n P 1 Q n, shortest edge P 1 P 2 Set 2<k<n –Angle between triangles P 1 P 2 Q 1, P 1 P 2 P k must be greater than 90 degrees, if possible –Angle P 1 P k P 2 must be maximal.
29
2.4. Insert non-processed points Insert vertices which do not belong to any triangles to the closest triangle
30
3.1. Smoothing Apply a smoothing step to improve quality of the triangle mesh. Principle: edge-swapping
31
Examples Giraffe (from METROCAD GmbH, Saarbrücken). 6611 points, 13048 triangles.
32
Examples Stanford Bunny. 35947 points, 69451 triangles.
33
Examples Klein’s bottle (synthetic data). 8853 points, 17695 triangles.
34
Some problems Find an efficient algorithm to build 3D Delaunay tessellation; Handle sharp features (e.g. dihedral angles <90 degrees) Find oriented normal vectors for sample points Construct subdivision schemes to extract implicit surfaces
35
Thanks for your attention
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.