
- •Аннотация
- •Введение
- •1. Первый раздел
- •Занятие 1
- •Занятие 2
- •Занятие 3
- •Занятие 4
- •Занятие 5
- •Занятие 6
- •1.2 Формирование траектории для движения простого геометрического объекта
- •Выводы:
- •Второй раздел
- •Индивидуальное Задание 1
- •2.1. Первый подраздел второго раздела Формулировка задания:
- •Математическую постановка:
- •Описание используемых элементов для интерфейса и их настройка (свойства):
- •Кнопки управления
- •Ползунки trackBar
- •Метки Lables
- •Ввод координат
- •Выпадающие списки
- •Меню выбора цветов MenuStrip
- •FillColorToolStripMenuItem — Цвет заливки - Выбор цвета заливки шестиугольника borderColorToolStripMenuItem — Цвет контура - Выбор цвета границы шестиугольника
- •Системные компоненты
- •Описание используемых графических примитивов:
- •Кривая траектории яйца Хюгельшеффера
- •Движущийся объект - шестиугольник
- •Примеры работы с учетом изменения параметров:
- •Выводы:
- •3. Третий раздел индивидуальное Задание 2
- •3.1. Первый подраздел третьего раздела
- •Формулировка задания:
- •Математическая постановка:
- •Описание используемых элементов для интерфейса и их настройка:
- •Общие настройки формы
- •Области отрисовки PictureBox
- •Элемент управления уровнем фрактала — NumericUpDown
- •Метки - lLabels
- •5. Цветовая палитра (внутри программы)
- •Описание используемых графических примитивов:
- •1. Окружности
- •Текст программы:
- •Примеры работы программы:
- •Заключение
3. Третий раздел индивидуальное Задание 2
3.1. Первый подраздел третьего раздела
Формулировка задания:
Формирование последовательного изображения фракталов (G шагов генерации) с отображением формирующихся уровней на дереве.
Вид фрактала: Четверные окружности |
n фракталов на разных участках и дерево в одном окне |
|
n фракталов означает прорисовку на одном изображении в разных его участках сразу всех получающихся на разных шагах (от 1 до n-1) фракталов, начиная с базовой образующей под номером 0 |
Математическая постановка:
ДЛя каждой окружности уровня l - с центром (x, y) и радиусом r, если l < targetlevel, создаются 4 дочерних окружности с радиусом вдвое меньше.
Формулы дочерних окружностей:
Окружности размещаются в области, где координаты и радиус рассчитываются по формулам:
Где:
- коэффициент масштабирования по осям X и Y
- смещение
- исходные координаты
Расчет координат дерева
Положение узла расчитывается на основе уровня и индекса дочернего узла.
Высота между уровнями:
Ширина уровня для позиций детей:
40s
Где:
l - текущий уровень
s - Масштаб по ширине/высоте
Координаты дочернего узла:
Где:
n - количество детей
i - индекс ребенка от 0 до n-1
Расчет масштаба дерева:
Масштаб расчитывается как:
Радиус узлов в дереве:
Расположение фракталов:
Количество столбцов 2
Размер ячеек:
Где:
L - уровень фрактала
Описание используемых элементов для интерфейса и их настройка:
Интерфейс программы построен с использованием элементов из пространства имён System::Windows::Forms, которые обеспечивают управление визуализацией фракталов и параметрами построения. В таблицах ниже представлен полный перечень используемых компонентов интерфейса и их настройки.
Общие настройки формы
MainForm |
|
Свойство |
Значение |
Background Color |
CadetBlue |
Client Size |
1254 x 635 пикселей |
Области отрисовки PictureBox
|
fractalPictureBox - Отображение визуализации фракталов |
treePictureBox - Отображение структуры построения дерева |
Свойство |
Значение |
Значение |
Size |
537 x 500 пикселей |
641 x 314 пикселя |
Location |
X = 20, Y = 60 |
X = 581, Y = 246 |
BackColor |
White |
White |
BorderStyle |
Нет (по умолчанию) |
Нет |
SmoothingMode |
AntiAlias (в коде вручную) |
AntiAlias |
Элемент управления уровнем фрактала — NumericUpDown
|
levelNumericUpDown - Изменение количества уровней дерева |
Свойство |
Значение |
Size |
80 x 26 пикселей |
Location |
X = 690, Y = 103 |
Minimum |
1 |
Maximum |
6 |
Default Value |
3 |
Обработчик события |
ValueChanged → RebuildFractals() |