当前位置 : 主页 > 手机开发 > ios >

ios – 在三次贝塞尔曲线上求出一个点的切线

来源:互联网 收集:自由互联 发布时间:2021-06-11
对于三次Bézier曲线,通常有四个点a,b,c和d, 对于给定值t, 如何最优雅地找到那一点的切线? 曲线的正切只是它的导数. Michal使用的参数方程: P(t) = (1 - t)^3 * P0 + 3t(1-t)^2 * P1 + 3t^2 (1-t) * P
对于三次Bézier曲线,通常有四个点a,b,c和d,

对于给定值t,

如何最优雅地找到那一点的切线?

曲线的正切只是它的导数. Michal使用的参数方程:

P(t) = (1 - t)^3 * P0 + 3t(1-t)^2 * P1 + 3t^2 (1-t) * P2 + t^3 * P3

应该有一个衍生物

dP(t) / dt =  -3(1-t)^2 * P0 + 3(1-t)^2 * P1 - 6t(1-t) * P1 - 3t^2 * P2 + 6t(1-t) * P2 + 3t^2 * P3

顺便说一句,在你之前的问题中,这似乎是错误的.我相信你在那里使用斜率为二次贝塞尔曲线,而不是立方.

从那里开始,实现执行此计算的C函数应该是微不足道的,就像Michal已经为曲线本身提供的那样.

网友评论