Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computational Geometry

Similar presentations


Presentation on theme: "Computational Geometry"— Presentation transcript:

1 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.

2 Example 1  Proximity Closest café on campus? Voronoi diagram
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 view point. 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 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 data points 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 ) 𝑂 = (0, 0) x 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 = | 𝑝 𝑝 2 | cos 𝜑

10 Cross (Vector) Product
𝑦 𝑝 1 + 𝑝 2 𝑝 2 𝑝 1 × 𝑝 2 is the signed area of the parallelogram. 𝜑 𝑝 1 (0, 0) 𝑥 𝑝 1 × 𝑝 2 = 𝑥 1 𝑦 2 − 𝑥 2 𝑦 1 =− 𝑝 2 × 𝑝 1 = | 𝑝 𝑝 2 | sin 𝜑 𝑝 1 and 𝑝 2 are collinear with the origin iff 𝑝 1 × 𝑝 2 = 0.

11 Turning of Consecutive Segments
Segments 𝑝 0 𝑝 1 and 𝑝 1 𝑝 Move from 𝑝 0 to 𝑝 1 then to 𝑝 2 . 𝑝 2 𝑝 1 𝑝 0 𝑝 0 𝑝 2 𝑝 1 𝑝 1 𝑝 2 𝑝 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 𝑝 0 𝑝 1 × 𝑝 1 𝑝 2 = 0
𝑝 0 𝑝 1 × 𝑝 1 𝑝 2 = 0 𝑝 1 , 𝑝 2 , 𝑝 3 are collinear. 𝑝 1 𝑝 2 𝑝 0 𝑝 2 𝑝 1 𝑝 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 𝑙 1 𝑙 2 : 𝑎 2 𝑥+ 𝑏 2 𝑦+ 𝑐 2 =0 𝑝 Rewrite the above equations as dot products: ( 𝑎 1 , 𝑏 1 , 𝑐 1 ) ∙ (𝑥,𝑦,1) =0 𝑙 2 ( 𝑎 2 , 𝑏 2 , 𝑐 2 ) ∙ (𝑥,𝑦,1) =0 Hence (𝑥,𝑦, 1) is perpendicular to both ( 𝑎 1 , 𝑏 1 , 𝑐 1 ) and ( 𝑎 2 , 𝑏 2 , 𝑐 2 ) (𝑥,𝑦, 1) must be parallel to their cross product!

14 Homogeneous Coordinates
Represent every point (𝑥, 𝑦) as 𝑥, 𝑦, 1 . homogeneous coordinates of (𝑥, 𝑦) 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:
Take the cross product of the two coefficient vectors: Intersection point:

16 Two Parallel Lines 𝑎 1 𝑏 2 − 𝑏 1 𝑎 2 =0 𝑙 1 : 𝑎 1 𝑥+ 𝑏 1 𝑦+ 𝑐 1 =0
𝑙 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 ) ( 𝑥 2 , 𝑦 2 ) 𝑎, 𝑏, 𝑐 ∙ 𝑥 1 , 𝑦 1 ,1 =0 𝑎, 𝑏, 𝑐 ∙ 𝑥 2 , 𝑦 2 ,1 =0 𝑎, 𝑏, 𝑐 = 𝑥 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) and equation

18 Advantages of Homogeneous Coordinates
Scaling independent: 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

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


Download ppt "Computational Geometry"

Similar presentations


Ads by Google