Программа демонстрирует построение поверхности, заданной параметрически, с удалением невидимых граней по методу плавающего горизонта и освещение по Ламберту.
В программе строится 3D график функции, проецированием точки на экран по формулам центральной проекции, удаляются невидимые грани по алгоритму плавающего горизонта, а также происходит освещение источником света.Используется модель освещения Ламберта.
При нажатию на кнопку "Rotate" график вращается по оси X
Цель: Показать работу алгоритма удаления невидимых граней выпуклого многогранника.
Краткое описание: Куб задан множеством из 6 граней. Вначале находятся нормали к граням, затем рассчитывается, какие из граней будут невидимы при отрисовке.
Для того, чтобы куб появился, нажмите ЛКМ и потяните мышку на canvas'е.
Программа демонстрирует построение шара, освещенного источником света. Используется модель освещения Ламберта.
По нажатию на кнопку "Старт" начинается построение.
Задача: построить триангуляцию Делоне для множества точек.
Описание работы программы:
С помощью нормального распределения генерируется 100 точек, принадлежащих области канваса.
Затем находится треугольник, содержащий все точки этого множества.
После чего каждая точка последовательно добавляется в триангуляцию с необходимыми перестроениями триангуляции.
Данная программа получает на вход кол-во итераций от пользователя и строит фрактал Хопалонг.
Данная программа получает на вход кол-во итераций от пользователя и строит кривую Леви.
Задача: Определить количество общих точек двух отрезков: нуль, одна или бесконечное множество.
Описание работы программы:
По щелчку левой кнопки мыши считываются координаты четырех точек (концов отрезков AB и CD) и, переведенные из экранной системы координат в декартову, добавляются в массив points. Для уменьшения количества проверок координаты сортируются таким образом, чтобы A была левее B, а C левее D.
Данная программа получает на вход кол-во итераций от пользователя и строит фрактал Питера де Йонга.
Построить аттрактор Рёсслера. Все параметры находятся в функции roesslerFractal(). Итеративная функция построит график аттрактора с указанным количеством итераций cnt и положительными постоянными a, b, c.