26、多边形可见性与路径查询:算法原理与实践

多边形可见性与路径查询:算法原理与实践

1 最小嵌套多边形计算

1.1 问题定义

给定两个简单多边形 (P) 和 (Q),其中 (Q \subset P),目标是计算一个嵌套在 (P) 和 (Q) 之间且顶点数最少的多边形 (K)。

1.2 判断 (K) 是否为凸多边形

  • 引理 7.5.7 :存在一个嵌套在 (P) 和 (Q) 之间的凸多边形 (K),当且仅当 (P) 的边界不与 (Q) 的凸包相交。
  • 判断算法步骤
    1. 用 Graham 和 Yao 的算法计算 (Q) 的凸包 (C)。
    2. 取 (Q) 中的一点 (z),用 Lee 的算法计算从 (z) 看 (P) 的可见多边形 (V(z))。
    3. 从 (z) 出发,通过 (C) 和 (V(z)) 的每个顶点画射线,将平面划分为多个楔形区域。
    4. 合并 (C) 和 (V(z)) 顶点围绕 (z) 的角顺序,形成楔形区域的有序角顺序。
    5. 按有序角顺序遍历楔形区域,检查每个楔形区域内的边对是否相交。
    6. 若检测到相交,则报告 (K) 不是凸多边形;否则,报告 (K) 是凸多边形。

1.3 计算凸嵌套多边形 (K)

当 (K) 为凸多边形时,计算步骤如下:
1. 用 Graham 和 Yao 的算法计算 (Q) 的凸包 (C)。
2. 用 Gh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值