Этот проект создан для работы с геометрическими объектами, построенными на 3 точках.

Функционал:
-Библиотека с значительным набором базовых геометрических понятий (точка, вектор, отрезок, плоскость, треугольник и т.д.) и методы для работы с ними.
-Возможность вращать геометрические объекты вокруг заданной оси.
-Поиск пересечений между геометрическими объектами.
-Визуализация треугольников в vulkan

На данный момент визуализация сделана только под Windows.
Вырожденные в точку/отрезок треугольники учитываются при поиске пересечений но не визуализруются.

Управление камерой в визуализации:
Перемещение вокруг сцены - Cursor control keys.
Приблизить/отдалить - PageDown/PageUp.

Сейчас собрана программа, которая вращает геометрические объекты вокруг заданных осей. Предусмотрен перерасчет пересечений и визуализация в real time.

Для корректной работы CMake необходимо подавать аргументы:
-DGLM="path/into/glm/library"
-DGLFW="path/into/glfw/library"

Формат входных данных:

2                                       //количество объектов
18                                      //время работы в секундах
0.0 -1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0    //объект по 3 точкам
0.0 0.0 0.0 1.0 0.0 0.0                 //ось вращения по 2 точкам
10.0                                    //скорость вращения
0.0 -1.0 0.5 0.0 1.0 0.5 1.0 0.0 0.5    //объект по 3 точкам
0.0 0.0 0.5 1.0 0.0 0.5                 //ось вращения по 2 точкам
-10.0                                   //скорость вращения

Некоторые примеры входных данных есть в input_examples