Генерируем 1/8 часть окружности. Первая точка генерируемого участка окружности имеет координаты (0;радиус). По горизонтали координата X изменяется от 0 до радиус/sqrt(2).
Программа демонстрирует построение Канторового множества.
Для начала работы нужно ввести длину отрезка в соответствующее поле и нажать кнопку "Построить". При желании можно ввести новую длину и заново построить множество.
Пример построения Н-фрактала. Вначале строится одна фигура, потом 4, потом 16. Размер каждых следующих фигур меньше в 2 раза предыдущих (предыдущей, если первой). Фигуры одинакового размера изображены одинаковым цветом. Цвета чередуются. Цветов 7, значит цвета фигур размерами 2^7*x и x будут совпадать. По счёту фигуры с равными цветами будут N и N+7.
Задача: создание фрактала "Горящий Корабль".
Фрактал является генерацией итеративной функции в комплексной плоскости С:
Zn+1=(|Re(Zn)|-i|Im(Zn)|)2 + C, Z0=0
Построение лямбда-фрактала.
Рассмотрим множество Мандельброта при f(z)=(lambda)*z*(1-z), при z0=0.5.
На форме находится кнопка " Draw! " . При нажатии на нее получаем изображение лямбда-фрактала.
Задача - построить алгебраический фрактал - биоморф на языке программирования Pascal.
Демонстрация триангуляции многоугольника.
Рисуем многоугольник, разделяем его на треугольники.
Для запуска программы достаточно запустить файл .exe.
Алгоритм:
1) Берем произвольно заданную прямую и делим ее пополам.
2) Потом сгибаем ее так, чтобы полученный угол равнялся 90 градусам.
3) Для полученных отрезков выполняем пункты 1)-2) до тех пор, пока указанный счетчик не станет равен нулю.
4) Как только счетчик станет равен нулю, рекурсивно строим драконову кривую.
Определить точку пересечения двух отрезков. Решение состоит из нахождения векторного произведения function VM()
, определения факта пересечения 2 отрезков function LC()
, составления уравнений прямых procedure PtL()
и определения точки пересечения function LtP()
, собственно.
Алгоритм работает на основе заданной точки (x,y), которая является центром многоугольника, R - расстоянием от центра до ближайшей стороны и числу k, говорящее о количестве сторон. Смысл алгоритма заключается в том, что мы образно рисуем окружность вокруг центровой точки с радиусом R. И разрезаем её на k частей под углом z:=z+k, где k=360/k.