Данная статья является частью цикла статей Serum
Синтаксический анализатор формулы (текстовое поле находящееся в редакторе формы сигнала) позволяет вводить математические функции для генеративного построения таблиц.
Это достаточно продвинутая функциональность, которую большинство людей, вероятно, не имеют никакого желания исследовать. Однако, если вы хотите генерировать волновые формы из воздуха, то, возможно, сейчас самое время!
К счастью, есть много пресетов формул, и довольно легко вставить формулы, предоставленных другими пользователями (мы уверены, что хороший список будет сделан на форуме пользователей Serum!)
Основные функции
Название |
Аргументы |
Объяснение |
sin |
1 |
функция синусоида |
cos |
1 |
функция косинуса |
tan |
1 |
функция тангенса |
asin |
1 |
функция арксинуса |
acos |
1 |
функция арккосинуса |
atan |
1 |
функция арктангенса |
sinh |
1 |
функция гиперболического синуса |
cosh |
1 |
функция гиперболического косинуса |
tanh |
1 |
функция гиперболического тангенса |
asinh |
1 |
функция гиперболического арксинуса |
acosh |
1 |
функция гиперболического арккосинуса |
atanh |
1 |
функция гиперболического арктангенса |
log2 |
1 |
логарифм 2 |
log10 |
1 |
логарифм 10 |
log |
1 |
логарифм 10 |
ln |
1 |
логарифм, e (2.71828...) |
exp |
1 |
e, возведенное в степень х |
sqrt |
1 |
квадратный корень из значения |
sign |
1 |
функция знака: -1, если х < 0; 1 если х > 0 |
rint |
1 |
округление до ближайшего целого числа |
abs |
1 |
абсолютная величина |
min |
переменно |
минимум всех аргументов |
max |
переменно |
максимум всех аргументов |
sum |
переменно |
сумма всех аргументов |
avg |
переменно |
среднее значение всех аргументов |
Встраиваемое в бинарные операторы
В следующей таблице перечислены двоичные операторы, по умолчанию поддерживаемые анализатором.
Оператор |
Значение |
Приоритет |
&& |
логический и |
1 |
|| |
логический или |
2 |
<= |
меньше или равно |
4 |
>= |
больше или равно |
4 |
!= |
не равно |
4 |
== |
ровно |
4 |
> |
больше |
4 |
< |
менее |
4 |
+ |
сложение |
5 |
- |
вычитание |
5 |
|
умножение |
6 |
/ |
деление |
6 |
^ |
возвести x в степень y |
7 |
Константы и переменные
sel - относится к текущему ("старому") значению сигнала из выбранной таблицы (не изменяется в каждой таблице при использовании много-табличной формулы, другими словами, формула содержит y или z) как раз относится к выбранной таблице при начале обработки формулы.
rand - случайное число от -1,0 до 1,0 остается одинаковым для всех таблиц.
Название |
Объяснение |
pi |
pi (3.141592658979323846264338) |
e |
e (2.718281828182818281828) |
w |
текущее значение-времени получаемое графиком, от 0,0 до 1,0 |
x |
текущее значение-времени получаемое графиком, от -1,0 до 1,0 |
y |
текущий номер таблицы, от 0,0 до 1,0 *Смотри ниже |
z |
текущий номер таблицы, от -1,0 до 1,0 *Смотри ниже |
q |
Когда 'q' предустановлено в формуле, происходят функции участков FFT, вместо черчения формы сигнала. q проходит от 1 до 512 для соответствующих гармоник.** |
in |
текущее ("старое") видимое значение сигнала черчения таблицы (изменения в каждой из старых таблиц, при использовании 'Y' или 'Z' на который строит все таблицы) |
sel |
подобно "in", но только выбранная в данный момент таблица (не изменяется в каждой таблице, использует выбранную таблицу при начале обработки формулы) |
rand |
случайное число от -1,0 до 1,0, остается одинаковым для всех таблиц (предвычислено для каждого временного положения). |
* 'y' и 'z' относятся к текущему номеру таблицы. Таким образом, когда у или z находится в выражении, все таблицы для текущего генератора будет регенерированы!
** 'q', как уже упоминалось выше, делает функцию FFT вместо отображения сигнала. Там нет никаких оснований для включения 'х или у' в формуле, содержащей 'Q'