6 KiB
id | title |
---|---|
tesselation | Алгоритмы тесселяции моделей САПР |
Предисловие
Основными разновидностями моделирования в 3D-графике являются:
- Полигональное моделирование, описывает поверхность массивом точек (Mesh);
- САПР моделирование, описывает поверхность математической функцией (CAD).
При полигональном моделировании выбирается некий предел точек, поэтому не возможно избежать изломов криволинейной поверхности, создать идеальную ее плавность. В данном случае САПР имеет преимущество.
В то же время, для визуализации 3д графики на мониторе компьютера, необходимо чтоб все 3D-модели были в Mesh виде, в том числе и САПР, которые автоматически переводятся в полигональную сетку. В данном случае полигональное моделирование имеет преимущество.
-
При визуализации полигональных моделей, их поверхность практически не изменяется (некоторое изменение будет в любом случае).
-
При визуализация САПР моделей происходит автоматическая тесселяция, которая дискретизирует поверхность в сетку из треугольников, при этом нужно выбирать баланс между избыточной ресурсоемкостью на визуализацию, либо точностью визуализации.
Примеры популярных алгоритмов тесселяции (meshing)
Все алгоритмы тесселяции схожи в том, что строят массив точек, иcходя из предела дискретизации. Разделим алгоритмы по назначению:
1. Алгоритмы тесселяции для Визуализации
Алгоритм триангуляции Делоне с помощью алгоритма Ватсона
Реализация алгоритма BRepMesh_IncrementalMesh является частью САПР библиотеки Open CASCADE Technology (OCCT). Это инкрементный алгоритм, который разбивает треугольники до тех пор, пока результат тдискретизации не будет удовлетворять критериям отклонения допуска отклонения по расстоянию и углу. Результат для допустимой замкнутой оболочки, может считаться твердотельным, поскольку алгоритм учитывает закрытость оболочки. Сетка подходит для визуализации, машинного обучения, симуляции машин и механизмов и для многих алгоритмов с контролируемой точностью.
Подробнее в статье OCCT User Guides
2. Алгоритмы тесселяции для Метода Конечных Элементов (FEM)
Приведем несколько следующих алгоритмов схожих по назначению, это, в основном, механика твёрдого деформируемого тела, и подобные исследования для материалов объемов тел, которые расчитываются FEM методами.
Алгоритм Netgen
Netgen использует несколько параметров, включая максимальный и минимальный размеры элементов, степень детализации сетки, количество шагов оптимизации и т.д. Netgen в основном работает в 3D. В зависимости от заданных параметров он может изготавливать элементы с размерами, адаптированными к локальным кривизнам - большими на участках плоской поверхности и меньшими на гнутых участках. Как только сетка построена для ребер и граней, Netgen выполняет дополнительные итерации для упрощения сетки. Установка этого параметра в 0 отключает упрощение. Netgen в целом медленнее, чем, например, Gmsh, и более чувствителен к качеству входных моделей.
Подробнее на сайте проекта ngsolve.org
Алгоритм Gmsh
Gmsh работает в 3D и делает 4 прохода: анализ геометрии, анализ сетки, тесселяция, постобработка. Gmsh использует упомянутую выше OCCT для функций конструктивной геометрии и взаимодействует с дополнительной внешней сеткой и библиотеками адаптации сетки Netgen и Mmg3d для упрощения на этапе постобработки.
Подробнее на сайте проекта gmsh.info