Computational Geometry In C __LINK__
The library offers data structures and algorithms like triangulations, Voronoi diagrams, Boolean operations on polygons and polyhedra, point set processing, arrangements of curves, surface and volume mesh generation, geometry processing, alpha shapes, convex hull algorithms, shape reconstruction, AABB and KD trees...
Computational Geometry in C
1) Demonstrate an understanding of the geometry, combinatorics, and computation of discrete geometric structures including: * convex hulls of finite point sets in two and three dimensions; * simple polygons, polygonal domains, planar straight-line graphs, special classes of polygons (monotone, star-shaped, etc.); * visibility and visibility coverage of polygons, including the Art Gallery Theorem; * triangulations and convex decompositions of point sets and planar polygonal domains; * planar graph properties that apply to the combinatorial analysis of geometric decompositions; * Delaunay diagrams and related proximity graphs on finite point sets in the Euclidean plane (Euclidean minimum spanning trees, nearest neighbor graphs, relative nearest neighbor graphs, Gabriel graphs); * Voronoi diagrams; * arrangements of lines in the plane; * geometric duality, including point-line duality in the plane and its application to problem solving.
2) Demonstrate an understanding of the design and analysis of algorithms to solve algorithmic problems with geometric data: * learn to think algorithmically and to formulate precise algorithmic problems; * perform worst-case analysis of an algorithm in the language of big-Oh notation; * learn to develop precise algorithmic models of problems that arise in data analysis, interactions with the physical world, engineering, and operations research; * understand and utilize algorithmic paradigms in the design and analysis of discrete algorithms, including divide-and-conquer, plane sweep, incremental insertion, and hierarchical methods; * understand how primitive computations are done on geometric data using principles of vector analysis and analytic geometry; * understand the use of geometric data structures for segment intersection, triangulation, convex hull computation, and point location search.
That technical report might be "hard" to find, but fortunately thisalgorithm will be described in any reasonable textbook oncomputational geometry. Two that have been recommended by cairocontributors are:
Identification of pulmonary fissures, which form the boundaries between the lobes in the lungs, may be useful during clinical interpretation of computed tomography (CT) examinations to assess the early presence and characterization of manifestation of several lung diseases. Motivated by the unique nature of the surface shape of pulmonary fissures in 3-D space, we developed a new automated scheme using computational geometry methods to detect and segment fissures depicted on CT images. After a geometric modeling of the lung volume using the marching cubes algorithm, Laplacian smoothing is applied iteratively to enhance pulmonary fissures by depressing nonfissure structures while smoothing the surfaces of lung fissures. Next, an extended Gaussian image based procedure is used to locate the fissures in a statistical manner that approximates the fissures using a set of plane "patches." This approach has several advantages such as independence of anatomic knowledge of the lung structure except the surface shape of fissures, limited sensitivity to other lung structures, and ease of implementation. The scheme performance was evaluated by two experienced thoracic radiologists using a set of 100 images (slices) randomly selected from 10 screening CT examinations. In this preliminary evaluation 98.7% and 94.9% of scheme segmented fissure voxels are within 2 mm of the fissures marked independently by two radiologists in the testing image dataset. Using the scheme detected fissures as reference, 89.4% and 90.1% of manually marked fissure points have distance
The Computational Geometry Algorithms Library (CGAL) is an open source software library of computational geometry algorithms. While primarily written in C++, Scilab bindings and bindings generated with SWIG (supporting Python and Java for now) are also available.
Assignments and ProjectsThe class grade of each student is determined by Homework (30%) Class Presentation (20%) Final Project (50%)Geometric Algorithms and Softwares Available on the Web:Here are just some possible locations to find geometric software/libraries and algorithmic toolkits you may need:A comprehensive collection of geometric software CGAL: ComputationalGeometry Algorithms Library (in C++) LEDA: Library of Efficient Datatypes and Algorithms (in C++) The StonyBrook Algorithm Repository: Implementation in C, C++, Pascal and Fortran CMU's Computer Vision HomepageFinite element mesh generation and More VLSI routing problemsComputational gene recognition (a bibliography)Machine learning resourcesMore Pointers to the Web on Geometry:Here are some good starting points to navigate among the webs of the Web...... Jeff Erickson's Computational Geometry Page: Wonderful collection of web pointers. David Eppstein's Geometry in Action: Applications of computational geometry. The Carleton Computational Geometry Resources: Another excellent collection of resources. Toussant's Geometric Link to many other sites, including those on animation of geometric algorithms. Additional Reference MaterialsOther reference books: Computational Geometry In C (Second Edition), byO'Rourke, Cambridge University Press, 1998. Handbook on Discrete and Computational Geometry, by Goodman and O'Rourke (eds), CRC Press LLC, 1997. Applied Computational Geometry: Toward Geometric Engineering, by Lin and Manocha (eds), Springer-Verlag, 1996. Computational Geometry: An Introduction Through Randomized Algorithms, by Mulmuley, Prentice Hall, 1994. Robot Motion Planning, by Latombe, Kluwer Academic Publishers, 1991. Algorithms in Combinatorial Geometry, by Edelsbrunner, Springer-Verlag, 1987. Computational Geometry (An Introduction), by Preparata and Shamos,Springer-Verlag, 1985.Other reference papers used in lectures:* Delaunay Triangulation and Applications * Delaunay Triangulation Applets by Paul Chew Constraint Delaunay Triangulation by Jonathan Shewchuk A Delaunay Refinement Algorithm for Quality 2-D Mesh Generationby J. Ruppert, J. Algorithms, pp. 548-585, May 1995 "Cubic Spline Fitting using data dependent triangulations"by E. Quak, L. Schumaker et al., Computer Aided Geometric Design, 7(1990),p293-301. "Minimal roughness property of Delaunay Triangulation", by S. Rippa, Computer Aided Geometric Design, 7(1990), p489-497.Special Issue on Computational Geometry and Computer Graphics, IEEEProceedings, ed. by D. Dobkin, Vol.80, No.9, 1992.* Query Image Database *Research at Stanford Vision LaboratoryImage Metrics using the Hausdorff Distance
Computational geometry is the study of algorithms for solvinggeometric problems on a computer. The field of computational geometryis less than 20 years old and a thriving community of researchershas emerged working on fundamental problems relevant to severalapplication domains including computer graphics, solid modeling,computer generated forces,virtual reality, simulated training, computer-aided manufacturing,robotics, computer vision, VLSI design, CAD/CAM, geographic information systems, and statistics.
The major topics include the following:Introduction: Classical Geometries; Computational Geometry; DCEL(doublyconnected edge list); Preliminary concepts: line,line segment,polygon,simplepolygon,convex polygon,kernel,triangulation,planar graph equations,right,left,above,below computation; geometric duality; computational real RAM.
Convex Hulls: Definition. Graham scan; lower and upper bound; Jarvis'smarch,Divide and Conquer algorithm; Preparata-Hong algorithm; Mergehull;Dynamic Convex Hull algorithms;
Geometric Searching Problems: Location problems and Range Search Problems;polygon inclusion; Planar point location problem: slab method; trapezoidalmaps, a randomized incremental algorithm;Kirkpatrick's triangle search method. Range searchproblems: 1-dimensional range searching; K-D tree method; range tree method,Range tree for d-dimension, fractional cascading
Proximity Problems: Closest Pair Problem;All Nearest Neighbor Problem;Voronoi Diagram; Properties of Voronoi diagram; Construction of Voronoi Diagram;Fortune's algoritthm, Relationship between Voronoi diagram and other proximity problems; ClosestPair algorithm; Farthest Pair Problem and algorithm.
Polygon Triangulation: Art Gallery Problem, Triangulating a monotonepolygon, partitioning a polygon into monotone pieces;Euclidean minimum spanning tree; Construction ofEMST via Delaunay Triangulation; traveling salesman problem.
Triangulation methods: Delaunay triangulation; greedy algorithm; Othermethods; Constrained Triangulation;
Intersection Problem: line intersection problem: line segment intersectionalgorithm in two dimensions; intersection of convex polygons; doublyconnected edge list, computing the overlay of two subdivisions;intersectionof Half Spaces and relation to two-variable linear programming. RectangleIntersection Problem.
Additional Topics covered by students' term projects: Arrangements andDuality; Binary Space Partition, Robot Motion Planning, Visibility Graphs,Quadtrees, 3-D Convex Hull
This all-new introduction to computational geometry is a textbook forhigh-levelundergraduate and low-level graduate courses. The focus is on algorithmsand hence thebook is well suited for students in computer science and engineering. Motivation is provided from the application areas: all solutions andtechniques ofcomputational geometry are related to particular applications inrobotics, graphics,CAD/CAM, and geographic information systems. For students thismotivation will beespecially welcome. 041b061a72