Applications of Computational Geometry COSC 2126 Computational Geometry Outline General categories of computational geometry application domains. Triangulation and meshing Geocomputation Computational biology 2 Application Domains Computer graphics 2-D and 3-D intersections. Hidden surface elimination. Ray tracing. Virtual reality Collision detection (intersection). http://www.linuxgraphic.org/section3d/article s/raytracing/images/theiere.jpg http://graphics.cs.unisb.de/Publications/2006/RTG/spheres.jpg 3 Application Domains (2) Robotics Motion planning, assembly orderings, collision detection, shortest path finding Global information systems (GIS) Large data sets data structure design. Overlays Find points in multiple layers. Interpolation Find additional points based on values of known points. Voronoi diagrams of points. http://mathworld.wolfram.com/VoronoiDiagram.html http://skagit.meas.ncsu.edu/~helena/classwork/topics/F1a.gif 4 Spatial elevation model Application Domains (3) Computer aided design and manufacturing (CAD / CAM) Design and manipulate 3-D objects. Possible manipulations: merge (union), separate, move. “Design for assembly” CAD/CAM provides a test on objects for ease of assembly, maintenance, etc. Computational biology Determine how proteins combine together based on folds in structure. Surface modeling, path finding, intersection. 5 Triangulation and Meshing Used to generate surfaces and solids from unstructured data (point clouds). Surfaces triangles Solids tetrahedra Important in most sciences: Medical imaging. Engineering – finite element modeling. Art. Computer games. 6 Delaunay Triangulation Delaunay triangulation for a set P of points in the plane is a triangulation DT(P) s.t. no point in P is inside the circumcircle of any triangle in DT(P). The Delaunay triangulation of a discrete point set P corresponds to the dual graph of the Voronoi tessellation for P. For a set P of points in ddimensional Euclidean space, DT(P) is s.t. no point in P is inside the circum-hypersphere of any simplex in DT(P). 7 Finite Element Method Stress distributions on the foot. 8 http://www.grc.nasa.gov/WWW/RT/2003/7000/7740morales.html FEM (2) Truck crash simulation. 9 http://en.wikipedia.org/wiki/Finite_element_method Photorealism in Computer Graphics 10 Meshing in Game Graphics http://www.math.tu-berlin.de/geometrie/gallery/vr/bilder/FarCry0001.jpg 11 http://graphics.ethz.ch/~mattmuel/projects/project.htm http://www.gamingtarget.com/images/media/Specials/Essential_Tech_Terminology_For_Gamers/page/p002.jpg Meshing in Game Graphics (2) 12 Finding Next Gen – CryEngine 2, Martin Mittring14, Crytek GmbH Surface Reconstruction With Radial Basis Functions Scanning a bone section with a laser scanner. 13 Surface Reconstruction With Radial Basis Functions (2) Point cloud 14 Surface Reconstruction With Radial Basis Functions (3) Final surface 15 Scattered Point Interpolation with Radial Basis Functions Interpolate scattered points Original point cloud from segmented contours in CT volume. Enhanced point cloud Radial basis interpolation Surface normals Courtesy: Derek Cool, Robarts Research Imaging Laboratories Final RBF model 16 Geocomputation Geocomputation – a new paradigm for multidisciplinary/interdisciplinary research that enables the exploration of extremely complex and previously unsolvable problems in geography. Used to study spatial data: Population distributions. Movement patterns of migratory animals. Locations of natural resources. Epidemiology. Source and extent of environmental pollution and contamination. Extent of natural disasters. Many other applications. 17 Geocomputation (2) Geocomputation depends on the contributions of many fields of study: Computational geometry. Interactive exploratory data analysis. Data mining. Numerical methods. Graphics and visualization. 18 Geographic Information Systems Also known as geomatics – the application of computational methods and systems to geographical problems. Computational geometry provides useful tools and algorithms for GIS, including: Data correction (after data acquisition and input). Data retrieval (through queries). Data analysis (e.g map overlay and geostatistics). Data visualization (for maps and animations). 19 Global Positioning System (GPS) Global positioning system (GPS) – A specialized, dedicated distributed system for determining geographical position anywhere on Earth. Satellite-based system launched in 1978. Initially for military applications, but extended for civilian use (traffic navigation), and other tracking uses. 20 GPS (2) 29 satellites, each circulating in an orbit at height 20,000 km, and having up to four regularly calibrated atomic clocks. Each satellite (i) continuously broadcasts its position (xi, yi, zi), and timestamps each message. This allows every receiver on Earth to accurately compute its own position using three satellites. 21 Location Calculation For the GPS receiver to locate itself, two data are needed: The location of at least 3 reference satellites. The distance between the receiver and each of those satellites. The receiver obtains both of these by analyzing high- frequency, low-power radio waves from the GPS satellites. Because radio waves travel at the speed of light, receivers can calculate the distance the wave traveled by the amount of time it took to travel. Each GPS receiver contains a database of the locations of each satellites at a given time. Using this information, the receiver uses trilateration to find the exact spot on earth. 22 GPS (3) Trilateration – a method for determining the intersections of three sphere surfaces given the centers and radii of the three spheres. (Altitude) (Earth’s surface at sea level) Computing a position in a two-dimensional space. 23 Time Calculation Each satellite tracks time by an atomic clock. They are all synchronized. Upon receiving the signal from the satellites, the receiver can calculate the time delay of each, providing the travel time. By multiplying the travel time by the speed of light, the distances of the satellites are obtained. 24 GPS (4) Principle of intersecting circles can be re- formulated to 3D. Three (3) satellites are needed to compute the longitude, latitude, and altitude of a receiver on Earth. Real world facts that complicate GPS: Some time elapses before data on a satellite’s position reaches the receiver. 2. The receiver’s clock is generally not synchronized to the satellite. 1. 25 Computing Position Using GPS Dr: Deviation of receiver’s clock from the actual time. Ti: Timestamp received from satellite i. di: Real distance between the receiver and satellite i. However, di cTnow Ti D r ( xi xr ) 2 ( yi yr ) 2 ( zi zr ) 2 4 equations (3 satellites + time difference) are needed to solve for four unknowns, xr, yr, zr, and Dr. GPS can also be used for synchronization. 26 Limitations of CG w.r.t. GIS Computational geometry algorithms are often very complex, and require a large effort to implement. Efficiency analysis, which is based on worst-case inputs to the algorithm, is often performed. The theoretical worst-case data sets may be rather artificial, and never appear in real-world applications. Another problem lies in the abstraction of the original problem, in which several criteria to be met “at least to some extent” simultaneously. This leads to vague problem statements, but CG generally considers well-defined, simple-to-state problems. This problem will be more difficult than the first two. 27 Bioinformatics – Protein Folding Proteins are large 3D molecules with complicated geometries and topologies. Basic idea – Create “designer proteins” that can be used to treat a variety of disease conditions. Lock-and-key mechanism – proteins have binding sites where other ions or molecules form chemical bonds. Proteins can therefore bind to harmful pathogens (e.g. viruses), rendering them harmless. 28 Protein Binding to a Pathogen 29 www.physorg.com/news138885789.html Geometric Representation of Proteins – Primary Structure The primary structure of a protein is its sequence of amino acids, which determines what the protein does, how it interacts with other proteins, and how it folds. Sequence of amino acids and peptide bonds. 3-D curve {vi}, i = 1…n 30 Geometric Representation of Proteins – Secondary Structure Secondary structure refers to the way a single protein (macromolecule) folds together. Secondary structure consists of helix (helices), strand(s), and random coil(s). 31 http://mcl1.ncifcrf.gov/integrase/asv_secstr.html Geometric Representation of Proteins – Tertiary Structure Tertiary structure refers to the protein’s 3D shape. It is determined by the protein’s primary structure. 32 Geometric Representation of Proteins – Quaternary Structure Quaternary structure refers to the arrangement of multiple folded protein molecules in a multi-subunit complex. 33 http://www.cryst.bbk.ac.uk/PPS2/course/section12/haemogl2.html Protein Folding The “grand challenge” in bioinformatics and proteomics. Allows the transition from sequence to structure. Currently, relatively simple computational folding models have proven to be NP complete even in the 2D case! Example. 34 Other Non-Traditional Applications Spatial databases. Radiation therapy planning. Computational topology. Use of geometry and topology to study complex and massive data sets. Applications range from medical, GIS, CAD/CAM, and crystallography to financial and economic models, music, and quantum computing. 35 End 36