Всё о функциях

До сих пор мы использовали в наших примерах только предопределенные «функции». На этом занятии мы познакомимся с тем, как самим создавать и использовать «функции». Хотя, сами «функции» не могут быть непосредственно отображены на рабочем поле, они активно используются для создания «огибающих», «заполнителей», получения нерегулярностей, построения 3D-сеток. Во многом, разнообразие создаваемых Вами гильошей определяется используемыми для его построения «функциями».

Для создания и изменения «функций» служит редактор «функций».

В левой части окна находится список доступных «функций». Sin, Cos, Fn1, Fn2 и т.д. - это предопределенные функции. Они создаются автоматически. Впрочем, Вы можете их видоизменять как Вам захочется в процессе работы.

В программе Цербер предусмотрено два основных способа задания «функций»: Ряд Фурье и формула. Рассмотрим каждый из них.

1. Ряд Фурье. В этом случае «функция» получается путем сложения гармонических колебаний (синусоид и косинусоид). Составляющие (гармоники) определяются коэффициентами A, B, C и D, которые задаются в таблицах справа в относительных единицах. Увеличивая количество гармоник, Вы можете создавать всё более сложные функции. Однако следует помнить, что использование большого количества гармоник приводит к замедлению вычислений.

 

Вы можете вручную вводить значения коэффициентов, а можете попытаться нарисовать «функцию» вручную, а программа сама определит нужные коэффициенты. Правда, в этом случае нарисованная Вами «функция» будет воспроизведена с некоторой погрешностью.

 

2. Формула. При этом способе задания «функции» пользователь вводит формулу в параметрическом виде. Этот способ более универсален, чем первый. Однако, используя этот способ задания «функции», Вы должны учитывать следующие моменты: во-первых, вычисления с «функциями», заданными формулой, выполняются медленнее, чем Рядом Фурье; во-вторых, пользователь должен сам позаботиться о том, чтобы придуманная им «функция» была периодической.

 

А теперь попробуем создать несколько новых «функций» и используем их для получения витиеватого бордюра.

Шаг1. Задайте размер рабочего поля шириной = 100мм и высотой = 20мм.

Шаг 2. Создайте «основу» типа отрезок с параметрами по умолчанию.

Шаг 3. Создание новой «функции»

· зайдите в редактор «функций»

· выберите способ задания «функции» - Ряд Фурье.

· Нажмите кнопку [Новый]. Новой «функции» будет присвоено имя Funct.

· Установите количество гармоник AB = 3, а количество гармоник CD = 4.

· Задайте следующие коэффициенты A1=10; A3=-8; D4=-5. Остальные коэффициенты должны быть нулевыми.

· Щелкните мышкой по окну просмотра для отображения новой функции. У Вас должна получиться «функция» следующего вида

Шаг 4. Создайте «огибающую» со следующими параметрами

· Амплитуда = 2 мм

· Фаза = 0 град

· Смещение = -5 мм

· Частота = 20

· Основа = Base

· Функция = Funct

Шаг 5. Создайте «функцию» еще одну функцию

· Продублируйте «функцию» Funct. Имя новой «функции» будет Funct1

· Задайте следующие значения коэффициентам «функции» Funck1

· A1=-10; A3=-5; D4=4.

Шаг 6. Создайте еще две «огибающих» с параметрами

· Round1:

· Амплитуда = 3 мм

· Фаза = 0 град

· Смещение = -3,6 мм

· Частота = 20

· Основа = Base

· Функция = Funct1

· Round2:

· Амплитуда = 3 мм

· Фаза = 180 град

· Смещение = -3,2 мм

· Частота = 20

· Основа = Base

· Функция = Funct1

Шаг 7. Продолжим усложнять наш бордюр

· Создайте «функцию» Funct2 с параметрами

· B2=-10; B6=4; C2=5; D4=-4.

· Создайте «огибающую» Round2 с параметрами

· Амплитуда = 2 мм

· Фаза = 45 град

· Смещение = -1,5 мм

· Частота = 20

· Основа = Base

· Функция = Funct2

Окончательный вариант бордюра находится в файле urok4_02.crb. На этом примере мы рассмотрели прием создания бордюров с использованием только лишь одних «огибающих» и «функций». Этот прием более трудоемок, чем описанный на уроке №2, но позволяет получить полный контроль над процессом создания бордюра.

 

Рассмотрим теперь, как использовать «функции» для получения нерегулярных гильошей на примере розетты. Откройте файл с розеттой urok4_03.crb

Эта розетта представляет собой фазовый «заполнитель» и две «огибающих». Чтобы придать нашей розетте нелинейность, будем видоизменять «функцию» Funct, которая используется в «огибающих». Нелинейность в нашем случае будет создаваться за счет значимых коэффициентов C «функции».

 

Для начала, зайдите в редактор «функций» и введите следующие значения коэффициентов «функции» Funct

· B2=10; C1=2

В результате мы получим видоизмененную розетту urok4_04.crb. Заметьте, что сам «заполнитель» мы не трогали.

Теперь поменяем коэффициенты «функции» Funct на следующие

· B2=10; C3=-0,75.

В результате у нас получилась розетта urok4_05.crb

Для получения следующего варианта розетты внесем следующие изменения:

· Установите значения «функции» Funct: B2=10; C3=0,9

· Установите для «огибающей» Round1 значение Фаза=180

Результат представлен в файле urok4_06.crb

И, наконец, задав коэффициентам «функции» Funct значения B2=10; C5=-0,6 мы получим розетту urok4_07.crb

И так, теперь мы с Вами научились использовать «функции» для получения нерегулярных гильошей.