【发布时间】:2019-11-09 22:18:44
【问题描述】:
我正在处理分配 2d 艺术画廊的问题,以找到最少数量的顶点守卫。作为使用遗传算法解决问题的一部分,我需要找出放置在顶点上的守卫可见的多边形区域。
输入是一个具有已知 2d (x,y) 坐标的多边形。你能帮我知道如何计算放置在多边形顶点上的守卫(即他可能看到的多边形的哪一部分)的可见性吗?
【问题讨论】:
-
到目前为止您尝试过什么?你能缩小你的问题吗?您描述的一般问题已得到很好的研究和记录。首先从你的后卫通过凹角创建光线,找到它们与多边形的交点,并以合理的方式连接它们。
-
我有这个对多边形进行三角剖分的想法。如果形成的三角形有一个与保护顶点共享的顶点,那么我可以说保护可以查看这个三角形。如果没有共享顶点,我会从保护顶点绘制线段到每个其他三角形顶点,如果这些线段中的任何一条切割多边形的边,我会认为三角形从保护顶点不完全可见。
-
但是,我不确定这是否是一个优雅的解决方案。关于一般问题,我看过各种研究论文,但没有一篇谈到如何计算可见度的细节。如果您认为对我有帮助,请分享资源