diff --git a/docs/technologies/tesselation.md b/docs/technologies/tesselation.md index 55e3c9e..9ce3684 100644 --- a/docs/technologies/tesselation.md +++ b/docs/technologies/tesselation.md @@ -11,7 +11,7 @@ title: Алгоритмы тесселяции моделей САПР При **полигональном** моделировании выбирается некий **предел** точек, поэтому не возможно избежать **изломов** криволинейной поверхности, создать **идеальную** ее плавность. В данном случае САПР имеет преимущество. -В то же время, для визуализации 3д графики на мониторе компьютера, все 3D-модели, в том числе и САПР, автоматически переводятся в полигональную сетку. В данном случае полигональное моделирование имеет преимущество. +В то же время, для визуализации 3д графики на мониторе компьютера, необходимо чтоб все 3D-модели были в Mesh виде, в том числе и САПР, которые автоматически переводятся в полигональную сетку. В данном случае полигональное моделирование имеет преимущество. - При визуализации полигональных моделей, их поверхность практически не изменяется (некоторое изменение будет в любом случае). @@ -19,23 +19,22 @@ title: Алгоритмы тесселяции моделей САПР ## Примеры популярных алгоритмов тесселяции (meshing) Все алгоритмы тесселяции схожи в том, что строят массив точек, иcходя из предела дискретизации. - -### IncrementalMesh -IncrementalMesh алгоритм является частью САПР библиотеки Open CASCADE Technology (OCCT). Это один из наиболее универсальных алгоритмов. Он хорошо подходит для визуализации, машинного обучения, симуляции машин и механизмов. Алгоритм реализует тесселяцию на основе **допуска** отклонения по расстоянию и углу. Он помещает тесселированные прокси фигуры в объем самой САПР модели и определяет массив точек исходя из заданного допуском отклонения от оригинала. +Разделим алгоритмы по назначению: +### 1. Алгоритмы тесселяции для **Визуализации** +#### Алгоритм триангуляции Делоне с помощью алгоритма Ватсона +Реализация алгоритма BRepMesh_IncrementalMesh является частью САПР библиотеки Open CASCADE Technology (OCCT). Это инкрементный алгоритм, который разбивает треугольники до тех пор, пока результат тдискретизации не будет удовлетворять критериям отклонения **допуска** отклонения по расстоянию и углу. Результат для допустимой замкнутой оболочки, может считаться твердотельным, поскольку алгоритм учитывает закрытость оболочки. +Сетка подходит для визуализации, машинного обучения, симуляции машин и механизмов и для многих алгоритмов с контролируемой точностью. Подробнее в статье [OCCT User Guides](https://dev.opencascade.org/doc/overview/html/occt_user_guides__mesh.html) -### *Алгоритмы тесселяции для Метода Конечных Элементов (FEM)* - -*Следующие алгоритмы схожие по назначению, это, в основном, механика твёрдого деформируемого тела, и подобные исследования для материалов объемов тел, которые расчитываются FEM методами.* - -#### Netgen - -Netgen использует несколько параметров, включая максимальный и минимальный размеры элементов, степень детализации сетки, количество шагов оптимизации и т.д. Netgen в основном работает в 3D. В зависимости от заданных параметров он может изготавливать элементы с размерами, адаптированными к локальным кривизнам - большими на участках плоской поверхности и меньшими на гнутых участках. Как только сетка построена для ребер и граней, Netgen выполняет дополнительные итерации для упрощения сетки. Установка этого параметра в 0 отключает упрощение. Netgen в целом медленнее, чем Mefisto, и более чувствителен к качеству входных моделей. +### 2. Алгоритмы тесселяции для **Метода Конечных Элементов** (FEM) +*Приведем несколько следующих алгоритмов схожих по назначению, это, в основном, механика твёрдого деформируемого тела, и подобные исследования для материалов объемов тел, которые расчитываются FEM методами.* +#### Алгоритм Netgen +Netgen использует несколько параметров, включая максимальный и минимальный размеры элементов, степень детализации сетки, количество шагов оптимизации и т.д. Netgen в основном работает в 3D. В зависимости от заданных параметров он может изготавливать элементы с размерами, адаптированными к локальным кривизнам - большими на участках плоской поверхности и меньшими на гнутых участках. Как только сетка построена для ребер и граней, Netgen выполняет дополнительные итерации для упрощения сетки. Установка этого параметра в 0 отключает упрощение. Netgen в целом медленнее, чем, например, Gmsh, и более чувствителен к качеству входных моделей. Подробнее на сайте проекта [ngsolve.org](https://ngsolve.org/) -#### Gmsh +#### Алгоритм Gmsh Gmsh работает в 3D и делает 4 прохода: анализ геометрии, анализ сетки, тесселяция, постобработка. Gmsh использует упомянутую выше OCCT для функций конструктивной геометрии и взаимодействует с дополнительной внешней сеткой и библиотеками адаптации сетки Netgen и Mmg3d для упрощения на этапе постобработки. Подробнее на сайте проекта [gmsh.info](https://gmsh.info/)