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

Miz*_*zor 4 language-agnostic math bezier

我试图实现贝塞尔曲线和线段交叉测试.我搜索到的最接近的事情是采用贝塞尔曲线(为简单起见,将其限制为三个控制点)找到生成该曲线的数学函数并将其放在原点上.然后,使用线段的函数作为另一个函数,让它们相等并求解方程.

许多消息来源陈述上述解决方案(除非我误解了它们),我的问题是我无法找到计算生成贝塞尔曲线的数学函数的方法.

哦,请指出我是否完全偏离找到交叉点.

Jos*_*ahn 12

贝塞尔曲线是参数函数.二次贝塞尔曲线(即三个控制点)可表示为:F(t)= A(1-t)^ 2 + 2B(1-t)t + Ct ^ 2其中A,BC是点和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,yt).