Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms
Advertisements

The Intersection of Lines. ( Notice that different parameters are used. ) and Solution: e.g. Determine whether the lines given below intersect. If they.
Two Segments Intersect?
Vectors Part Trois.
CSE 4101/5101 Prof. Andy Mirzaian Computational Geometry.
What are the x- and y-components of the vector
Computational Geometry
Geometry. Floating point math Avoid floating point when you can –If you are given a fixed number of digits after the decimal, multiply & use integers.
1 Programming Interest Group Tutorial Eight Computational Geometry.
ADA: 15. Basic Math1 Objective o a reminder about dot product and cross product, and their use for analyzing line segments (e.g. do two segments.
Computational Geometry II Brian Chen Rice University Computer Science.
Computing Convex Hulls CLRS 33.3
Convex Hull obstacle start end Convex Hull Convex Hull
CS16: Introduction to Data Structures & Algorithms
What is Computational Geometry? Study of Data Structures and Algorithms for Geometric Problems 1970 ’ s: Need for Computational Geometry Recognized; Progress.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Clipping CSE 403 Computer Graphics Cohen Sutherland Algorithm (Line)
Classes of Polygons Planar polygons Non-planar polygons Simple
Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R.
Computational Geometry
8/29/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk.
5/17/2015 1:32 AMConvex Hull1 obstacle start end.
What does that mean? To get the taste we will just look only at some sample problems... [Adapted from S.Suri]

GEOMETRY Chapter 3: Angle Pairs, Lines and Planes
November 4, Algorithms and Data Structures Lecture XIV Simonas Šaltenis Nykredit Center for Database Research Aalborg University
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Delaunay Triangulation on the GPU Dan Maljovec. CPU Delaunay Triangulation Randomized Incremental Algorithm 1.Construct Bounding triangle 2.Choose point.
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.
Computational Geometry
Geometric Algorithms1 segment intersection orientation point inclusion simple closed path.
UNC Chapel Hill M. C. Lin Point Location Chapter 6 of the Textbook –Review –Algorithm Analysis –Dealing with Degeneracies.
Advanced Algorithm Design and Analysis (Lecture 9) SW5 fall 2004 Simonas Šaltenis E1-215b
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
ADA: 14. Intro to CG1 Objective o give a non-technical overview of Computational geometry, concentrating on its main application areas Algorithm.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Computational Geometry (35/33) Line Segments and cross-product Segment intersection and Sweep Line Convex Hull and Graham’s Scan, Jarvis’s march Divide-and-Conquer.
Clipping Computer Graphics Cohen Sutherland Algorithm (Line)
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Copyright © Cengage Learning. All rights reserved. 12 Vectors and the Geometry of Space.
Copyright © Cengage Learning. All rights reserved.
CMPS 3120: Computational Geometry Spring 2013
Institute of Information Science Academia Sinica 1 1 Introduction to Geomtric Computing D. T. Lee Institute of Information Science Academia Sinica October.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Delaunay Triangulation on the GPU
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
CS6234 Advanced Algorithms - Convex hull. Terminologies – ◦ Convex hull of a set Q of points is the smallest convex polygon P for which each point in.
CLASSIFYING POLYGONS UNIT 1 LESSON 6. Classifying Polygons In geometry, a figure that lies in a plane is called a plane figure. A polygon is a closed.
Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R.
Graphics Graphics & Graphical Programming Lecture 23 - Viewing & Clipping.
Computational Geometry 2012/10/23. Computational Geometry A branch of computer science that studies algorithms for solving geometric problems Applications:
Section 4.2 – The Dot Product. The Dot Product (inner product) where is the angle between the two vectors we refer to the vectors as ORTHOGONAL.
You will learn to identify the relationships among pairs of interior and exterior angles formed by two parallel lines and a transversal.
Data Structure & Algorithm 13 – Computational Geometry JJCAO.
Section 1.1 Points, Lines, and Planes 11/22/2016.
Quadratic Inequalities with 1 Variable (Interval analysis)
Convex Hull obstacle start end 11/21/2018 4:05 AM Convex Hull
Computational Geometry (35/33)
Geometry.
Computational Geometry
Computational Geometry for the Tablet PC
CHAPTER 33 Computational Geometry
Convex Hull obstacle start end 4/30/2019 5:21 PM Convex Hull
Solving Rational Equations
Computational Geometry Algorithms
Equations Graphing Lesson 4.
Geometry.
Algorithms and Data Structures Lecture XIV
Presentation transcript:

Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically fast. Applications in Computer graphics VLSI design CAD/CAM Robotics Geographic Information Systems Geometric Modeling

Example 1 Proximity Closest café on campus? Voronoi diagram Delaunay triangulation

Example 2 Path Planning Robot How can a robot find a short route to the destination that avoids all obstacles?

Line Segments & Vectors p = (x, y ) 1 2 O = (0, 0)x y 1 2 Points (vectors): p, p, p p = p p p = (x x, y y ) 1 2 Line segment: p p = p p

Cross (Vector) Product x y (0, 0) p p 1 p + p p p is the signed area of the parallelogram. 1 2 p p = x y x y = p p = |p | |p | sin p and p are collinear iff p p =

Turning of Consecutive Segments Counterclockwise Clockwise No turn (collinear) p p p p p p pp p 0 12 p p p p > p p p p < p p p p = Segments p p and p p. Move from p to p then to p

Dot (Inner) Product x y (0, 0) p p 1 2 p p = x x + y y = p p = |p | |p | cos

A Segment & a Collinear Point p q r r p q q,r p Cross product is zero: pr pq = 0. // p, q, r collinear Does a line segment pq contain a collinear point r? Check the sign of the dot product rp rq Sign of rp rq + 0

Two Segments Intersect? One method: solve for the intersection point of the two lines containing the two line segments, and then check whether this point lies on both segments. In practice, the two input segments often do not intersect. Stage 1: quick rejection if their bounding boxes do not intersect Case 1: bounding boxes do not intersect; neither will the segments. bounding boxes (x, y ) 2 (x, y ) x x y y if and only if L M L right of M? L left of M? L above M? L below M?

Bounding Box Case 2: Bounding boxes intersect; the segments may or may not intersect. Needs to be further checked in Stage 2.

Stage 2 Two line segments do not intersect if and only if one segment lies entirely to one side of the line containing the other segment. p 1 p 2 p 3 p 4 ( p p ) ( p p ) and ( p p ) ( p p ) are both positive!

Necessary and Sufficient Condition p p 1 2 p p 3 4 Two line segments intersect iff each of the two pairs of cross products below have different signs (or one cross product in the pair is 0). (p p ) ( p p ) and ( p p ) ( p p ) p 1 p 2 p 3 p // the line through p p // intersects p p // the line through p p // intersects p p. 4 12