depthlaunay1 depthlaunay manuel abellanas alfredo de las vegas facultad de informática - upm
TRANSCRIPT
DEpthLAUNAY 1
DEpthLAUNAY
www.dma.fi.upm.es/mabellanas/delonedepth/
Manuel AbellanasAlfredo de las Vegas
Facultad de Informática - UPM
DEpthLAUNAY 2
Starting point
• Article: “Point set stratification and Delaunay depth”
• Written by Manuel Abellanas, Mercè Claverol & Ferrán Hurtado
• Available at: http://arxiv.org/abs/cs.CG/0505017
• Notions of depth in 2D data analysis
• Convex and Delaunay depth
DEpthLAUNAY 5
Delaunay property
• Every triangle has a circumscribed circle. The Delaunay property forces that all of those circles must be empty of points.
DEpthLAUNAY 6
Delaunay Triangulation
• The Delaunay triangulation is a collection of edges satisfying an "empty circle“ or Delaunay property. Also maximizes the angles.
DEpthLAUNAY 7
Delaunay depth
• Delaunay depth of a point is the minimum number of edges used to reach the convex hull.
DEpthLAUNAY 8
Delaunay layers
• Delaunay layers are the subgraphs of DT(S) induced by the points of S with same Delaunay depth
DEpthLAUNAY 9
Delaunay levels• Delaunay levels are regions of plane formed
with points with a determined depth
DEpthLAUNAY 10
Voronoi diagram
• Voronoi cells are the set of points closer to a vertex than any other vertex. Voronoi diagram is the partition induced by Voronoi cells. Dual of Delaunay triangulation
DEpthLAUNAY 11
Voronoi diagram
• Voronoi cells are the set of points closer to a vertex than any other vertex. Voronoi diagram is the partition induced by Voronoi cells. Dual of Delaunay triangulation
DEpthLAUNAY 12
Voronoi diagram by depth
• A Voronoi diagram can be coloured based of Delaunay depth of generator points
DEpthLAUNAY 13
Goals of DEpthLAUNAY
• Teaching tool
• Help in research
• Interactivity
• Use of C.G.A.L.
• Efficient tool to compute depths ~ O(n log n)
• Runs in Windows and Linux (with wine)
DEpthLAUNAY 15
CGAL
• The goal of the CGAL Open Source Project is to provide easy access to efficient and reliable geometric algorithms to users in industry and academia in the form of a C++ library.
DEpthLAUNAY 16
CGAL• CGAL, the Computational Geometry Algorithms Library, offers data
structures and algorithms like triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D), Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams), Boolean operations on polygons and polyhedral, arrangements of curves, mesh algorithms (2D Delaunay mesh generation and 3D surface mesh generation, surface mesh subdivision and parameterization), alpha shapes, convex hull algorithms (in 2D, 3D and dD), operations on polygons (straight skeleton and offset polygon), search structures (kd trees for nearest neighbour search, and range and segment trees), interpolation (natural neighbour interpolation and placement of streamlines), optimization algorithms (smallest enclosing sphere of points or spheres, smallest enclosing ellipsoid of points, principal component analysis), and kinetic data structures.
• All these data structures and algorithms operate on geometric objects like points and segments, and perform geometric tests on them. These objects and predicates are regrouped in CGAL Kernels.
DEpthLAUNAY 17
Algorithm of DT
• CGAL uses “incremental insertion algorithm” to triangulate a set of points.
• When a point is inserted, triangulates it and test the Delaunay property. If fails, flip and propagate.
DEpthLAUNAY 18
DEpthLAUNAY
• Three layers design
• Only Presentation layer is Operative System dependant
• CNube class is a wrapper of CGAL, so the programmer doesn’t need to know CGAL.
DEpthLAUNAY 19
DEpthLAUNAY
• Divided in three parts from user’s point of view:– Entering data (mouse, keyboard, images,
automatic generation)– Manipulating data. Various types of diagrams
(real-time depending of number of points) (Use of clipboard)
– Exporting data (four different file formats, image)
DEpthLAUNAY 22
Entering data
• Mouse (add, delete, move)
• Keyboard (absolute, relative)
• File (various formats)
• Automatic generation (regular, random) (quick, slow)
• Image.
DEpthLAUNAY 23
Data manipulation
• Clipboard (cut, copy, paste)
• Shake vertex
• Compute structures (alone and together)
• Cloud (scroll, zoom, Canvas, cloud move, cloud adjust)
• Show paths (Crtl +Right mouse)
• Preferences