# 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, 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, 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. 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.

### Contorneado dual del múltiple

El contorneado dual del múltiple (manifold) incluye un análisis del vecindario del octree para mantener la continuidad de la superficie del múltiple.

## 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.