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

对于三次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已经为曲线本身提供的那样.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...