160 likes | 398 Views
计算几何初步. 2011 级 ACM 班 潘哲逸. 计算几何. 点 线 面 多边形 圆 二维 三维 ……. 计算几何. P oint: (x, y) Line: (x 0 , y 0 )->(x 1 , y 1 ) Circle: (x, y, r) Polygon: (x 0 , y 0 )->(x 1 , y 1 )->…->(x n-1 , y n-1 )->(x 0 , y 0 ) ……. 简单关系. 点 p 是否在线段 ab 上: dis(a, b) = dis(p, a) + dis(p, b) 点 p 是否在直线 ab 上:
E N D
计算几何初步 2011级ACM班 潘哲逸
计算几何 • 点 • 线 • 面 • 多边形 • 圆 • 二维 • 三维 • ……
计算几何 • Point: (x, y) • Line: (x0, y0)->(x1, y1) • Circle: (x, y, r) • Polygon: (x0, y0)->(x1, y1)->…->(xn-1, yn-1)->(x0, y0) • ……
简单关系 • 点p是否在线段ab上: • dis(a, b) = dis(p, a) + dis(p, b) • 点p是否在直线ab上: • 叉积: • 点p在直线ab上方还是下方
简单关系 • 判断两直线ab、pq是否相交 • 判断是否平行。 • 判断 • 判断两线段ab、pq是否相交 • a和b在直线pq两边且p和q在直线ab两边。 • 叉积判断。
简单关系 • 求两直线ab、pq交点 • (x, y)法向量(y, -x) • 坐标旋转 • (x, y)绕原点逆时针转a度:(xcosa – ysina, ycosa + xsina)
简单关系 • 判断点与圆位置关系: • 点与圆心距离(圆内、圆上、圆外) • 直线与圆位置关系: • 点到直线距离 • 法向量、坐标旋转。
简单关系 • 圆与直线求交 • 圆与圆求交 • 两圆求公切线 • 圆与多边形面积交
多边形 • 多边形面积。
多边形 • 判断点是否在多边形内。 • 随机射线 • 与多边形相交奇数次
多边形 • 求凸包。 • Graham扫描法 • 极角序 • 水平序
例题 • 圆面积并。
其他问题 • 最远点对 • 最近点对 • 最小圆覆盖 • 半平面交 • ……
作业 • http://poj.org/problem?id=3304 • http://poj.org/problem?id=1113 • http://poj.org/problem?id=1654 • http://poj.org/problem?id=1228 • http://www.spoj.com/problems/CIRU/ • http://poj.org/problem?id=2516