我正在尝试在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时钟的滴答声)。

07-24 09:39