Skip to content

Редактирование функций

maxim-s-barabash edited this page May 18, 2020 · 4 revisions

В разделе "Функции" вкладки "Параметры" задаются диапазон значений переменной a и функции координат X и Y точек узора в прямоугольных координатах. X(a) соответствует радиусу, а Y(a)Углу в радианах в полярных координатах при установке галочки "Полярные координаты".

Координаты и значения функций 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))