确定对象是否在2D空间中的其他两个对象的路径中

时间:2018-09-17 20:04:50

标签: math coordinate-systems

说在x-y坐标中有3个由矩形定义的对象。矩形可以具有任何方向(不一定平行于轴)。

从对象A的角度(对象A可以从其矩形的任何地方看到)的角度来看,如何处理确定对象C是否部分,全部或完全不被对象B遮盖的问题?

第二个问题:是否可以确定可见的对象C的百分比?

1 个答案:

答案 0 :(得分:1)

这是我的方法(完全未经测试)。
首先考虑相同的问题,但仅从一个固定点P看。

找到穿过P的两条(无限)线并将其包围在矩形B中。由于它是矩形,所以这两条线将成为穿过P的四条线中的两条以及B的每个顶点。

检查C的每个顶点是否在这两行之间。如果C的任何顶点在这两条线之间,请检查它是否比B靠近P或更远。如果比B更远,则至少会部分遮挡C。

现在对A的每个顶点执行此操作。如果您从A的一个点P看到C的一部分,而与A的另一个点P看到C的另一部分,则可能会得到更复杂的结果。给你如何处理。

要确定覆盖率百分比,请计算从与这两条线相交的矩形C中获得的形状并计算其面积,然后除以该形状的总面积。

我将所有的数学知识留给您解决,但是如果您对工作有任何特定的问题,请随时提出。

添加一些图片会很好地帮助您解决此问题,但是我希望您可以根据提供的步骤绘制自己的图表时理解此问题。