你好
在我的2d软件中,有两个可用输入:
XY点数组
[(x,y),(1,1),(2,2),3),(-1,...]
和另一个表示闭合的2D贝塞尔曲线手柄的矩阵
[((x,(x,y)),((-1,-1),2)),((1,3)),...]
如何使用python检查点在给定曲线的内部还是外部?最好使用numpy
我不知道贝塞尔曲线的原理,因此,如果第二点列表是一种表示贝塞尔曲线的压缩方式,请首先尝试以所需的精度对曲线的一些点进行采样。 因此,您的曲线上有n个点,然后可以应用简单的PIP算法:https://en.wikipedia.org/wiki/Point_in_polygon
如果您想知道如何以编程方式进行操作,稍后可以详细解释。
,我不能在这里编写代码,因为我需要整个程序来正确理解,但是我可以提供两种方法来做到这一点。
这种方法的巨大缺点是精度取决于您将曲线近似于多段线的程度。
与第一个方法相关的一些链接: