提前为一个难以解释的问题道歉,答案可能只是“否”...
我有一个值 -1 >= n <= 1
我想增加它的振幅,比如增加 2:2*n
我还想调整它的相位,比如 .5:2*n + .5
我怎样才能做到这一点,以便当 n 增加超过 1 时,它翻转符号并减少自身,例如:当 n 增加到 1.1 时,结果实际上是 .9。
我知道这可以使用三 Angular 函数来完成,但是我很难增加它的振幅和改变它的相位 - 当我完成这两项操作时,我得到了这个表达式:
Math.sin(n*1.57 + Math.PI/4)
对于那个表达式,我仍然需要执行额外的计算/舍入以获得我的最终值;表情变得复杂臃肿。
我想知道是否有更简单的方法来获得所需的范围/值,完全避免触发?我想象一个类似于模的运算符,除了不是“重置”为 0,它值(value)下降...
最佳答案
事实证明,三 Angular 波解决了我的问题。它给出类似于正弦的振荡值(毫不费力),并且它避免了 Math.trig 并简化了我的公式。我扩展了 this 中给出的公式所以回答以及这些wikipedia formulas .
Fried Brice 的回答表明锯齿波是正确的 - 但三 Angular 波更适合我,1 线公式让我的眼睛感觉更好。
关于javascript - 在不使用三 Angular 函数的情况下返回近似正弦/余弦曲线的值的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41666105/