Vóxel

Voxel (coloquialmente voxel , inglés  Voxel  - formado a partir de las palabras: volumétrico ( inglés  volumétrico ) y píxel ( inglés  pi xel ) ) - un elemento de una imagen tridimensional que contiene el valor de un elemento rasterizado en un espacio tridimensional . Los vóxeles son análogos de píxeles bidimensionales para el espacio tridimensional. Los modelos Voxel se utilizan a menudo para visualizar y analizar información médica y científica.

En los gráficos por computadora , los vóxeles se utilizan como una alternativa a los polígonos . Los principiantes a veces consideran erróneamente que los vóxeles son reemplazos de los píxeles físicos (elementos de la matriz de visualización). De hecho, un vóxel se suele entender como un elemento virtual correspondiente a un conjunto de seis polígonos rectangulares. Todo en el mundo virtual (píxeles virtuales, polígonos y vóxeles) debe proyectarse en los píxeles de la pantalla física:

Es decir, a diferencia de los polígonos y los píxeles, los vóxeles son un verdadero ladrillo 3D, no un plano 2D que "rodea" un espacio 3D vacío.

El modelado en píxeles virtuales casi nunca se encuentra en la producción de gráficos 3D. Ahora, en el modelado 3D, los objetos a menudo se crean principalmente de dos maneras:

  1. o usando polígonos planos : esto creará un modelo hueco sin relleno interno, pero para aquellos que observan 3D, a menudo no es necesario saber que, por ejemplo, un gato 3D no tiene nada dentro. Para el observador, solo la superficie del gato, bien cosida a partir de polígonos triangulares, es suficiente.
  2. o con la ayuda de cubos volumétricos: vóxeles que llenan completamente el interior de un modelo 3D, donde cada cubo contiene información sobre lo que es, por ejemplo, piel, músculos, huesos, etc.

Debido al hecho de que los modelos de polígonos están vacíos por naturaleza, es muy difícil modelar su comportamiento en el mundo 3D. Por ejemplo, si un programador necesita simular el comportamiento del agua en un juego de piratas en 3D, se enfrenta a un problema: ¿cómo simular ondas en la superficie del agua? Cómo simular salpicaduras de agua, porque el agua en el juego es solo una alfombra tejida con triángulos azules, no hay nada debajo de este avión, pero mientras tanto debes mostrar espuma y salpicaduras de agua. Es decir, es necesario mostrar la separación de partes de agua entre sí en forma de espuma y salpicaduras. Tienes que introducir nuevos objetos en la memoria de la computadora, y administrar estos objetos adicionales requiere una gran habilidad por parte del programador, no del diseñador.

Si el agua se modela a través de vóxeles, entonces todo se vuelve mucho más simple, porque toda el agua desde la superficie del océano hasta el fondo consiste en “átomos” que se “separan” fácilmente entre sí de forma natural, desde el punto de vista del programador. .

Representación de la memoria

Como en el caso de los píxeles, los vóxeles en sí mismos no contienen información sobre sus coordenadas en el espacio. Sus coordenadas se calculan a partir de su posición en una matriz tridimensional, una estructura que modela un objeto tridimensional o un campo de valores de parámetros en un espacio tridimensional.

Así es como los vóxeles se diferencian de los objetos gráficos vectoriales , para los cuales se conocen las coordenadas de sus puntos de referencia (vértices) y otros parámetros.

Los modelos Voxel tienen una resolución determinada . Cada vóxel tiene un significado específico, como un color.

Para almacenar el modelo de vóxel, se utiliza una matriz con dimensiones X×Y×Z. Los modelos de vóxel sin comprimir (en comparación con los modelos vectoriales) consumen mucho más espacio de memoria para el procesamiento. Por ejemplo, un modelo sin comprimir de 256×256×256 vóxeles ocupará 32 MB de memoria (256*256*256=16777216 vóxeles y al menos 2 bytes por vóxel incluso en 256 escalas de grises, ya que se deben agregar 256 gradaciones a ellos transparencia, total 16777216*2=33554432 bytes=33554432/1024=32768 KB = 32768/1024=32 MB ), mientras que un modelo vectorial puede requerir decenas o incluso cientos de veces menos.

Octtree de vóxel disperso

Una de las tecnologías prometedoras más recientes que le permite hacer detalles eficientes de los objetos de vóxel es un octree de vóxel disperso ( sparse voxel octree ). Sus ventajas: importante ahorro de memoria, generación natural de niveles de detalle (análogos a los mapas mipmap ) y alta velocidad de procesamiento en raycasting .

