使用Python获取无障碍区域

问题描述 投票:0回答:2

我有一个相当复杂的问题。假设我的形状如下。您可以将红点视为一个人,而将大多边形内部的尖锐形状视为障碍。我的目标是计算人在大多边形内的总畅通视力,即多边形的面积减去红色阴影区域。

我想编写一个函数,将人的坐标,障碍物的有序顶点的坐标和大多边形的有序顶点的坐标都接受,并返回畅通无阻的视觉区域。] >

我已经尝试了多种方法,并且我知道鞋带算法,但是我想出的唯一方法是通过蒙特卡洛。我可以提示以更智能,更有效的方式以封闭形式计算面积吗?

enter image description here

我有一个相当复杂的问题。假设我的形状如下。您可以将红点视为一个人,而将大多边形内部的尖锐形状视为障碍。我的目标是计算...

python computer-vision geometry vision
2个回答
1
投票

我认为您的问题已通过找到“可见性多边形”解决。https://en.wikipedia.org/wiki/Visibility_polygon


1
投票

首要任务是从人身上获得两条极端的视线。简单的暴力检查。我怀疑是否有更好的方法,除非您需要在每一帧进行此计算。 (请参阅下面的(a))。

© www.soinside.com 2019 - 2024. All rights reserved.