-
Notifications
You must be signed in to change notification settings - Fork 22
Редактирование функций
В разделе "Функции" вкладки "Параметры" задаются диапазон значений переменной a и функции координат X и Y точек узора в прямоугольных координатах. X(a) соответствует радиусу, а Y(a) — Углу в радианах в полярных координатах при установке галочки "Полярные координаты".
Координатная плоскость имеет границы по обеим осям от -1 до 1 с центром в середине открытого изображения. Половина большего размера изображения (ширины или высоты) равна единице на координатной плоскости. Таким образом, чтобы узор находился на изображении, функции должны принимать значения в пределах -1 до 1. Положительные значения оси X находятся справа от центра, оси Y — как ни странно, снизу.
В случае с полярными координатами функция угла может принимать любое значение, либо вообще отсутствовать, что будет означать равнопеременное изменение угла в пределах переменной a. Так как угол измеряется в радианах, то диапазон значений переменной a от 0 до 6.28318 позволит нарисовать полную окружность.
Важно! Регистр букв имеет значение.
Функции X(a) и Y(a) могут принимать в качестве аргументов несколько жёстко заданных переменных и констант:
-
a
— переменная с диапазоном значений, указываемых пользователем, -
i
— целочисленная переменная, с диапазоном значений от 1 до n, -
n
— константа, равная числу линий в узоре, -
pi
— число Пи, -
e
— число e.
Значения функции, равной 1-2*i/n, дискретны и будут лежать в пределах от 1 до -1.
Арифметические операторы, их приоритет и правила написания чисел полностью соответствуют таковым в языке программирования Python.
В порядке очереди выполнения операции:
-
()
— скобки, служат для задания максимального приортета операции, заключённой в них, например(2+2)*2=8
; -
**
— двойная "звёздочка", возведение в степень,2**4=16
; -
-
— минус унарный, изменяет знак числа, например-32
, однако, следуя приоритетам-2**2=-4
, но2**-2=0.25
; -
*
,/
— стоят в одной строке, поскольку имеют одинаковый приоритет:*
— умножение,2*32=64
,/
— деление,64/8=8
; -
+
,-
— сложение и вычитание,2+2-4=0
;
Не следует путать оператор ^
(побитовый XOR), с оператором возведения в степень.
Дробная часть от целой в вещественных числах записываются через точку, например 1.618.
В Вашем распоряжении имеется ряд предопределённых функций из модуля math библиотеки языка Python, которые Вы можете использовать в своих выражениях.
-
cos(a)
— косинус угла в радианах, -
sin(a)
— синус угла, -
tan(a)
— тангенс угла, -
sqrt(a)
— квадратный корень из числа a, эквивалентно выражениюa**0.5
, -
abs(a)
— абсолютное значение (модуль) числа a.
Пример функции X(a):
i/n-(i/n)**3*(0.1*abs(sin(a*20))-0.05*cos(a*20))