Программа демонстрирует вращение четырехугольной пирамиды в OpenGL.
glTranlsatef() производит перенос объекта, прибавляя к координатам его вершин значения своих параметров.
glRotatef() производит поворот объекта против часовой стрелки на угол angle (измеряется в градусах) вокруг вектора (x,y,z).
Программа демонстрирует построение множества Мандельброта при использовании OpenGL и языка C++. Множество строится при запуске программы.
Для наглядности и краткости кода был реализован класс комплексных числе Complex.
Данная программа демонстрирует Т-квадрат. При запуске программы выполняется построение.
Алгоритм:
На вход функции вырисовки drowtT подаются координаты центра квадрата, длина его стороны(в пикселях) и количество итераций;
Вычисляются координаты вершин квадрата и по ним вырисовывается квадрат;
Если количество итераций не равно 0, то запускаем для каждой вершины функцию drowT, уменьшая длину стороны в половину.
Данная программа демонстрирует кривую Леви. При запуске программы на форме строится Кривая Леви.
Алгоритм:
На вход функции построения drowLevi подаются координаты исходного отрезка и количество итераций;
Если количество итераций равно 0 - рисуется отрезок по входным координатам;
Иначе - находятся координаты точки излома и вызывается функция drowLevi для каждого образовавшегося отрезка.
Задача - построить перспективную проекцию усеченной пирамиды с четырехугольным основанием.
Создадим форму с кнопкой, при нажатии на которую стираются предыдущие результаты построения (если таковые имеются) и заново рисуется уже повернутая усеченная пирамида.
Используемые функции и процедуры:
FormCreate() - определение координат усеченной пирамиды;
Button1Click() - очищает экран, вращает и рисует заново усеченную пирамиду.
Построим аксонометрическую прямоугольную изометрическую проекцию пирамиды и аксонометрическую прямоугольную диметрическую проекцию пирамиды
Построим аксонометрическую косоугольную фронтальную диметрическую проекцию пирамиды и аксонометрическую косоугольную горизонтальную изометрическую проекцию пирамиды.
(координата z вершины была увеличена для более показательной разницы между проекциями)
Задача - нарисовать фрактал "Папоротник Барнсли".
1.Создаем файл fern.html (fern - папоротник), к которому подключаем файл fern.js, содержащий основную часть программы. Также подключаем библиотеки jquery.js и d3.js, содержащие весь необходимый инструментарий.
Залить гранично-определенную область используя 4-связный алгоритм
Fill4(col, newcol : TColor; x, y : Integer) - рекурсивная ф-ция для заливки
col - цвет границы области
newcol - цвет заливки
x,y - координаты точки внутри области(заливочный центр)
Задача - определить, находится точка внутри многоугольника, снаружи или на границе, используя метод трассировки лучом. Создадим форму с двумя полями для ввода координат проверяемой точки и кнопкой. При нажатии на кнопку, поле для рисования заливается цветом clDefault для того, чтобы стереть предыдущие результаты построения(если таковые имеются), рисуется точка и выводится результат при помощи процедуры ShowMessage.
Используемые функции и процедуры:
Init() - Определение точек многоугольника
classify(),edgeType() - классифицируют точку