我们都知道如何检查if a 2D point is inside a 2D polygon,但如果一个点位于由直线、圆弧、椭圆弧和样条线构成的复杂轮廓内,那么如何精确地检查?我的意思是不用偏差公差把它转换成二维多边形。
你知道解决这个问题的有效方法吗?
谢谢。

最佳答案

缠绕/交叉测试将处理多个多边形您只需要能够将轮廓与特定的线相交(对于卷绕编号,还需要计算轮廓在该点的切线)您还需要对数值精度稍微小心一点,并记住,双根计为2个交点。
对于样条曲线,虽然有直线/样条曲线相交方法,但离散到多边形(记住,您只需要穿过直线的多边形的一小部分)可能是最简单的方法。

10-01 19:17
查看更多