Триангуляция многоугольника
Опубликовано 21 ноября, 2024 - 11:59 пользователем admin
Лекция:
Алгоритм триангуляции простого невыпуклого многоугольника методом "отрезания ушей".
// Триангуляция function triangulate() { // Пока не останется три вершины while (polygon.length >= 3) { // Проверяем два условия: является ли внутренней диагональю и нет ли вершины внутри отсекаемого треугольника if (isLeft(polygon[0], polygon[1], polygon[2]) && !hasPointOfPolygon(polygon)) { // если да, то рисуем треугольник и выбрасываем отсеченную вершину из многоугольника drawTriangle(polygon[0], polygon[1], polygon[2]); polygon.splice(1, 1); } else { // если нет, то сдвигаемся на одну вершину const tmp = polygon[0]; polygon.shift(); polygon.push(tmp); } } }
Направление: