Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Поверхность, представляющая точки постоянного значения в объеме.
Surface representing points of constant value within a volume
Изоповерхность — это трехмерный аналог изолинии. Это поверхность, которая отображает точки с постоянным значением (например, давления, температуры, скорости или плотности) внутри некоторого объема пространства; иными словами, это поверхность уровня непрерывной функции, областью определения которой является трехмерное пространство. Термин «изолиния» также иногда используется для областей с размерностью более трех.
An isosurface is a three dimensional analog of an isoline. It is a surface that represents points of a constant value (e. g. pressure, temperature, velocity, density) within a volume of space; in other words, it is a level set of a continuous function whose domain is 3 space. The term isoline is also sometimes used for domains of more than 3 dimensions.
Приложения
Изоповерхности обычно отображаются с помощью компьютерной графики и используются как методы визуализации данных в вычислительной гидродинамике (CFD), позволяя инженерам изучать характеристики потока жидкости (газа или жидкости) вокруг объектов, таких как крылья самолетов. Изоповерхность может представлять собой отдельную ударную волну в сверхзвуковом потоке, или может быть сгенерировано несколько изоповерхностей, отображающих последовательность значений давления в воздухе, обтекающем крыло. Изоповерхности часто являются популярным способом визуализации объемных данных, поскольку их можно представить простой полигональной моделью, которую можно быстро отрисовать на экране. В медицинской визуализации изоповерхности могут использоваться для представления областей с определенной плотностью в трехмерном компьютерном томографическом сканировании, что позволяет визуализировать внутренние органы, кости или другие структуры. Многие другие области науки, работающие с трехмерными данными, часто используют изоповерхности для получения информации в фармакологии, химии, геофизике и метеорологии.
Isosurfaces are normally displayed using computer graphics, and are used as data visualization methods in computational fluid dynamics (CFD), allowing engineers to study features of a fluid flow (gas or liquid) around objects, such as aircraft wings. An isosurface may represent an individual shock wave in supersonic flight, or several isosurfaces may be generated showing a sequence of pressure values in the air flowing around a wing. Isosurfaces tend to be a popular form of visualization for volume datasets since they can be rendered by a simple polygonal model, which can be drawn on the screen very quickly. In medical imaging, isosurfaces may be used to represent regions of a particular density in a three dimensional CT scan, allowing the visualization of internal organs, bones, or other structures. Numerous other disciplines that are interested in three dimensional data often use isosurfaces to obtain information about pharmacology, chemistry, geophysics and meteorology.
Марширующие кубики
Алгоритм марширующих кубов был впервые опубликован в материалах конференции SIGGRAPH 1987 года Лоренсеном и Клайном и создает поверхность, пересекая ребра сетки объема данных с изоповерхностью. В точках пересечения поверхности с ребром алгоритм создает вершину. Используя таблицу различных треугольников, соответствующих различным схемам пересечения ребер, алгоритм может построить поверхность. Существуют реализации этого алгоритма как для центрального процессора (CPU), так и для графического процессора (GPU).
The marching cubes algorithm was first published in the 1987 SIGGRAPH proceedings by Lorensen and Cline, and it creates a surface by intersecting the edges of a data volume grid with the volume contour. Where the surface intersects the edge the algorithm creates a vertex. By using a table of different triangles depending on different patterns of edge intersections the algorithm can create a surface. This algorithm has solutions for implementation both on the CPU and on the GPU.
Асимптотический децидер
Асимптотический алгоритм определения был разработан как расширение алгоритма марширующих кубов для устранения неоднозначности, возникающей в нём.
The asymptotic decider algorithm was developed as an extension to marching cubes in order to resolve the possibility of ambiguity in it.
Марширующий тетраэдр
Алгоритм марширующих тетраэдров был разработан как расширение алгоритма марширующих кубов для устранения неоднозначности в нём и создания более качественной выходной поверхности.
The marching tetrahedra algorithm was developed as an extension to marching cubes in order to solve an ambiguity in that algorithm and to create higher quality output surface.
Наземные сети
Алгоритм Surface Nets располагает пересекающуюся вершину в центре вокселя объема, а не на его гранях, что обеспечивает более гладкую выходную поверхность.
The Surface Nets algorithm places an intersecting vertex in the middle of a volume voxel instead of at the edges, leading to a smoother output surface.
Двойная контурная обработка
Алгоритм двойного контурирования был впервые опубликован в материалах SIGGRAPH 2002 года Джу и Лосассо, разработанный как расширение методов поверхностных сетей и марширующих кубов. Он сохраняет двойную вершину внутри вокселя, но уже не в его центре. Двойное контурирование использует положение и нормаль точки пересечения поверхности с ребрами вокселя для интерполяции положения двойной вершины внутри вокселя. Это позволяет сохранять четкие или гладкие поверхности, в то время как поверхностные сети часто выглядят блочными или с неверной фаской. Двойное контурирование часто использует генерацию поверхности с применением октри для оптимизации и адаптации количества треугольников в выходных данных к сложности поверхности.
The dual contouring algorithm was first published in the 2002 SIGGRAPH proceedings by Ju and Losasso, developed as an extension to both surface nets and marching cubes. It retains a dual vertex within the voxel but no longer at the center. Dual contouring leverages the position and normal of where the surface crosses the edges of a voxel to interpolate the position of the dual vertex within the voxel. This has the benefit of retaining sharp or smooth surfaces where surface nets often look blocky or incorrectly beveled. Dual contouring often uses surface generation that leverages octrees as an optimization to adapt the number of triangles in output to the complexity of the surface.
Примеры
Примерами изоповерхностей являются "метаболлы" или "расплывчатые объекты", используемые в 3D-визуализации. Более общий способ построения изоповерхности — использование функционального представления.
Examples of isosurfaces are 'Metaballs' or 'blobby objects' used in 3D visualisation. A more general way to construct an isosurface is to use the function representation.