Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 如何沿贝塞尔样条线查找相交的Y值?_Graphics_Bezier_Spline - Fatal编程技术网

Graphics 如何沿贝塞尔样条线查找相交的Y值?

Graphics 如何沿贝塞尔样条线查找相交的Y值?,graphics,bezier,spline,Graphics,Bezier,Spline,我已经有一段时间没有做过这种数学了,也许有人能帮我回答这个问题。我不认为这个问题正是我想要的,因为我试图找到精确x值的交点 我有一条从X,Y到XX,YY的样条曲线,每一端都有控制点。我想我说的是正确的,它将是一条二次曲线(曲线本身不会交叉)。我计划使用给定图形库(目前认为是HTML5画布)中的路径例程来画这条线,所以我不会自己画 我有很多点,用X+n表示,我想找到交点的Y值。我不是问路径上给定点的位置,我是问路径上与X线相交的位置 我计划画一条垂直线来与它相交,因此如果可能的话,如果点足够精确,

我已经有一段时间没有做过这种数学了,也许有人能帮我回答这个问题。我不认为这个问题正是我想要的,因为我试图找到精确x值的交点

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

我有很多点,用X+n表示,我想找到交点的Y值。我不是问路径上给定点的位置,我是问路径上与X线相交的位置

我计划画一条垂直线来与它相交,因此如果可能的话,如果点足够精确,以令人信服的方式与曲线相交(而不是偏离几个像素),那就太好了

我自己画这条线看起来并不难,所以我可以这样做,只要测试(带公差)图上的X值,如果需要的话


*数学

最近我回答了一个非常类似的问题,关于如何学习。答案从一端的三次方程的精确解(因为三次贝塞尔样条曲线是最常见的)到另一端的简单二分法,中间有各种寻根算法。你挑吧。

我不确定我是否完全理解你想要什么。你有一条贝塞尔曲线(三次曲线还是二次曲线?),你想找出一条线X=k与贝塞尔曲线相交的地方吗?难道你不能把k插入贝塞尔方程,然后解出t吗?例如,将B(t)替换为k,并求解t。(它可能是多值的。)请参阅查找三次方程的根。我可以,但我希望可能有现成的函数或库或其他东西为我做这件事(在伪代码、JavaScript或C(我可以轻松地将其移植到JS中))。可能重复