El primer nodo del árbol, la raíz, es un cubo que contiene todo el objeto. Cada nodo tiene 8 cubos hijos o no tiene hijos. Como resultado de todas las subdivisiones, se obtiene una cuadrícula tridimensional regular de vóxeles.

Doxels

Los doxels son vóxeles que cambian con el tiempo. Así como una serie de imágenes constituye una animación , una serie de modelos vóxel a lo largo del tiempo puede constituir una animación 3D .

Aplicaciones

Debido al hecho de que una matriz tridimensional almacena el valor de un vóxel para cada elemento individual del espacio volumétrico, los modelos de vóxel son adecuados para modelar entornos continuos y campos de valores (por ejemplo, la distribución de monóxido de carbono en la atmósfera sobre una ciudad), mientras que los modelos vectoriales son más adecuados para modelar objetos discretos.

Información médica

Una serie de dispositivos médicos, como escáneres de tomografía computarizada , ultrasonido tridimensional , resonancia magnética , brindan información en capas al escanear. Al finalizar el escaneo, se construye un modelo de vóxel. Los valores de vóxel en este caso reflejan los datos del dispositivo. En tomografía computarizada, por ejemplo, es la transparencia del cuerpo en la escala de Hounsfield , es decir, la transparencia para rayos X.

Para los modelos de vóxeles (por ejemplo, datos médicos de un escáner de resonancia magnética ), la salida de cualquier sección del modelo se implementa de forma sencilla. Esto hace posible examinar cualquier segmento de los datos.

Visualización

Hay muchos algoritmos de renderizado para modelos voxel . Una de las formas más rápidas se llama "lanzar bolas de nieve" (eng. splatting ). Los vóxeles se "lanzan" sobre la superficie de visualización en orden de distancia, de más lejano a más cercano. Las "pistas de bolas de nieve" resultantes (splats) se representan como discos, cuyo color y transparencia varían según el diámetro de acuerdo con la distribución normal (gaussiana) . Diferentes implementaciones pueden usar diferentes elementos o diferentes asignaciones.

Para mejorar la calidad de la imagen, se utilizan algoritmos de renderizado más complejos: el algoritmo Marching cubes y otros. El algoritmo Marching Cubes construye una isosuperficie basada en datos de vóxel. La implementación habitual del algoritmo utiliza los valores de 8 vóxeles vecinos para dibujar un polígono dentro del cubo formado por sus coordenadas. Dado que solo hay 256 combinaciones posibles, puede prepararlas con anticipación y usar "ladrillos" típicos (ya en coordenadas de pantalla) para representar grandes cantidades de datos en buena calidad.

Hay otros algoritmos, por ejemplo, proyección de máxima intensidad , que muestra bien la posición en el espacio tridimensional de las partes más brillantes de un objeto tridimensional.

Pantallas volumétricas

Las pantallas 3D pueden mostrar modelos en 3D. Estas pantallas utilizan varios mecanismos físicos para mostrar puntos luminosos dentro de un volumen determinado. Por ejemplo, pueden consistir en muchos planos que forman una imagen, que se ubican uno encima del otro, o paneles planos que crean un efecto tridimensional debido a su rotación en el espacio [1] [2] .

A veces, para tales pantallas, su resolución se especifica en vóxeles, por ejemplo, 128x128x128.

Voxels en juegos de ordenador

Los vóxeles se han utilizado en juegos de computadora durante mucho tiempo , pero su uso está limitado debido a los estrictos requisitos de hardware. La mayoría de las veces en los juegos, los vóxeles se usan para dibujar modelos. A veces, se utilizan paisajes de vóxel en lugar del campo de altura habitual  ; esto le permite crear espacios más complejos con cuevas y puentes. Una de las características más importantes de los paisajes, interiores y objetos de vóxel es la capacidad de cambiarlos dinámicamente y destruirlos en tiempo real.

Se encontraron motores Voxel en juegos:

Véase también

Notas

  1. Pantallas volumétricas: el siguiente paso hacia la producción en masa . Archivado el 25 de diciembre de 2009 en Compulent's Wayback Machine , 24/12/2008.
  2. Imagen verdaderamente tridimensional. Computerworld Rusia, 06.08.2002
  3. Sitio web de Voxelstein 3D

Enlaces