我正在尝试在Android上构建的Java应用程序中调制alpha值。现在它是这样的:
if (goingUp) {
newAlpha = oldAlpha + rateOfChange;
if (newAlpha > maxAlpha) {
newAlpha = maxAlpha;
goingUp = false;
}
} else {
newAlpha = oldAlpha - rateOfChange;
if (newAlpha < minAlpha) {
newAlpha = minAlpha;
goingUp = true;
}
}
其中rateOfChange是一个任意整数,不能大于maxAlpha。该方程式对线程中的每个刻度进行评估,并且与时间无关。
有没有办法只使用给定的变量+ Math.PI和其他Math元素(我假设Math.Sine将在其中)来使newAlpha成为Sine上的数字?
我以为min和max将是波动的放大器,rateOfChange将是Sine函数的乘积,我只是想不通这一切如何。
最佳答案
您的方程将如下所示:
y是时间t的垂直位置,A是幅度,f是频率,t是时间(或Android时钟的滴答声)。