@plxel

Как просто разбить грань фигуры на полигоны (триангуляция)?

Добрый день. Стоит задача нарисовать трехмерную фигуру (куб, например), используя полигональную модель. Какой есть самый простой способ разбить грань на полигоны (треугольники)? При этом хотелось бы, чтобы число полигонов можно было бы изменять.
Предположу, что после разбиения, необходимо будет иметь доступ к каждому отдельному полигону для раскрашивания, соответственно, надо хранить все координаты полигонов.
  • Вопрос задан
  • 3716 просмотров
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Ответ написан
Комментировать
kentilini
@kentilini
В продакшн
Почитайте Skiena, Algorithm Design Manual
Там эта тема затрагивается довольно подробно. И проводится сравнительный анализ разных триангуляций
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
Если используете OpenGL, рассмотрите алгоритмы, имеющиеся в библиотеке GLU - там есть достаточно качественный алгоритм тесселяции, поддерживающий сложные поверхности, в том числе с отверстиями. Т.е. вы передаете контуры поверхности: внешний и контуры дырок, алгоритм вам возвращает полигоны для отрисовки. Когда-то мне удалось применить его даже в паре с DirectX, т.к. времени на свою реализацию не было.
Один из многих туториалов: www.glprogramming.com/red/chapter11.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы