Language agnostic 如何找到定义贝塞尔曲线的数学函数

Language agnostic 如何找到定义贝塞尔曲线的数学函数,language-agnostic,math,bezier,Language Agnostic,Math,Bezier,我正在尝试实现贝塞尔曲线和线段相交测试。我搜索到的最接近的东西是取贝塞尔曲线(为了简单起见,将其限制为三个控制点)找到生成该曲线的数学函数,并将其放置在origo上。然后,将线段的函数作为另一个函数,使它们相等,并求解方程 许多资料都说明了上述解决方案(除非我误解了),我的问题是我找不到计算生成贝塞尔曲线的数学函数的方法 哦,请指出我是否完全偏离了寻找交点的轨道。贝塞尔曲线是一个参数函数。二次贝塞尔曲线(即三个控制点)可以表示为:F(t)=A(1-t)^2+2B(1-t)t+Ct^2,其中A、B

我正在尝试实现贝塞尔曲线和线段相交测试。我搜索到的最接近的东西是取贝塞尔曲线(为了简单起见,将其限制为三个控制点)找到生成该曲线的数学函数,并将其放置在origo上。然后,将线段的函数作为另一个函数,使它们相等,并求解方程

许多资料都说明了上述解决方案(除非我误解了),我的问题是我找不到计算生成贝塞尔曲线的数学函数的方法


哦,请指出我是否完全偏离了寻找交点的轨道。

贝塞尔曲线是一个参数函数。二次贝塞尔曲线(即三个控制点)可以表示为:F(t)=A(1-t)^2+2B(1-t)t+Ct^2,其中A、B和C是点,t从零到一

这将为您提供两个方程式:

x=a(1-t)^2+2b(1-t)t+ct^2

y=d(1-t)^2+2e(1-t)t+ft^2


例如,如果你把直线方程(y=kx+m)加进去,你会得到三个方程和三个未知数(x、y和t)。

你定义的函数B(t)似乎包含在它的定义中,这是有意的吗?或者A、B和C是二维坐标(至少在我的例子中是这样的)?A、B和C是指二维坐标,是的。B的重复使用是无意的。中间项缺少系数2。应该是:F(t)=A(1-t)^2+2*B(1-t)t+Ct^2如果你是赞洛克,你当然是对的。B是一个控制点,所以2应该是明确的。我很惊讶几乎四年来没有人注意到。。。