指向多边形边缘

时间:2015-09-28 12:57:33

标签: .net graphics 3d geometry

确定点是否在多边形边缘的最佳方法是什么?我们现在使用点与其最近的多边形边之间的距离,但估计所有多边形情况的距离限制实际上是一个难题。

欢迎任何想法。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以单独处理每个边缘并且"放大"它们形成所需宽度的矩形条。

这是通过将测试点投影到边缘支撑线上,检查投影是否落在线段上,并计算两点之间的距离来完成的。

AB成为边缘段,P成为点。 Q(t) = A + t AB是沿着边缘的任意点,我们希望它是投影,所以矢量,

PQ(t).AB = (PA + t AB).AB = 0,

t = - PA.AB / AB²

只需检查t是否属于[0,1]并计算|PQ(t)|

为了在拐角处进行良好的处理,您可以考虑从点到顶点的距离。

保持所有距离的最短距离。

enter image description here