Title: Introduction to Computational Geometry
1Introduction to Computational Geometry
2Agenda
- Dot, Line and Plane
- Cartesian Coordinate System
- Straight Line and Segment
- Distance how to measure?
- Cartesian Coordinate Geometry
- Vector Geometry
- Intersections
- Polygons
3DOT, LINE AND PLANE
4Geometry
- Geometry (Greek ?e?µet??a geo earth, metria
measure) is a part of mathematics concerned
with questions of size, shape, and relative
position of figures and with properties of
space. Wikipedia - What to deal with?
- Lines
- Polygons
- Planes
- Objects (in N dimensional!)
5Geometry
- Geometry (Greek ?e?µet??a geo earth, metria
measure) is a part of mathematics concerned
with questions of size, shape, and relative
position of figures and with properties of
space. Wikipedia - What to deal with (Computationally)?
- Lines
- Polygons
- Planes
- Objects (in N dimensional!)
6Simple geometry revisit
- 1-Dimensional
- Simply R
- a single point and line only
- e.g. Number Line
- 2-Dimensional
- 2-tuple (a.k.a. pair)
- Can represent point, line and plane
- 3-Dimensional
- 3-tuple (a.k.a. Triple)
- Can represent?
7Computational Geometry
- Adopt algorithmic approach to solve problems in
terms of geometry - e.g. List out all possible distinct intersection
points, given several lines - In this session, we only focus on 2-D geometry
only - Further info can be found at Advanced
Computational Geometry
8CARTESIAN COORDINATESYSTEM
- You must have learnt it in Mathematics
9Cartesian Coordinate System
- Terminologies
- Dont tell me that you dont know them!
y-axis
A point with ve x and y coordinates
x-axis
10Cartesian Coordinate System
- Terminologies
- Dont tell me that you dont know them!
y-axis
A straight line with negative slope, passing
through origin
x-axis
11Cartesian Coordinate System
- Terminologies
- Dont tell me that you dont know them!
y-axis
A regular pentagon
x-axis
12Cartesian Coordinate System
y-axis
Two straight lines intersecting at one point
x-axis
13Cartesian Coordinate System
y-axis
A straight line intersects the pentagon at two
points
x-axis
14Cartesian Coordinate System
- So how to deal with
- Learn more and you will know
15LINE AND SEGMENT
16Line and Segment
- Line infinitely long
- Segment Finite region within the line
- Line is a more general representation of any line
segment within itself
17DISTANCE
- Way to describe how far we are
18Distance
- Problem Given two points, how far are they?
- Use ruler to measure
- In computer, no way!
- Not precise enough!
Length l
P2 (x2, y2)
P1 (x1, y1)
19Distance
- Problem Given two points, how far are they?
- If we do not care about the actual distance
- Think about that the world is full of grids
- And you can only walk on their sides
- The famous Manhattan Distance
Length l
P2 (x2, y2)
P1 (x1, y1)
20Distance
- Problem Given two points, how far are they?
- If we do care about the actual distance
- Manhattan distance gives us a brief idea to
calculate the actual distances - If you have learnt Pythagorass Theorem
- Euclidean Distance
P2 (x2, y2)
Length l
b y2 y1
P1 (x1, y1)
a x2 x1
21Distance
- Problem Given a line segment, how long is it?
- Treat the two ends as points
- Go back to last slide
22Distance
- Problem Given two line segments, which one
- is the longest?
- Easy
- Euclidean Distance
- Apply Pythagorass Theorem
- Compare the length
- Really that easy?
23Distance
- Problem Given two line segments, which one
- is the longest?
- Difficulties
- Length of segment A v4 2
- Length of segment B 1.9999999
- In computer, it may turn out that A B!
- Known as precision error
- Cure
- Use Manhattan Distance (does it work?)
- LA gt LB ? LA2 gt LB2 when LA and LB are
non-negative
24CARTESIAN COORDINATEGEOMETRY
25Coordinate Geometry
- Basically from Cartesian Coordinate System
- How to describe
- A point?
- (x, y) Coordinates for 2D
- A line?
- Straight line equation
- A line segment?
- Straight line equation, plus range of x and y
- Two points form a segment
26Coordinate Geometry
- For straight line, we need to know its slope
- Given two points on the line
- slope m change of y value / change of x value
- What if x 0?
- Common representation point-slope form
- (y-y1) m(x-x1)
- Always possible to represent?
- Another choice two-point form
- y - y1 / x x1 y1 y2 / x1 x2
- If x1 x2, then?
27VECTOR GEOMETRY
28Vector Geometry
- What is a vector?
- Geometric object which has both magnitude and
direction (think of line segment) - A notation of means a motion from A to B
- Notation (x, y) means a point P from O (0, 0) to
- (x, y) (Note the terminology!)
29Vector Geometry
- Properties
- Length of vector
- Addition (x1, y1) (x2, y2) (x3, y3)
- Subtraction Reverse addition only
30Vector Geometry
- Properties
- Multiplication
- Dot Product (x1, y1)? (x2, y2) x1x2 - y1y2
- Projection of (x1, y1) under (x2, y2) with
product of their length - Wedge Product (x1, y1)(x2, y2) x1y2 - y1x2
- Dot Product on itself?
- Wedge Product on itself?
31Vector Geometry
- Straight line equation
- Describe any vectors r that end on a line u,
which passes through r0(a, b) and parallel to
r1(c, d) - u r r0 tr1 , t is any real number
32INTERSECTIONS
33Intersections
- Recall the previous problem
- How to find the intersection point, if any?
34Intersections
- How to find the intersection point, if any?
- Cartesian coordinate geometry
- Given K straight line equations, find all
distinct intersection point(s) - Usually a line is defined by giving two arbitrary
points which are on the line - How to represent its equation?
- What if a line is a vertical line?
35Intersections
- How to find the intersection point, if any?
- Cartesian coordinate geometry
- Given 2 straight line equations, find all
distinct intersection point(s) - HKOI1998 Junior Q1 Simultaneous Equations
- How about K lines?
36Intersections
- How to find the intersection point, if any?
- Vector geometry
- Given 2 straight line equations, find all
distinct intersection point(s) - Need to find their equations?
- Two vectors are formed, let them be AB and CD
- We let vector itself be a line
- In general, r0 OA, r1 AB
37Intersections
- How to find the intersection point, if any?
- Vector geometry
- Given 2 straight line equations, find all
distinct intersection point(s) - Two vectors are formed, let them be AB and CD
38Intersections
- How to find the intersection point, if any?
- Vector geometry
- Clearly, produces the intersection
point - What if is zero?
- Parallel but not the same line
- Parallel but they are on the same line
- How about the segment intersection?
39POLYGON
40Polygon
- If time allows, we would discuss the following
topics - Polygon Convex or Concave
- Is a point inside or outside a polygon?
- Given N points, can I find a minimum bounded
polygon that includes those points? - I have two convex polygons, tell me their
intersection area - I have two polygons, tell me if they can combine
to a single polygon through rotation and
translation
41Practice Problems
- HKOJ2071 Little Stage
- HKOJ2074 Storage Centre
- HKOJ2980 Simultaneous Equation
42QA