Построить фрактал папоротник Барнсли, используя библиотеку System.Drawing.
Создаем проект Windows Form, на форму добавляем PictureBox
(FernPictureBox, размер - 800х640)
Построить фрактал Квазиклевер, в котором вместо окружностей за единицу берутся ромбы.
После запуска программы, необходимо нажать на появившееся окно для отрисовки фрактала.
Задача - построить фрактал Серпинского(треугольник и ковер).
На форме находятся 2 кнопки: Triangle и Carpet.
При клике на кнопку Triangle получаем изображение фрактала треугольника,
при клике на кнопку Carpet получаем изображение фрактала ковра.
Количество уровней по умолчанию составляет 5(переменная Level).
Задача — написать программу, которая будет строить изображение Канторова множества.
Для построения, необходимо в поле для ввода ввести значение длины изначального отрезка и нажать кнопку "Построить".
Демонстрация триангуляции многоугольника.
Рисуем многоугольник, разделяем его на треугольники.
Для запуска программы достаточно запустить файл .exe.
Определить точку пересечения двух отрезков. Решение состоит из нахождения векторного произведения function VM()
, определения факта пересечения 2 отрезков function LC()
, составления уравнений прямых procedure PtL()
и определения точки пересечения function LtP()
, собственно.
Алгоритм работает на основе заданной точки (x,y), которая является центром многоугольника, R - расстоянием от центра до ближайшей стороны и числу k, говорящее о количестве сторон. Смысл алгоритма заключается в том, что мы образно рисуем окружность вокруг центровой точки с радиусом R. И разрезаем её на k частей под углом z:=z+k, где k=360/k.
Заполнить ограниченную область картинки черным цветом с использованием алгоритма поиска в ширину.
Построить фрактал, описанный в статье.
Функция drawFractal получает в качестве параметров координаты центра круга, затем радиус, затем индекс, определяющий положение его родителя(для самого первого полагаем, что родитель был "снизу"), а также количество итераций. Рисуем круг со входными данными, далее в случае, если итераций не осталось, заканчиваем отрисовку, иначе - находим координаты всех центров потенциальных кругов-потомком, а затем для каждого, кроме того, чье место занято родителем, вызываем эту же самую функцию с соответствующими параметрами.
Данная программа рисует кривую Минковского.
Алгоритм:
На вход функции отрисовки drawMinkovskyCurve получает параметры, определяющие местоположение двух начальных точек и количество итераций. Далее если количество итераций равно 0, рисуем отрезок между этими точками. В ином случае определяем горизонтальный отрезок или вертикальный, далее заполняем массивы координат ломаной, после чего вызываем нашу функцию рекурсивно для каждого звена ломаной с количеством итераций на 1 меньше.