From 48f2b974dbcc254624f0f72a6836628d20b1a921 Mon Sep 17 00:00:00 2001 From: Igor Brylyov Date: Mon, 19 Dec 2022 08:48:15 +0000 Subject: [PATCH] =?UTF-8?q?-=20=D0=9F=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D1=91=D1=80=D1=81=D1=82=D0=BA?= =?UTF-8?q?=D0=B0=20markdown=20-=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=82=D0=BE=D1=87=D0=BA=D0=B8,=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=8F=D1=82=D1=8B=D0=B5=20-=20=D0=9F=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D1=91=D1=81=20=D1=81=D1=82=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=D1=8E=20=D0=B2=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20=20?= =?UTF-8?q?=D0=A2=D0=B5=D1=85=D0=BD=D0=BE=D0=BB=D0=BE=D0=B3=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/3d/tessellation_intro.md | 51 -------------------------------- docs/technologies/tesselation.md | 41 +++++++++++++++++++++++++ sidebars.js | 8 +---- 3 files changed, 42 insertions(+), 58 deletions(-) delete mode 100644 docs/3d/tessellation_intro.md create mode 100644 docs/technologies/tesselation.md diff --git a/docs/3d/tessellation_intro.md b/docs/3d/tessellation_intro.md deleted file mode 100644 index 63e462f..0000000 --- a/docs/3d/tessellation_intro.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: algoritm_eksporta -title: Алгоритмы тесселяции САПР моделей. ---- - -

Алгоритмы тесселяции САПР моделей.

- -- [Предисловие](#предисловие) -- [Примеры популярных алгоритмов тесселяции:](#примеры) - - [IncrementalMesh](#IncrementalMesh) - - [Netgen](#netgen) - - [Gmsh](#gmsh) - -## Предисловие. -Основными разновидностями моделирования в 3д графике являются: - -- полигональное моделирование, описывает поверхность массивом точек (Mesh); -- САПР моделирование, описывает поверхность математической функцией (CAD). - -При **полигональном** моделировании выбирается некий **предел** точек, поэтому не возможно избежать **изломов** криволинейной поверхности, создать **идеальную** ее плавность. В данном случае САПР имеет преимущество. - -В то же время, для визуализации 3д графики на мониторе компьютера, все 3д модели, в том числе и САПР, автоматически переводятся в полигональную сетку. В данном случае полигональное моделирование имеет преимущество. - -- При визуализации полигональных моделей, их поверхность практически не изменяется (некоторое изменение будет в любом случае). - -- При визуализация САПР моделей происходит автоматическая **тесселяция**, которая дискретизирует поверхность в сетку из треугольников, при этом нужно выбирать баланс между избыточной **ресурсоемкостью** на визуализацию, либо **точностью** визуализации. - -## Примеры популярных алгоритмов тесселяции (Meshing). -Все алгоритмы тесселяции схожи в том что строят массив точек изходя из предела дискретизации. - -### IncrementalMesh. -IncrementalMesh алгоритм является частью Open CASCADE Technology (OCCT), САПР библиотеки. -Это один из наиболее универсальных алгоритмов, особенно подходит для поделей визуализации, машинного обучения, симуляции машин и механизмов. -Алгоритм реализует тесселяцию на основе **допуска** отклонения по расстоянию и углу, помещает тесселированную прокси фигуры объем самой САПР модели, и определяет массив точек исходя из заданного допуском отклонения от оригинала. - -[подробнее](https://dev.opencascade.org/doc/overview/html/occt_user_guides__mesh.html "подробная статья по ссылке") - -### *Алгоритмы тесселяции для Метода Конечных Элементов (FEM).* - -*Следующие алгоритмы схожие по назначению, это, в основном, механика твёрдого деформируемого тела, и подобные исследования для материалов объемов тел, которые расчитываются FEM методами.* - -#### Netgen. -Netgen использует несколько параметров, включая максимальный и минимальный размеры элементов, степень детализации сетки, количество шагов оптимизации и т. д. -Netgen в основном работает в 3д. В зависимости от заданных параметров он может изготавливать элементы с размерами, адаптированными к локальным кривизнам - большими на участках плоской поверхности и меньшими на гнутых участках. Как только сетка построена для ребер и граней, Netgen выполняет дополнительные итерации для упрощения сетки. Установка этого параметра в 0 отключает упрощение. Netgen в целом медленнее, чем Mefisto, и более чувствителен к качеству входных моделей. - -[подробнее](https://ngsolve.org/ "подробная статья по ссылке") - -#### Gmsh. -Gmsh работает в 3д и делает 4 прохода: анализ геометрии, анализ сетки, тесселяция, постобработка. Gmsh использует упоминаемую выше OCCT для функций конструктивной геометрии и взаимодействует с дополнительной внешней сеткой и библиотеками адаптации сетки Netgen и Mmg3d, для упрощения, на этапе постобработки - -[подробнее](https://gmsh.info/ "подробная статья по ссылке") diff --git a/docs/technologies/tesselation.md b/docs/technologies/tesselation.md new file mode 100644 index 0000000..55e3c9e --- /dev/null +++ b/docs/technologies/tesselation.md @@ -0,0 +1,41 @@ +--- +id: tesselation +title: Алгоритмы тесселяции моделей САПР +--- + +## Предисловие +Основными разновидностями моделирования в 3D-графике являются: + +- Полигональное моделирование, описывает поверхность массивом точек (Mesh); +- САПР моделирование, описывает поверхность математической функцией (CAD). + +При **полигональном** моделировании выбирается некий **предел** точек, поэтому не возможно избежать **изломов** криволинейной поверхности, создать **идеальную** ее плавность. В данном случае САПР имеет преимущество. + +В то же время, для визуализации 3д графики на мониторе компьютера, все 3D-модели, в том числе и САПР, автоматически переводятся в полигональную сетку. В данном случае полигональное моделирование имеет преимущество. + +- При визуализации полигональных моделей, их поверхность практически не изменяется (некоторое изменение будет в любом случае). + +- При визуализация САПР моделей происходит автоматическая **тесселяция**, которая дискретизирует поверхность в сетку из треугольников, при этом нужно выбирать баланс между избыточной **ресурсоемкостью** на визуализацию, либо **точностью** визуализации. + +## Примеры популярных алгоритмов тесселяции (meshing) +Все алгоритмы тесселяции схожи в том, что строят массив точек, иcходя из предела дискретизации. + +### IncrementalMesh +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, и более чувствителен к качеству входных моделей. + +Подробнее на сайте проекта [ngsolve.org](https://ngsolve.org/) + +#### Gmsh +Gmsh работает в 3D и делает 4 прохода: анализ геометрии, анализ сетки, тесселяция, постобработка. Gmsh использует упомянутую выше OCCT для функций конструктивной геометрии и взаимодействует с дополнительной внешней сеткой и библиотеками адаптации сетки Netgen и Mmg3d для упрощения на этапе постобработки. + +Подробнее на сайте проекта [gmsh.info](https://gmsh.info/) diff --git a/sidebars.js b/sidebars.js index c2def80..191ffcb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -29,6 +29,7 @@ module.exports = { 'technologies/wrs2020-assembly-challenge', 'technologies/plansys2', 'technologies/ASP-overview', + 'technologies/tesselation', 'technologies/wood', 'technologies/recycling', 'technologies/knowledge-management' @@ -74,12 +75,5 @@ module.exports = { 'workflow-rules' ], }, - { - type: 'category', - label: '3д графика', - items: [ - '3d/tessellation_intro' - ], - }, ], };