点可见性问题的深入探讨
在计算几何领域,确定几何对象在给定源点和各种约束条件下的可见区域是一个被广泛研究的问题。本文将围绕点的可见性问题展开,介绍相关概念、问题及多种算法。
1. 基本概念与问题定义
- 可见多边形 :对于简单多边形 $P$ 中的点 $q$,其可见多边形 $V(q)$ 是指 $P$ 中所有能从 $q$ 看到的点的集合,即 $V(q) = {p \in P | q \text{ 看到 } p}$。类似的定义也适用于带孔多边形或线段排列。计算点 $q$ 的可见多边形 $V(q)$ 的问题与隐藏线消除问题相关,也是计算机图形学渲染过程的一部分。
- 构造边 :设 $ab$ 是 $V(q)$ 边界上的一条边,满足:(i)除 $a$ 和 $b$ 外,$ab$ 上的任何点都不属于 $P$ 的边界;(ii)$q$、$a$ 和 $b$ 三点共线;(iii)$a$ 或 $b$ 是 $P$ 的顶点。这样的边 $ab$ 称为 $V(q)$ 的构造边。一旦知道了 $V(q)$ 的构造边,就可以通过添加相邻构造边之间的 $P$ 的边界来构造 $V(q)$ 的边界。由于每条构造边可以在 $O(n)$ 时间内计算(见练习 2.1.1),所以一个简单的计算 $V(q)$ 的算法需要 $O(n^2)$ 时间。
2. 不同类型多边形的算法
- 简单多边形
- 早期算法 :Davis 和 Benedikt 提出了 $O(n^2)$ 时间的算法。随后
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



