500 likes | 1.59k Views
Triangulation- 2D & 3D. Sriram Sethuraman 000-02-3772 Dept. of Mechanical Engineering, UTA EE 6358 Computer Vision Nov 03, 2005. Overview. Computational Geometry Basic Terms- Convex Hull, Geometric Span, Packing
E N D
Triangulation- 2D & 3D Sriram Sethuraman 000-02-3772 Dept. of Mechanical Engineering, UTA EE 6358 Computer Vision Nov 03, 2005
Overview • Computational Geometry • Basic Terms- Convex Hull, Geometric Span, Packing • Triangulation- Concept, Applications, Tessellation, Triangulating Triangles • Voronoi Diagram- Concept, Applications • Delaunay Triangulation- Concept, Properties, Applications • Delaunay Triangulation versus Voronoi Diagram- Figures and Demos • Delaunay Triangulation- 2D and 3D • Tetrahedralization
Computational Geometry • The field of theoretical computer science devoted to the design, analysis, and implementation of algorithms and data structures to solve geometric problems. • Related to solving problems that arise in several areas like computer graphics, robotics, databases, data mining, parallel computing, statistics, and pure math. • The study of efficient algorithms for solving geometric problems. Examples of problems treated by computational geometry include determination of the convex hull and Voronoi diagram for a set of points, triangulation of points in a plane or in space, and other related problems.
Why Computational Geometry? • Necessity of algorithms to solve various geometric problems and design efficient geometric data structures in various interdisciplinary applications (such as scientific computing, computer vision, scientific visualization, computational biology, computer graphics, robotics, network design, and information organization). • The success and importance of this field as a research discipline can be explained • from the beauty of the problems studied and the solutions obtained, and, • by the many application domains (computer graphics, geographic information systems (GIS), robotics, and others) in which, geometric algorithms play a fundamental role.
Basic Terms- Convex Hull The convex hull of a set of points in dimensions is the intersection of all convex sets containing. For points , ..., , the convex hull is then given by the expression
Basic Terms- Convex Hull (contd…) • The Convex Hull of a set of points in the plane is the shape you would get if you stretched an elastic band around the points, and let it snap tight. • http://www.angelfire.com/mt/ofolives/DotPlacer.html Place a set of points on the screen in the above link. The convex hull is drawn as per the positions of those points. If the points are moved, the shape is changed appropriately. • A simple algorithm to draw the convex hull: • Find point p1 with the smallest coordinate. Then choose a vector v1 pointing up the y-axis. • Find point p2 for which the line p1p2 make the smallest angle with v1; let v2 be the vector in the direction of this line. • Use p2 and v2 to find p3, v3 and so on until the pk that is found is the same as p1. • Finally, connect all the points with straight lines.
Basic Terms-Convex Hull (contd…) • http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE185.HTM#SECTION03162000000000000000 The above link gives a detailed discussion on Convex Hull. • ‘Finding the convex hull of a set of points is the most elementary interesting problem in computational geometry, just as minimum spanning tree is the most elementary interesting problem in graph algorithms. It arises because the hull quickly captures a rough idea of the shape or extent of a data set.’ • ‘The convex hull is defined as the smallest convex polyhedron that completely encloses a set of points.’
Basic Terms Geometric Span • It is the largest possible distance between two points drawn from a finite set of points.
Basic Terms- Packing: The placement of objects so that they touch in some specified manner, often inside a container with specified properties. Triangle Packing: The best known packing of equilateral triangles into an equilateral triangle are illustrated for the first few cases (Friedman). http://mathworld.wolfram.com/TrianglePacking.html Examples of packing equilateral triangles into circles and squares are illustrated in the above hyperlink.
Triangulation • The division of a surface or a plane polygon into a set of triangles, usually with the restriction that each triangle side is entirely shared by two adjacent triangles. • In 1925, it was proved that every surface has a triangulation, but it might require an infinite number of triangles and the proof is difficult (Francis and Weeks 1999). • A surface with a finite number of triangles in its triangulation is called a Compact Surface.
Triangulation • Triangulation of a simple Polygon P – Decomposition of P into triangles by a maximal set of non-intersecting diagonals. • Diagonal- an open line segment that connects two vertices of P and lies in the interior of P. • triangulations are usually not unique.
Triangulation- a fundamental problem in computational geometry, since the first step in operating complicated objects is to break them into simple objects • With an input description being a set of points or a polyhedron, the desired output will be the partitioning of the interior of this point set or polyhedron into triangles. • The simplest geometric objects are triangles in 2-D, and tetrahedra in 3-D.
Triangulation- Applications • Finite element analysis and computer graphics. • Surface or Function interpolation- • Suppose that we have sampled the height of a mountain at a certain number of points. How do we estimate the ht. at any point q in the plane? • By projecting the points on the plane, and then by triangulating them, the triangulation thereby completely partitions the plane into regions. • In the plane, a triangulation is constructed by the addition of non-intersecting chords between the vertices until no more such chords can be added. • We can then estimate the height of q by interpolating among the 3 points of the triangle that contains it. • Further, this triangulation and the associated ht. values define a mountain surface for graphics rendering.
Triangulation- Applications • There are a number of possible techniques that can be used for surface interpolation, i.e., estimating the height at a point while given the nearby sample heights. • Some of the more common methods are natural neighbor interpolation, surface patches, quadratic surfaces, polynomial interpolation, spline interpolation, and Delaunay Triangulation. • Some such interpolations are often necessary in the display of empirical data, for e.g.., • terrain modeling, where elevation samples are obtained from surveys, • meteorology where data is collected from weather stations, • regional planning using data collection stations, and • mesh generation for finite element analysis.
Tessellation • A regular tiling of polygons (in 2-D), polyhedra (in 3-D), or polytopes (in n -D). • Also, the breaking up of self-intersecting polygons into simple polygons.
Triangulating Triangles- Shown below are some of the largest triangles (of side length s) that can be triangulated with n triangles, each with no side longer than 1. (The bold lines show lines of length 1.) http://www.stetson.edu/~efriedma/triang/ Other triangulating triangles are illustrated in the above link. s = 1 (Trivial) s = 2 (Trivial) s=(5 + √13) / 4 = 2.151+ Found by Erich Friedman in 1998
Voronoi Diagram (The Thiessen or Dirichlet Tessellation) • Definition: The partitioning of a plane with points into convex polygons such that each polygon contains exactly one generating point and every point in a given polygon is closer to its generating point than to any other. • The cells are called Dirichlet regions, Thiessen polytopes, or Voronoi polygons. • http://www.angelfire.com/mt/ofolives/DotPlacer.html Place a set of points on the screen in the above link. The Voronoi diagram is drawn as per the positions of those points. If the points are moved, the shape is changed appropriately.
Voronoi Diagram- ‘The Voronoi diagram of a collection of geometric objects is a partition of space into cells, each of which consists of the points closer to one particular object than to any others.’ • What is Voronoi diagram in ? Given a set S of n distinct points in , Voronoi diagram is the partition of into n polyhedral regions ( ). Each region , called the Voronoi cell of p, is defined as the set of points in which are closer to p than to any other points in S, or more precisely, where, dist is the Euclidean distance function.
Voronoi Diagram- some Applications Voronoi diagrams tend to be involved in situations where a space should be partitioned into "spheres of influence", including models of crystal and cell growth as well as protein molecule volume analysis. • 3d shape and surface matching • Applications of Voronoi Tessellations to Tumor Cell Diagnosis • Automated derivation of high accuracy road centerlines • The Green Island Formation in Forest Fire Modeling with Voronoi Diagrams • Modeling of microstructures by Voronoi cells • Mosaic/stained glass graphic effect • Reconstruction of geological data using 3-D Voronoi diagrams • Skeleton and boundary extraction • Structure determination in disordered systems • Petroleum reservoir simulation
Delaunay Triangulation- The Dual to the Voronoi Diagram • Amongst all the different triangulations, Delaunay triangulation has the smallest possible total edge length. • The DT is a triangulation which is equivalent to the nerve of the cells in a Voronoi diagram, i.e., that triangulation of the convex hull of the points in the diagram in which every circumcircle of a triangle is an empty circle (Okabe et al. 1992, p. 94). • The Delaunay triangulation and Voronoi diagram in are dual to each other. • http://www.angelfire.com/mt/ofolives/DotPlacer.html Place a set of points on the screen in the above link. The Delaunay triangulation is drawn as per the positions of those points. If the points are moved, the shape is changed appropriately.
Delaunay Triangulation- A simple Algorithm • Let P be a set of points in the plane, and C, the convex hull of the points. • Draw straight lines (not crossing each other) from points on the interior to points on the boundary of the convex hull (or to each other), until the entire convex hull is divided into a set of polygons, with all vertices being elements of P. • Then, if any of the polygons are not triangles, divide them into triangles by drawing more lines between vertices of the polygons. This will give a triangulation of the set of points.
A Mesh of Triangles Triangle is the only polygon that is always planar in 3-D Lines Surfaces Points
Delaunay Triangulation Properties • The circumcircle of every triangle contains no other points. • Every line is also contained within some circle which contains no other points. • This triangulation maximizes the minimum angle found in any triangle over all other triangulations. • This triangulation is unique … except when 4 or more points are co-circular. This is often avoided by ordering the points and defining later points to be outside the circle defined by earlier points. Thus we assume this case does not occur.
Delaunay Triangulation • Maximize the minimum interior angle of triangles • No point lies within the circumcircle of a triangle Yes No
Draw the perpendicular bisectors of each edge of the triangle Circumcircle is centered on their intersection point Radial lines from center have equal length Delaunay Triangulation- Circumcircle of Triangle
Delaunay Triangulation- The Delaunay triangulation is created by connecting all generating points which share a common tile edge. • Tessellations split a plane into a number of polygonal regions called tiles. • Each tile has one sample point in its interior called a generating point. All other points inside the polygonal tile are closer to the generating point than to any other. • Delaunay triangles (thin lines) and associated Dirichlet Tessellations (thick lines) for nine generating points are shown. • Triangle edges are perpendicular bisectors of the tile edges. • Points within a tile are closer to the tile's generating point than to any other generating point.
What is the Delaunay triangulation in ? • Let S be a set of n points in . The convex hull of the nearest neighbor set of a Voronoi vertex v is called the Delaunay cell of v. The Delaunay complex (or triangulation) of S is a partition of the convex hull into the Delaunay cells of Voronoi vertices together with their faces.
Delaunay Triangulation v/s Voronoi Diagram • ‘The Voronoi diagram of a point set P is a subdivision of the plane with the property that each Voronoi cell of vertex p contains all locations that are closer to p than to every other vertex of P. The vertices P are also called Voronoi generators. Each edge of a Voronoi cell is the bisector of the connection of p to the corresponding neighbor cell. Each intersection of Voronoi edges belongs to at least three Voronoi cells and is the center of the circle through the generators of these three cells. These three vertices form a Delaunay triangle.’ Delaunay triangulation and Voronoi diagram of a pointset of hundred vertices
Delaunay Triangulation v/s Voronoi Diagram- Demos Demos Links (downloadable)- • Demo on Delaunay triangulation- http://www.cgal.org/demos_frame.html • Demo on Regular triangulation- http://www.cgal.org/demos_frame.html Demo Links- • Delaunay triangulation Applet- http://goanna.cs.rmit.edu.au/~gl/research/comp_geom/delaunay/delaunay.html • Voronoi/Delaunay applet- http://www.csie.ntu.edu.tw/~b5506061/voronoi/Voronoi.html • Voronoi/Delaunay applet- http://svr-www.eng.cam.ac.uk/~gmt11/4f9_demos/VoroGlide/VoronoiAppletUnbuffered.html • Voronoi/Delaunay applet with Animation- http://www.cs.biu.ac.il/~zultia/applets/CAD/delaunay%20+%20voronoi/Delaunay+voronoi.HTM • Voronoi/Delaunay applet- http://www.ulg.ac.be/ltas-cao/info_etud/delaunay/delaunay.html
Delaunay Triangulation in 2-D & 3-D http://www.gris.uni-tuebingen.de/gris/proj/dt/dteng.html The above link illustrates the video files of some implemented algorithms in 2D and 3D, and their comparisons in 2D and 3D respectively. • The Delaunay triangulation (DT) in 3-D contains each tetrahedron with vertices from the input point set, whose circumsphere contains no other input points on its surface or in its interior. • Use of DT in 3D does not grant well-shaped tetrahedra. http://www.cs.berkeley.edu/~jrs/stab.html Stabbing Delaunay Tetrahedralizations
Delaunay Triangulation- Applications • Simulation of the growth of crystals • Metallurgy (examination of alloys) • Cartography, town planning • Computation of neighboring problems (computational geometry) • Mesh generation for finite elements methods, stereo lithography, visualization of surfaces, etc. • Applications of 3d Delaunay triangulation algorithms in geoscientific modeling • Arrhythmia classification- D. Cubanski and D. Cyganski use 10-D Delaunay-based interpolation methods to detect heart rhythm disorders from electrocardiograms • Delaunay interpolation- using Delaunay triangulation for data interpolation • Dynamic Weighted Delaunay Triangulations for Efficient Collision Detection in Distinct Element Modeling and Simulation of Granular Media • Geometric morphology of granular materials- using constrained Delaunay meshing and chordal axis transforms to identify grains and determine statistical features in micrographs of porous media in order to obtain input for hydrodynamic calculations
Delaunay Triangulation- Applications (contd…) • Skeleton and boundary extraction • Spatial modeling by Delaunay networks • Statistical Geometry of Protein Structure • Visualizing 3D spatial patterns of archaeological assemblages
Tetrahedron The regular tetrahedron, is the Platonic solid with four polyhedron vertices, six polyhedron edges, and four equivalent equilateral triangular faces.
Tetrahedralization- 3-D Triangulation • 3D equivalent of triangulation • Decompose a given polytope into non-overlapping tetrahedra, where the vertices of the tetrahedra must be vertices of the original polytope • Not always possible to do tetrahedralization without introducing additional vertices • Runs in Q(n+r2), where r is the number of reflex edges
Tetrahedralization • a partition of the input domain, point set or polyhedron, into a collection of tetrahedra, that meet only at shared faces (vertices, edges, or triangles). • significantly more complicated than triangulation.
Overview • Computational Geometry • Basic Terms- Convex Hull, Geometric Span, Packing • Triangulation- Concept, Applications, Tessellation, Triangulating Triangles • Voronoi Diagram- Concept, Applications • Delaunay Triangulation- Concept, Properties, Applications • Delaunay Triangulation versus Voronoi Diagram- Figures and Demos • Delaunay Triangulation- 2D and 3D • Tetrahedralization
References • http://www.stetson.edu/~efriedma/triang/ • http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK4/NODE186.HTM • http://www.angelfire.com/mt/ofolives/DPdelauney.html • http://mathworld.wolfram.com/ • http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html • http://tecfa.unige.ch/perso/staf/nova/blog/2003/10/14/voronoi-and-delauney/ • http://www.ics.uci.edu/~eppstein/geom.html • http://astronomy.swin.edu.au/~pbourke/modelling/triangulate/ • http://www.ics.uci.edu/~eppstein/junkyard/line-arr-dt.html • http://www.gris.uni-tuebingen.de/gris/proj/dt/dteng.html • http://groups.csail.mit.edu/graphics/classes/6.838/F01/lectures/PolygonTriangulation/index.html • http://www.cs.berkeley.edu/~jrs/stab.html • http://www.cg.tuwien.ac.at/studentwork/CESCG/CESCG97/medvid/#Fifth