Closed. This question needs debugging details。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
以下是三次插值函数:
给定0.0f-1.0f之间的值,此函数将在起始值和最终值之间进行三次插值。如果要绘制此曲线,最终将得到如下结果:
这里的三次函数是:
如何调整此值以产生和产生两个切线?
产生这样的曲线:(线性起点到立方终点)
作为一项功能
就像这样:(立方开始到线性结束)
任何人有任何想法吗?提前致谢。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
以下是三次插值函数:
public float Smooth(float start, float end, float amount)
{
// Clamp to 0-1;
amount = (amount > 1f) ? 1f : amount;
amount = (amount < 0f) ? 0f : amount;
// Cubicly adjust the amount value.
amount = (amount * amount) * (3f - (2f * amount));
return (start + ((end - start) * amount));
}
给定0.0f-1.0f之间的值,此函数将在起始值和最终值之间进行三次插值。如果要绘制此曲线,最终将得到如下结果:
这里的三次函数是:
amount = (amount * amount) * (3f - (2f * amount));
如何调整此值以产生和产生两个切线?
产生这样的曲线:(线性起点到立方终点)
作为一项功能
就像这样:(立方开始到线性结束)
任何人有任何想法吗?提前致谢。
最佳答案
您想要的是Cubic Hermite Spline:
其中p0是起点,p1是终点,m0是起点切线,m1是终点切线
10-08 08:21