给定:
来自串联贝塞尔曲线的样条曲线。
一个点
期望:
找到样条曲线的一个贝塞尔曲线,它最接近该点。
溶液:
迭代查找每个贝塞尔曲线上的最近点,并选择具有整体最近点的曲线。
问题:
如果不需要曲线上的确切点,有没有更简单的方法可以做到这一点?例如,操作员要比较两条贝塞尔曲线到给定点的距离,从它们的控制点?
我不需要知道到曲线 A、B、C 的距离......我"只需要"按曲线的相对距离对曲线进行排序。(-->找到最近的曲线,而不是最近的点。
谢谢!
您可以找到点与曲线边界框之间的最小距离和最大距离。这两个距离应该是点和曲线之间实际距离的下限和上限。所以,你有
MinDist(P, Bbox(C1)) <= Dist(P,C1)<= MaxDist(P, Bbox(C1))
MinDist(P, Bbox(C2)) <= Dist(P,C2) <= MaxDist(P, Bbox(C2))