Una isosuperficie es un análogo tridimensional de una isolina . 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 niveles de una función continua cuyo dominio es el espacio 3D.
Isosurface a veces se usa de manera más genérica en relación con dominios de más de 3 dimensiones. [1]
Aplicaciones
Las isosuperficies se muestran normalmente mediante gráficos por computadora y se utilizan como métodos de visualización de datos en dinámica de fluidos computacional (CFD), lo que permite a los ingenieros estudiar las características de un flujo de fluido (gas o líquido) alrededor de objetos, como las alas de los aviones . Una isosuperficie puede representar una onda de choque individual en vuelo supersónico , o pueden generarse varias isosuperficies que muestran 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 de volumen, ya que se pueden representar mediante un modelo poligonal simple, que se puede dibujar en la pantalla muy rápidamente.
En la formación de imágenes médicas , las isosuperficies pueden usarse para representar regiones de una densidad particular en una tomografía computarizada tridimensional , lo que permite la visualización de órganos internos , huesos u otras estructuras.
Muchas otras 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 cubos de marcha fue publicado por primera vez en las actas de SIGGRAPH de 1987 por Lorensen y Cline, [2] y crea una superficie cruzando los bordes de una cuadrícula de volumen de datos con el contorno del volumen. Donde la superficie se cruza con el borde, el algoritmo crea un vértice. Al usar una tabla de diferentes triángulos en función 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.
Decididor asintótico
El algoritmo de decisión asintótica se desarrolló como una extensión de los cubos en marcha para resolver la posibilidad de ambigüedad en él.
Marchando tetraedro
El algoritmo de los tetraedros en marcha se desarrolló como una extensión de los cubos en marcha para resolver una ambigüedad en ese algoritmo y crear una superficie de salida de mayor calidad.
Redes de superficie
El algoritmo Surface Nets coloca un vértice de intersección en el medio de un vóxel de volumen en lugar de en los bordes, lo que genera una superficie de salida más suave.
Contorneado doble
El algoritmo de contorneado dual fue publicado por primera vez en las actas SIGGRAPH de 2002 por Ju y Losasso, [3] desarrollado como una extensión tanto de las redes de superficie como de los cubos de marcha . Conserva un vértice dual dentro del vóxel pero ya no en el centro. El contorneado dual aprovecha la posición y la normal de donde la superficie cruza los bordes de un vóxel para interpolar la posición del vértice dual dentro del vóxel . Esto tiene la ventaja de retener superficies afiladas o lisas donde las redes de superficie a menudo se ven bloqueadas o biseladas incorrectamente. [4] El contorneado dual a menudo usa la generación de superficies que aprovecha los octárboles como una optimización para adaptar el número de triángulos en la salida a la complejidad de la superficie.
Manifold Dual Contouring
El contorneado doble del colector incluye un análisis de la vecindad del octárbol para mantener la continuidad de la superficie del colector [5] [6] [7]
Ejemplos de
Ejemplos de isosuperficies son ' Metaballs ' u 'objetos blobby' utilizados en la visualización 3D. Una forma más general de construir una isosuperficie es utilizar la representación de la función .
Ver también
- Triangulación (geometría)
- Superficie implícita
- Representación de volumen
Referencias
- ^ "Ecuación de Hamilton-Jacobi" , Wikipedia , 2020-12-06 , consultado 2020-12-14
- ^ William E. Lorensen, Harvey E. Cline: Marching Cubes: un algoritmo de construcción de superficies 3D de alta resolución. En: Computer Graphics, Vol. 21, Nr. 4 de julio de 1987
- ^ Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren: Contorneado dual de datos de Hermite. Archivado el 18 de septiembre de 2017 en Wayback Machine en: ACM Transactions on Graphics, Volumen 21 Edición 3, julio de 2002
- ^ https://0fps.net/2012/07/12/smooth-voxel-terrain-part-2/
- ^ Scott Schaefer, Tao Ju, Joe Warren (2006). "Manifold Dual Contouring" (PDF) .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Lin X (30 de diciembre de 2015). Manifold Dual Contouring .
- ^ Lin X (23 de octubre de 2016). "Repositorio de Github - isosurface" .
- Charles D. Hansen; Chris R. Johnson (2004). Manual de visualización . Prensa académica. págs. 7-11. ISBN 978-0-12-387582-2.
enlaces externos
- Poligonización de isosuperficies
- El paquete contourist para python numérico genera triangulaciones de isosuperficies para funciones tridimensionales arbitrarias que se pueden mostrar usando HTML5 como se ilustra en este jsfiddle