Pierre Alliez The Computational Geometry Algorithm Library.

Slides:



Advertisements
Similar presentations
Order-k Voronoi Diagram in the Plane
Advertisements

Alpha Shapes. Used for Shape Modelling Creates shapes out of point sets Gives a hierarchy of shapes. Has been used for detecting pockets in proteins.
CSE 4101/5101 Prof. Andy Mirzaian Computational Geometry.
TEL-AVIV UNIVERSITY FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric Average of Two Simple Polygons.
Spatial Embedding of Pseudo-Triangulations Peter Braß Institut für Informatik Freie Universität Berlin Berlin, Germany Franz Aurenhammer Hannes Krasser.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Motion Planning for Point Robots CS 659 Kris Hauser.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
3D Shape Histograms for Similarity Search and Classification in Spatial Databases. Mihael Ankerst,Gabi Kastenmuller, Hans-Peter-Kriegel,Thomas Seidl Univ.
Convex Hulls in 3-space Jason C. Yang.
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
DEpthLAUNAY1 DEpthLAUNAY Manuel Abellanas Alfredo de las Vegas Facultad de Informática - UPM.
Computational Geometry Algorithms Library
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
Xianfeng Gu, Yaling Wang, Tony Chan, Paul Thompson, Shing-Tung Yau
Computational Geometry -- Voronoi Diagram
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
Computational Geometry and Spatial Data Mining
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 l-Monotone Convex polygons are easy to triangulate. Unfortunately the partition.
The Design and Implementation of Planar Arrangements of Curves in CGAL Iddo Hanniel The research has been carried out at Tel Aviv University under the.
Exploring Computational Mathematics: Unfolding Polyhedra Brittany Terese Fasy, Duke University David Millman, UNC-Chapel Hill MathFest 2008.
TU/e computational geometry introduction Mark de Berg.
Area 1: Algorithms Dan Halperin, School of Computer Science, Tel Aviv University.
Introduction to Computational Geometry Computational Geometry, WS 2007/08 Lecture 1 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut.
Lection 1: Introduction Computational Geometry Prof.Dr.Th.Ottmann 1 History: Proof-based, algorithmic, axiomatic geometry, computational geometry today.
A Parallel Delaunay algorithm for CGAL
Computational Geometry Algorithms Library Source: CGAL web page
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Geometric Modeling.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
2D Arrangements in CGAL: Recent Developments CGAL Team School of Computer Science Tel Aviv University Eti Ezra, Eyal Flato, Efi Fogel, Dan Halperin, Shai.
Voronoi diagrams of “nice” point sets Nina Amenta UC Davis “The World a Jigsaw”
1 Street Generation for City Modeling Xavier Décoret, François Sillion iMAGIS GRAVIR/IMAG - INRIA.
Applications of CGAL in the Gel Analysis Software CAROL Klaus Kriegel Freie Universität Berlin Deutsches Herzzentrum Berlin DFG Projekt FL 165/4-2.
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
The Open Source Project Andreas Fabri GeometryFactory Lutz Kettner Max Planck Institute.
PRE-TRIANGULATIONS Generalized Delaunay Triangulations and Flips Franz Aurenhammer Institute for Theoretical Computer Science Graz University of Technology,
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Computational Geometry Course Summary (First Half) Spring 2008 Pay special attention to: algorithm details (able to explain correctness and carry out a.
3D Triangulations in Pierre Alliez.
Computational Geometry Algorithms Library
TEL-AVIV UNIVERSITY RAYMOND AND BEVERLY SACKLER FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric.
Voronoi Diagram (Supplemental)
1 1 What does Performance Across the Software Stack mean?  High level view: Providing performance for physics simulations meaningful to applications 
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Computational Geometry Algorithms Library Andreas Fabri GeometryFactory Pierre Alliez INRIA Efi Fogel Tel Aviv University.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 Shewchuck 2D Triangular Meshing.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Computational Geometry Piyush Kumar (Lecture 1: Introduction) Welcome to CIS5930.
3D Polyhedral Surfaces in Pierre Alliez.
Arrangements Efi Fogel Tel Aviv University. Outline Arrangements Algorithms based on Arrangements Boolean Set Operations Minkowski Sums and Polygon Offset.
The Computational Geometry Algorithm Library Andreas Fabri INRIA Sophia-Antipolis CGAL.
Algorithm for computing positive α-hull for a set of planar closed curves Vishwanath A. Venkataraman, Ramanathan Muthuganapathy Advanced Geometric Computing.
IntroductionReduction to Arrangements of Hyperplanes We keep the canonical triangulation (bottom, left corner triangulation) of each convex cell of the.
1 Point Location Strategies Idit Haran
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
COMPUTATIONAL GEOMETRY INTRODUCTION AND CONVEX HULLS ZAHRA NILFOROUSHAN ELECTRICAL & COMPUTER ENGINEERING DEPARTMENT, FACULTY OF ENGINEERING, KHARAZMI.
Spatial Searches in the ODM. slide 2 Common Spatial Questions Points in region queries 1.Find all objects in this region 2.Find all “good” objects (not.
DGrid: A Library of Large-Scale Distributed Spatial Data Structures Pieter Hooimeijer,
Computational Geometry Piyush Kumar (Lecture 1: Introduction) Welcome to CIS5930.
Computational Geometry
Spatial Search Contact Search Algorithm
Presentation transcript:

Pierre Alliez The Computational Geometry Algorithm Library

Goals Promote Research in Computational Geometry (CG)Promote Research in Computational Geometry (CG) “make the large body of geometric algorithms developed in the field of CG available for industrial applications”“make the large body of geometric algorithms developed in the field of CG available for industrial applications” -> robust programs

CG Impact Task Force Report, 1996 Among the key recommendations: Production and distribution of usable (and useful) geometric codesProduction and distribution of usable (and useful) geometric codes Reward structure for implementations in academiaReward structure for implementations in academia

The CGAL Project Started in 1996 as joined project of: ETH Zurich ETH Zurich INRIA INRIA MPI für Informatik MPI für Informatik Tel-Aviv U Tel-Aviv U Utrecht U Utrecht U Trier U Trier U FU Berlin FU Berlin

Structure of CGAL Basic Library Support Library: Configuration, Assertions Visualization File I/O Number Types Generators STL extensions Point, Segment,... Predicates Kernel TriangulationsArrangements Halfedge Datastructure Convex HullOptimisation...

The Basic Library

Convex Hull 2D Convex Hull2D Convex Hull –5 algorithms for points –CH of a simple polyline Convexity TestConvexity Test Extremal PointsExtremal Points 3D Convex Hull3D Convex Hull –static, incremental, dynamic

Planar Subdivisions Framework for arrangements of 2D curvesFramework for arrangements of 2D curves –based on planar maps –based on topological maps –Models exist for polylines, circles, conic arcs OperationsOperations –point location, overlay, ray shooting,..

Search Structures Multi dimensional data structuresMulti dimensional data structures –range tree, segment tree –kD tree OperationsOperations –window queries –nearest neighbor

Triangulations in 2D and 3D Delaunay, regular, constrained, conformal DelaunayDelaunay, regular, constrained, conformal Delaunay Rich APIsRich APIs –fast point location, –insertion, removal of points and constraints –traversal along a line –traversal of the triangulation

Triangulations 2D, 3D Alpha shapes2D, 3D Alpha shapes 2D, 3D Voronoi diagram, power diagram2D, 3D Voronoi diagram, power diagram 2D Delaunay mesh, 3D Delaunay mesh2D Delaunay mesh, 3D Delaunay mesh Natural neighbors*Natural neighbors* k-order Voronoi diagram 2*k-order Voronoi diagram 2* Voronoi of segments *Voronoi of segments * Voronoi of circlesVoronoi of circles (*) on-going

Optimization Based on LP/QP solversBased on LP/QP solvers –Smallest enclosing circle/ellipse in 2D –Smallest enclosing sphere in dD –Rectangular p center, for p = 2, 3, 4 –Polytope distances in dD –Smallest enclosing annulus in dD –Smallest enclosing sphere of spheres *

Nef Polyhedra 2,3*

and... dD Delaunay/VoronoidD Delaunay/Voronoi Polygon decompositionPolygon decomposition Polyhedral surfacesPolyhedral surfaces Halfedge data structureHalfedge data structure

Library Design Let’s play Lego

int min(int a, int b) float min(float a, float b) template CompType min(CompType a, CompType b) { return (a<b) ? a : b; } BigInt n(9), m(8), r; r = min( n, m ); BigInt is a model for the concept CompType Generic Programming [Musser 89]

Parameterization of Kernel Classes Point_3 CartesianHomogeneous double Gmpq leda::Real int Gmpz Concepts: NumberType and Kernel core::Expr

template template class Delaunay_triangulation_2 { void insert(Geometry::Point t) void insert(Geometry::Point t) { if(Geometry::orientation(p,q,t)==..) if(Geometry::orientation(p,q,t)==..) if(Geometry::incircle(p,q,r,t)) if(Geometry::incircle(p,q,r,t)) }}; Parameterization of Datastructures works with CGAL kernelsworks with CGAL kernels works with projections kernelsworks with projections kernels write thin glue layer for your kernelwrite thin glue layer for your kernel

Value for Users High quality of most componentsHigh quality of most components Interoperability of componentsInteroperability of components Rich functionalityRich functionality –allows rapid prototyping –allows focus on application domain –Reduces time to market (publication)