Voxel

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Eine Menge von gestapelten Voxeln.
Ein einziges ist hervorgehoben.

Voxel (zusammengesetzt aus dem englischen volume vox und el von elements[1]) bezeichnet in der Computergrafik einen Gitterpunkt („Bild“punkt, Datenelement) in einem dreidimensionalen Gitter. Dies entspricht einem Pixel in einem 2D-Bild, einer Rastergrafik. Wie bei Pixeln wird bei Voxeln üblicherweise die Position nicht explizit gespeichert, sondern implizit aus der Position zu anderen Voxeln hergeleitet. Im Gegensatz dazu werden bei Punkten oder Polygonen die Positionen der Eckkoordinaten gespeichert. Eine direkte Konsequenz dieses Unterschiedes ist, dass man mit Polygonen eine 3D-Struktur mit viel leerem oder homogen gefülltem Raum effizient darstellen kann. Voxel hingegen sind gut bei der Repräsentation eines äquidistant gesampelten Raums, der nicht homogen gefüllt ist.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Voxel bezeichnet zwei Dinge:

Bildliche Veranschaulichung eines Voxelgitters. Jedes Voxel enthält einen Farbwert, hier ersichtlich durch die unterschiedliche Graufärbung der Kugeln.

Räumlicher Datensatz[Bearbeiten | Quelltext bearbeiten]

Bei einem räumlichen Datensatz, der in diskretisierter Form in kartesischen Koordinaten vorliegt, bezeichnet Voxel den diskreten Wert an einer XYZ-Koordinate des Datensatzes. Bei dieser Definition handelt es sich um das dreidimensionale Äquivalent eines Pixels, somit hat ein Voxel keine bestimmte Form. Man spricht hier auch vom isotropen Voxel oder „Volumenpixel“. Häufig handelt es sich bei den in Voxelgittern enthaltenen Daten um Farbwerte, die mit den Mitteln der Volumengrafik zur Visualisierung bestimmt sind. Anwendungen findet diese Form der Datenrepräsentation vor allem in den bildgebenden Verfahren der Medizin, hier können die diskreten Werte als Dichte (Knochen, Fettgewebe) aufgefasst werden und entsprechend visualisiert werden.

Für die Darstellung dieser Voxel gibt es spezialisierte Algorithmen. Der Marching-Cubes-Algorithmus erlaubt das Umwandeln von Voxeldaten in Polygone. Dazu bedarf es allerdings eines Schwellenwerts, weil die Polygone üblicherweise nicht transparent sind. Eine andere Methode ist das direkte Rendering der Voxeldaten. Dies kann mit Raycasting geschehen indem man einen Strahl durch das Voxelgitter wirft und die Farbwerte verrechnet. Abgebrochen wird, falls Opazität erreicht wird.[2]

Raytracing[Bearbeiten | Quelltext bearbeiten]

In anderen Fällen bezeichnet ein Voxel eine quaderförmige Zelle innerhalb eines regelmäßig aufgeteilten Quaders oder unbegrenzten Raumes. Am häufigsten wird diese Bedeutung bei bestimmten Techniken zur Beschleunigung von Raytracing verwendet. Da sie sich allerdings nicht an die lokalen Gegebenheiten anpasst ist diese Methode nicht sehr effizient. Besser ist es, eine Beschleunigungsstruktur wie den k-d-Baum zu verwenden.

Verwendung[Bearbeiten | Quelltext bearbeiten]

Üblicherweise werden Voxel in der Medizin oder bei der Darstellung von Landschaften in Computerspielen und Simulation eingesetzt. Voxelterrain wird statt eines Höhenfelds (Heightmap) eingesetzt, weil es Überhänge, Höhlen, Bögen und andere 3D-Merkmale einer Landschaft darstellen kann. Diese konkaven Merkmale können mit einem Höhenfeld nicht repräsentiert werden, weil es nur die oberste Ebene der Landschaft speichert, und alles darunter als gefüllt angenommen wird.

Computerspiele[Bearbeiten | Quelltext bearbeiten]

Zu den voxelbasierten Computerspiele gehören:

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Voxel statt Pixel: Aktuelle Methoden der 3D-Darstellung. In: computerwoche.de. Computerwoche, 31. Mai 1991, abgerufen am 19. Januar 2017.
  2. Alan Watt (2002): 3D-Computergrafik, 3. Auflage, Addison-Wesley
  3. http://voxelstein3d.sourceforge.net/