javascript - 在不使用三 Angular 函数的情况下返回近似正弦/余弦曲线的值的简单方法?

标签 javascript math trigonometry

提前为一个难以解释的问题道歉,答案可能只是“”...

我有一个值 -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 .

Triangle wave with period 4 and amplitude 2

Fried Brice 的回答表明锯齿波是正确的 - 但三 Angular 波更适合我,1 线公式让我的眼睛感觉更好。

关于javascript - 在不使用三 Angular 函数的情况下返回近似正弦/余弦曲线的值的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41666105/

相关文章:

javascript - jquery 脚本仅适用于 Firefox

javascript - 为尚未附加的元素绑定(bind) "insertion into DOM event"

javascript - 给定 y,在贝塞尔曲线上获取 x

php - 在生成 HTML 输出之前从 php 中的外部 javascript 获取 cookie

C++ Cosine 在没有 std 命名空间的情况下工作——为什么?

python - 使用 Python 复制计算器结果

algorithm - 渐近分析

math - 加权随机坐标

日期算术 : Cassandra 4

ios - 沿弧线放置 UICollectionViewCells (UIBezierPath)