我想找到y = ax2 + bx + c
形式的曲线方程来自以下svg路径:
<path id="curve1" d="M100,200 C100,100 400,100 400,200" />
这给了我4点,可以在附图上看到。
维基百科有一篇很棒的文章解释贝塞尔曲线但是我不知道如何应用那里显示的数学来得到曲线的方程。 http://en.wikipedia.org/wiki/B%C3%A9zier_curve
答案 0 :(得分:6)
你不能。
您正在显示的SVG使用立方体路径,该路径使用三阶参数曲线,意味着它具有以下形式:
fx(t) = x1 * (1-t)³ + x2 * 3 * (1-t)²t + x3 * 3 * (1-t)t² + x4 * t³
fy(t) = y1 * (1-t)³ + y2 * 3 * (1-t)²t + y3 * 3 * (1-t)t² + y4 * t³
(为t
绘制,从0开始,包括1,包括在内)。
因此,有两个理由说明您无法将该曲线表示为y=ax²+b
形式:
ax³+bx²+c
,而y
根本不是x
表示,而是两者 x
和y
值由&#34;主参数&#34;控制t
。 我们知道像y=ax²+b
这样的第二度函数只能模拟抛物线,看图像我们可以看到绘制的曲线看起来就像其中一个(甚至不是一个压扁的抛物线),所以我们可以&#39甚至&#34;有点像&#34;在这种情况下,用二阶函数逼近曲线。
(有时你可以侥幸逃脱,但绝对不是这种情况)