Você está na página 1de 39

Triangulation- 2D & 3D

Sriram Sethuraman
000-02-3772
Dept. of Mechanical Engineering, UTA
EE 6358 Computer Vision Nov 03, 2005
2
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
3
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.
4
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.
5
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


6
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 p
1
with the smallest coordinate. Then choose a vector v
1
pointing up
the y-axis.
Find point p
2
for which the line p
1
p
2
make the smallest angle with v
1
; let v
2
be
the vector in the direction of this line.
Use p
2
and v
2
to find p
3
, v
3
and so on until the p
k
that is found is the same as p
1
.
Finally, connect all the points with straight lines.
7
Basic Terms- Convex Hull (contd)
http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK
4/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.
8
Basic Terms
Geometric Span

It is the largest possible distance between two points drawn from a finite set
of points.

9
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.

10
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.
11
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.
12
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.
13
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.
14
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.
15
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.
16
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
17
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/D
otPlacer.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.
18
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.
19
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
20
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.

21
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.
22
A Mesh of Triangles
Triangle is the only
polygon that is always
planar in 3-D
Points
Lines Surfaces
23
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.
24
Delaunay Triangulation
Maximize the minimum interior angle of triangles
No point lies within the circumcircle of a triangle
Yes No
25
Delaunay Triangulation- Circumcircle of Triangle
Draw the
perpendicular
bisectors of each
edge of the triangle
Circumcircle is
centered on their
intersection point
Radial lines from
center have equal
length


26
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.
27
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.
28
Delaunay Triangulation v/s Voronoi Diagram
29
Delaunay Triangulation v/s Voronoi Diagram

30
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

31
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.H
TM

Voronoi/Delaunay applet- http://www.ulg.ac.be/ltas-cao/info_etud/delaunay/delaunay.html


32
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
33
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
34
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
35
Tetrahedron
The regular tetrahedron, is the Platonic solid with four polyhedron vertices, six
polyhedron edges, and four equivalent equilateral triangular faces.

36
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
37
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.


38
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
39
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/PolygonTriangulatio
n/index.html
http://www.cs.berkeley.edu/~jrs/stab.html
http://www.cg.tuwien.ac.at/studentwork/CESCG/CESCG97/medvid/#Fifth

Você também pode gostar