Computational Geometry: Algorithms & Applications

lecture notes for introduction to computational n.w
1 / 19
Embed
Share

"Explore the systematic study of algorithms and data structures for geometric objects in computational geometry. Learn about proximity, path planning, computer graphics, robotics, GIS, and CAD/CAM applications. Enhance your understanding of line segments, vectors, and geometric primitives."

  • Geometry
  • Algorithms
  • Applications
  • Computational
  • Robotics

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Lecture Notes for Introduction to Computational Geometry (Com S 418/518) Yan-Bin Jia, Iowa State University Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically fast. Two key ingredients of a good algorithmic solution: Thorough understanding of the problem geometry Proper application of algorithmic techniques and data structures Textbook: Computational Geometry: Algorithms and Applications (3rd ed.) by M. de Berg et al., Springer-Verlag, 2008.

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

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

  4. Applications in Computer Graphics Creating scene images on a display device. Intersect geometric primitives (lines, polygons, polyhedra, etc.). Determine primitives lying in a region. Hidden surface removal determine the visible part of a 3D scene while discard the occluded part from a viewpoint. Create realistic-looking scenes taking into account lighting and computing shadows. Deal with moving objects and detect collisions.

  5. Applications in Robotics How the robot perceives, understands, and acts upon its environment: Motion/path planning Grasping Parts orienting Optimal placement

  6. Applications in GIS Storage of geographical data (contours of countries, height of mountains, course of rivers, population, roads, electricity lines, etc.) Large amount of data requiring efficient algorithms Geographic data storage (e.g., map of roads for car positioning or computer display) Interpolation between nearby sample datapoints Overlay of multiple maps

  7. Applications in CAD/CAM Design of products with a computer Intersection, union, and decomposition of objects Testing on product specifications Testing design for feasibility Design for assembly modeling and simulation of assembly

  8. Line Segments & Vectors y ?1= (?1, ?1) ?1 ?2= (?1 ?2, ?1 ?2) ?2= (?2 ,?2) x ? = (0,0) Points (vectors): ?1,?2, ?1 ?2 = ?2?1 Line segment: ?2?1= ?1?2

  9. Dot (Inner) Product ? ?2 ? ?1 (0,0) ? ?1 ?2= ?1?2+ ?1?2= ?2 ?1 = |?1 ?2| cos?

  10. Cross (Vector) Product ? ?1+ ?2 ?2 ?1 ?2is the signed area of the parallelogram. ? ?1 ? (0,0) ?1 ?2= ?1?2 ?2?1= ?2 ?1= |?1 ?2| sin? ?1 and ?2are collinear with the origin iff ?1 ?2=0.

  11. Turning of Consecutive Segments Segments ?0?1 and ?1?2. Move from ?0 to ?1 then to ?2. ?2 ?2 ?1 ?2 ?1 ?1 ?0 ?0 ?0 Counterclockwise Clockwise Turn of 0 or ? ?0?1 ?1?2< 0 ?0?1 ?1?2> 0 ?0?1 ?1?2= 0

  12. Case of Collinearity ?1,?2,?3 are collinear. ?0?1 ?1?2= 0 ?1 ?2 ?2 ?1 ?0 ?0 No change of direction Direction reversal ?0?1 ?1?2< 0 ?0?1 ?1?2> 0

  13. Intersection of Two Lines* ?1: ?1? + ?1? + ?1= 0 ?2: ?2? + ?2? + ?2= 0 ?1 ? Rewrite the above equations as dot products: (?1,?1,?1) (?,?,1) = 0 (?2,?2,?2) (?,?,1) = 0 ?2 Hence (?,?,1) is perpendicular to both (?1,?1,?1) and (?2,?2,?2). (?,?,1) must be parallel to their cross product! * Optional material

  14. Homogeneous Coordinates* Represent every point (?,?) as ?,?,1 . homogeneous coordinatesof (?,?) Intersection (?,?,1) is parallel to the cross product vector: ?1,?1,?1 ?2,?2,?2 = (?1?2 ?2?1,?1?2 ?2?1,?1?2 ?2?1) homogeneous coordinates of intersection Normalize the ?-coordinate of the cross product to 1. ?1?2 ?2?1 ?1?2 ?2?1 ,?1?2 ?2?1 ?1?2 ?2?1,1 Hence the intersection point: ?1?2 ?2?1 ?1?2 ?2?1,?1?2 ?2?1 ?1?2 ?2?1

  15. Intersection Example* Find the intersect point of the lines: y + = y + = 3 4 1 0 7 8 0 x x Take the cross product of the two coefficient vectors: ) 8 , 7 , 3 ( ) 1 , 4 = , 1 ( ( 25 , 23 17 , ) 25 17,23 17 Intersection point:

  16. Two Parallel Lines* ?1: ?1? + ?1? + ?1= 0 ?2: ?2? + ?2? + ?2= 0 ?1?2 ?1?2= 0 ?1,?1,?1 ?2,?2,?2 = (?1?2 ?2?1,?1?2 ?2?1,?1?2 ?2?1) = (?1?2 ?2?1,?1?2 ?2?1,?) point at infinity Two parallel lines intersect at infinity.

  17. Line through Two Points* ?? + ?? + ? = 0? ??1+ ??1+ ? = 0 ??2+ ??2+ ? = 0 (?1,?1) ?,?,? ?1,?1,1 = 0 ?,?,? ?2,?2,1 = 0 (?2,?2) ?,?,? = ?1,?1,1 ?2,?2,1 Scaling yields the same line! Ex. The line through (3, 1) and ( 4,5) has coefficients (i.e., homogeneous coordinates) ) 1 , 5 , 4 = , 4 , 7 + = ) 1 , 1 , 3 ( ( ( 19 ) 4 7 19 0 x y and equation

  18. Advantages of Homogeneous Coordinates* Scaling independent: 25 17,23 17,1 25,23,17 , 50,46,34 , 25 17,23 17 all represent the same point Uniform handling of all cases (horizontal, perpendicular, parallel lines, etc.) No need to solve equations just take a cross product For more, see https://faculty.sites.iastate.edu/jia/files/inline-files/homogeneous-coords.pdf.

  19. Lines in the Space* Use Plucker coordinates: (?,? ?) ? Compute the distance between two lines. ? Find their common perpendicular. Find intersections with their common perpendicular. ? (When the lines intersect, the two intersections coincide.) For more, see https://faculty.sites.iastate.edu/jia/files/inline-files/plucker-coordinates.pdf.

More Related Content