Извиняюсь заранее за трудных для объяснения вопрос, на который ответ не может быть просто «не» ...Простой способ вернуть значения, аппроксимирующие кривую sin/cosin, без использования тригонометрии?
У меня есть значение, -1 >= n <= 1
Я хотел бы, чтобы увеличить амплитуду , скажем, 2: 2*n
Я хотел бы также отрегулировать его фазу, скажем, .5: 2*n + .5
Как я могу сделать это так, что, когда п возрастает прошлое 1, он переворачивается знаки и сводится, для примера le: когда n увеличивается до 1,1, результат на самом деле .9.
Я знаю, что это может быть сделано с помощью тригла, но у меня возникают трудности, увеличивая его амплитуду и смещает фазу - к тому времени я закончу делать как я получаю это выражение:
Math.sin(n*1.57 + Math.PI/4)
И для этого выражения мне еще нужно выполнить дополнительные вычисления/округление, чтобы получить мои окончательные значения; выражение становится сложным раздутым.
Мне интересно, есть ли более простой способ получить желаемый диапазон/значения, избегая триггеров? Я представляю себе оператор, подобный модулю, кроме как «сброс» на 0, он уменьшает значение ...
Не могли бы вы добавить более длинную последовательность желаемого результата, от 5 до 10 элементов? – LutzL
Вы хотите, чтобы приблизительные значения синуса/косинуса для (pi * x), такие как [Bhaskara I's] (https://en.wikipedia.org/wiki/Bhaskara_I's_sine_approximation_formula) или функция зуба пилы с периодом 4? – traktor53
Спасибо @ Traktor53 - Формула Bhaskara I была очень интересной для чтения/теста. Я думаю, что я просто хотел убедиться, что не было причудливого оператора (например,%), которого я пренебрегаю. Кажется, использование триггера - самый простой способ сделать то, что я хочу. – calipoop