沿路径的相对位置

时间:2016-12-02 22:30:40

标签: path position raphael bezier

我有一个沿着开放路径移动的形状,我想知道如何得到它的相对位置,即给定形状的(x,y)坐标和路径的长度(L)(p) ,该函数应返回该点所在的比率(r)。

例如,r = 0表示该点位于路径的最开头,0.25表示四分之一,0.5表示等等。

我能做到的一种方法是迭代函数p.getPointAtLength()不同的长度增量,直到给定的位置在我原始点(x,y)的可接受范围内。然后简单地将此值除以p.getTotalLength()。

但有没有一种更有效,更精确的方法来知道在我的情况下路径是4点贝塞尔曲线?

2 个答案:

答案 0 :(得分:0)

简答:不。

重新参数化Bezier曲线的距离而非时间,这是一个非常重要的问题,没有一般的解决方案,所以到目前为止,“沿着计算机屏幕上的路径移动”的最有效方法是LUT-基于http://pomax.github.io/bezierinfo/#tracing

的方法

答案 1 :(得分:0)

对于那些可能感兴趣的人,以下是我的工作方式:

%APPDATA%\tox
相关问题