我有一个控制器,用作pow功能的指数。这样可以轻松地改变价值观。有没有办法把它变成数学上的缓和?
我知道例如,立方体的易用性是:
pow(t, 3)
但缓和立方是:
(pow((t - 1), 3)) + 1
并缓和夸脱:
float t = t2 - 1
-(pow(t, 4) - 1)
所以公式改变了很多,我需要一个通用的方法,所以我可以使用像4.2,9.7这样的值作为指数等。
答案 0 :(得分:3)
对于整数指数,这称为Hermite插值。
还可以将此任务解释为多项式环中的中国余数定理的应用
f(x) == 0 mod x^p
f(x) == 1 mod (x-1)^p
解决方案的格式为
f(x) = a(x)*x^p+b(x)*(x-1)^p with deg a(x) < p, deg b(x) < p.
插入第二个方程式
a(x)*x^p == 1 mod (x-1)^p <=> a(y+1)*(y+1)^p == 1 mod y^p
可以通过二项式系列求解,即直接幂级数算术,无需求解线性方程组,
a(y+1) = 1 - p*y + p*(p+1)/2*y^2 - p*(p+1)*(p+2)/2*y^3 +-... ...*y^(p-1)
对于非整数指数,你为什么要这样做?
同时查找&#34; sigmoid功能&#34;。
<强>更新强>
如果衍生品的连续性不是一个问题,那么对于任何积极的a
,您可以c*x^a
使用0<=x<=0.5
,1-c*(1-x)^a
使用0.5<=x<=1
。要缩小x=0.5
处的差距,必须选择常量
1 = 2*c*0.5^a <=> c = 2^(a-1)
可以0<=x<=1
实现
y = (0.5>x) ? 0.5*pow(2*x,a) : 1-0.5*pow(2*(1-x), a);