Разработка математ. моделей сервиса 3D-моделирования
Усилить команду клиента, разработчиком который сможет решить задачу с прямой в пространстве.
Построить алгоритм на языке TypeScript деления выпуклого полигона линией, проходящей через две его стороны в двумерном пространстве.
массив вершин полигона [{x, y}]
Рассмотрели возможные ситуации деления выпуклого полигона линией.
Уравнение прямой по двум точкам:
На вход принимается массив вершин многоугольника и две точки независимой прямой. Для решения задачи каждый элемент массива проверяем на пересечение с независимой прямой.
координаты линии по двум точкам (которые лежат снаружи области полигона
Выходной параметр: массив вершин полигонов. При делении образуются два полигона, нужно получить массивы их вершин.
Приведем данное уравнение к уравнение прямой: y = ax + b
Таким образом получаем уравнение прямой вида y = ax+k.
Пересечение двух прямых образуют систему линейных алгебраических уравнений (далее СЛАУ) с двумя неизвестными: х и y.
Программирование алгоритма
Для каждой итерации (грани полигона) производится следующий алгоритм: