如何沿贝塞尔曲线找到相交的Y值?

时间:2012-01-21 14:55:34

标签: graphics bezier spline

自从我做过这类数学以来已经有一段时间了,所以也许有人可以为我解答这个问题。我不认为这个问题正是我想要的,因为我试图找到精确x值的交叉点。

所以我的样条曲线从X,Y到XX,YY,每一端都有控制点。我想我会说它是一条二次曲线是正确的(曲线不会自行交叉)。我打算使用给定图形库中的路径例程(目前正在考虑HTML5画布)来绘制这条线,所以我不会自己绘制它。

我有许多点,表示为X + n,我想找到交叉点的Y值。我不是要求路径上沿路径的位置,我要求路径上与X线相交的位置。

我打算画一条垂直线来迎接它,所以如果可能的话,如果这个点足够精确,以令人信服的方式与曲线相遇(不会偏离几个像素),那就太棒了

例程并不难以自己绘制线条,所以我可以这样做,只是测试(带宽度)沿着图表的X值,如果有的话。

*数学

1 个答案:

答案 0 :(得分:0)

最近我回答了一个关于如何transform 2d spline function f(t) into f(x)的非常相似的问题。这里的答案范围从一个方程的精确解(一般是贝塞尔贝塞尔样条是最常见的样条)和另一方面的简单二等分,其间有各种根寻找算法。随便挑选。