Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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


Download ppt "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."

Similar presentations


Ads by Google