240 likes | 387 Views
DEpthLAUNAY www.dma.fi.upm.es/mabellanas/delonedepth/. Manuel Abellanas Alfredo de las Vegas Facultad de Informática - UPM. Starting point. Article : “ Point set stratification and Delaunay depth ” Written by Manuel Abellanas, Mercè Claverol & Ferrán Hurtado
E N D
DEpthLAUNAYwww.dma.fi.upm.es/mabellanas/delonedepth/ Manuel Abellanas Alfredo de las Vegas Facultad de Informática - UPM DEpthLAUNAY
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
Convex hull • The smallest convex region enclosing a specified group of points. DEpthLAUNAY
Convex depth • Recursively eliminates points of convex hull and recalculate it. DEpthLAUNAY
Delaunay property • Every triangle has a circumscribed circle. The Delaunay property forces that all of those circles must be empty of points. DEpthLAUNAY
Delaunay Triangulation • The Delaunay triangulation is a collection of edges satisfying an "empty circle“ or Delaunay property. Also maximizes the angles. DEpthLAUNAY
Delaunay depth • Delaunay depth of a point is the minimum number of edges used to reach the convex hull. DEpthLAUNAY
Delaunay layers • Delaunay layers are the subgraphs of DT(S) induced by the points of S with same Delaunay depth DEpthLAUNAY
Delaunay levels • Delaunay levels are regions of plane formed with points with a determined depth DEpthLAUNAY
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
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
Voronoi diagram by depth • A Voronoi diagram can be coloured based of Delaunay depth of generator points DEpthLAUNAY
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
Computational Geometry Algorithms Library www.cgal.org DEpthLAUNAY
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
CGAL • CGAL, the Computational Geometry Algorithms Library, offers data structures and algorithms like triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D), Voronoidiagrams (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
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
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. Presentation CNube class CGAL Library DEpthLAUNAY
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
Using DEpthLAUNAY DEpthLAUNAY
Parts of window • Menus • Tool bar • Status bar • Main view DEpthLAUNAY
Entering data • Mouse (add, delete, move) • Keyboard (absolute, relative) • File (various formats) • Automatic generation (regular, random) (quick, slow) • Image. DEpthLAUNAY
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 DEpthLAUNAY
Export data • Image (with or without scroll bars) • File formats: • OFF (Geomview) • VTC (CGAL) • PNT (Simple) • NIV (All info) • View data in 3D with external program • Spring program (muelles) • Thanks in movement DEpthLAUNAY