二次贝塞尔曲线:计算切线。

5
我有一个二次贝塞尔曲线,想要计算给定点的切线斜率。例如,让它成为二次贝塞尔曲线的中间点,因此t=0.5(请参见下面的链接以获取此图片)。我已经计算了二次贝塞尔曲线公式的一阶导数;但是我得到的斜率值为400,尽管应该为0。也许我使用了错误的一阶导数?我知道我也可以使用三角函数来计算切线;但是我想使用第一导数来做到这一点,这不应该是可能的吗?感谢任何提示!
为澄清/请注意:我对在二次贝塞尔曲线上任意给定点上获取斜率的一般方法感兴趣,而不仅仅是获取起始点和终点的切线。
我的问题图片包括上面的文本: http://cid-0432ee4cfe9c26a0.skydrive.live.com/self.aspx/%c3%96ffentlich/Quadratic%20Bezier%20Curve.pdf 非常感谢任何提示!

2
链接似乎已经失效了。如果您能将公式翻译成问题本身,那就太好了。 - Soviut
2个回答

4

使用您的公式计算B'(t),在t=1/2处进行评估,我们得到:

B'(1/2) = -P0 + P2

从你的图表来看,P0 = (0,0) 且 P2 = (400,0)。因此

B'(1/2) = (400,0).

这是一个点沿着B(t)在t=1/2时的速率。

(400,0)是一个水平向量,大小为400。

所以一切都正常。由于B'(t)是水平的,因此它确实具有“斜率”0。


非常感谢您的回复,但是在等式2t*(0)+400中,“t”始终被消除,因为它与0相乘。 因此,在每个点上的斜率都将为0,这是不正确的! - stefan.at.kotlin
@stefan:B'(t)的x分量始终为400是正确的,但y分量不一定如此。尝试将y0=0,y1=100,y2=0用于P0、P1、P2的y分量,并计算y'(t)。您应该会发现y'(t)确实取决于t。 - unutbu
1
由于斜率是上升量除以行进量,因此斜率不是x'(t),而是y'(t)/x'(t)。 - unutbu
谢谢,明白了为什么B'(t)是400。而且y'(t)/x'(t)也可以正常工作。非常感谢您的帮助! - stefan.at.kotlin


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接