我有一个相当复杂的问题。假设我的形状如下。您可以将红点视为一个人,而将大多边形内部的尖锐形状视为障碍。我的目标是计算人在大多边形内的总畅通视力,即多边形的面积减去红色阴影区域。
我想编写一个函数,将人的坐标,障碍物的有序顶点的坐标和大多边形的有序顶点的坐标都接受,并返回畅通无阻的视觉区域。] >
我已经尝试了多种方法,并且我知道鞋带算法,但是我想出的唯一方法是通过蒙特卡洛。我可以提示以更智能,更有效的方式以封闭形式计算面积吗?
我有一个相当复杂的问题。假设我的形状如下。您可以将红点视为一个人,而将大多边形内部的尖锐形状视为障碍。我的目标是计算...
我认为您的问题已通过找到“可见性多边形”解决。https://en.wikipedia.org/wiki/Visibility_polygon
首要任务是从人身上获得两条极端的视线。简单的暴力检查。我怀疑是否有更好的方法,除非您需要在每一帧进行此计算。 (请参阅下面的(a))。