Isosuperficie
Una isosuperficie (o superficie de nivel) es un análogo tridimensional de una isolinea. Es una superficie que representa puntos de un valor constante (por ejemplo, presión, temperatura, velocidad, densidad) dentro de un volumen de espacio; en otras palabras, es un conjunto de nivel de una función continua cuyo dominio es el espacio tridimensional.
El término isolinea también se utiliza a veces para dominios de más de 3 dimensiones.
Aplicaciones
Las isosuperficies se muestran normalmente utilizando gráficos por computadora y se utilizan como métodos de visualización de datos en la dinámica de fluidos computacional (CFD, por sus siglas en inglés), lo que permite a los ingenieros estudiar características de un flujo fluido (gas o líquido) alrededor de objetos, como las alas de una aeronave. Una isosuperficie puede representar una onda de choque individual en un vuelo supersónico, o se pueden generar varias isosuperficies que muestren una secuencia de valores de presión en el aire que fluye alrededor de un ala. Las isosuperficies tienden a ser una forma popular de visualización para conjuntos de datos volumétricos, ya que se pueden representar mediante un modelo poligonal simple, que se puede dibujar en la pantalla muy rápidamente.
En la imagen médica, las isosuperficies se pueden utilizar para representar regiones de una densidad particular en una tomografía computarizada tridimensional (CT), lo que permite la visualización de órganos internos, huesos u otras estructuras.
Numerosas disciplinas que están interesadas en datos tridimensionales a menudo utilizan isosuperficies para obtener información sobre farmacología, química, geofísica y meteorología.
Algoritmos de implementación
Cubos de marcha
El algoritmo de los cubos de marcha se publicó por primera vez en las actas de SIGGRAPH de 1987 por Lorensen y Cline,[1] y crea una superficie al intersectar los bordes de una cuadrícula de volumen de datos con el contorno del volumen. Donde la superficie interseca el borde, el algoritmo crea un vértice. Mediante el uso de una tabla de diferentes triángulos dependiendo de diferentes patrones de intersecciones de bordes, el algoritmo puede crear una superficie. Este algoritmo tiene soluciones de implementación tanto en la CPU como en la GPU.
Decidor asintótico
El algoritmo del decidor asintótico se desarrolló como una extensión de cubos de marcha para resolver la posibilidad de ambigüedad en él.
Tetraedros de marcha
El algoritmo de las tetraetros de marcha se desarrolló como una extensión de cubos de marcha para resolver una ambigüedad en ese algoritmo y crear una superficie de salida de mayor calidad.
Redes de superficie
El algoritmo de las surface nets coloca un vértice de intersección en el centro de un voxel de volumen en lugar de en los bordes, lo que resulta en una superficie de salida más suave.
Doble contorno
El algoritmo de dual contouring se publicó por primera vez en las actas de SIGGRAPH de 2002 por Ju y Losasso,[2] desarrollado como una extensión tanto de surface nets como de marching cubes. Conserva un vértice dual dentro del voxel, pero ya no en el centro. El dual contouring aprovecha la posición y la normal donde la superficie cruza los bordes de un voxel para interpolar la posición del vértice dual dentro del voxel. Esto tiene la ventaja de mantener superficies afiladas o suaves donde las surface nets a menudo se ven angulosas o biseladas incorrectamente.[3] Dual contouring a menudo utiliza generación de superficies que aprovecha los octrees como una optimización para adaptar el número de triángulos en la salida a la complejidad de la superficie.
Ejemplos
Ejemplos de isosuperficies son 'Metaballs' u 'objetos blobby' (objetos que no mantienen una forma fija) utilizados en la visualización 3D. Una forma más general de construir una isosuperficie es usar la representación de función.
Véase también
- Triangulación (geometría)
- Superficie implícita
Referencias
- William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution 3D surface construction algorithm. In: Computer Graphics, Vol. 21, Nr. 4, July 1987
- Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren: Dual Contouring of Hermite Data. Archivado el 18 de septiembre de 2017 en Wayback Machine. In: ACM Transactions on Graphics, Volume 21 Issue 3, July 2002
- «Smooth Voxel Terrain (Part 2)». 12 de julio de 2012.
- Scott Schaefer, Tao Ju, Joe Warren (2006). «Manifold Dual Contouring».
- Lin X (30 de diciembre de 2015). Manifold Dual Contouring. Archivado desde el original el 11 de septiembre de 2020. Consultado el 28 de abril de 2020.
- Lin X (23 de octubre de 2016). «Repositorio de GitHub - isosurface». GitHub.
Charles D. Hansen; Chris R. Johnson (2004). Visualization Handbook. Academic Press. pp. 7-11. ISBN 978-0-12-387582-2.
Enlaces externos
- Isosurface Polygonization
- El paquete contourist para Python numérico genera triangulaciones de isosuperficies para funciones tridimensionales arbitrarias que se pueden mostrar mediante HTML5, como se ilustra en este jsfiddle