| |
Dienstag, 22. Januar 20083D-Daten-Modellierung
Doe Modellierung und Präsentation eines 3D-Objekts umfasst die Erstellung eines 3D-Modells, aber auch die Datenhaltung sowie die Darstellung.
Üblicherweise wird eine 3D-Modell aus Polygonen dargestellt, das Objekt wird also aus planen Polygonflächen zusammengebaut. Die Qualität des Ergebnisses hängt von Anzahl und Größe der Polygonflächen ab. Eine Verfeinerung besteht darin, die Oberfläche noch zu glätten. Aufwändiger sind da schon bikubische parametrische Patches, also Netze aus gekrümmten Vierecken. Die Vierecke sind je nach Formel unterschiedlich gewölbt. Dieses Verfahren findet z.B. im Fahrzeugbau für die Karosserie Anwendung. Die Volumenmodellierung setzt auf geometrische Figuren, die zusammengesetzt werden, ein noch aufwändigeres Verfahren, bei dem sich Fertigungsschritte gut nachvollziehen lassen. Schließlich gibt es noch die Voxel-Grafik. Voxel sind Volumenpixel, also Würfel oder Quader die dreidimensional die Pixel in der Ebene ersetzen. Zur Speicherung dieser Daten wird das Oct-Tree-Prinzip, eine Variante des Quad-Trees aus der Ebene verwendet. Ein Oct-Tree ist ein Würfel, der rekursiv aus 8 Unterwürfeln besteht. Dienstag, 22. Januar 2008Flächen füllen
Der einfachste Flächenfüll-Algorithmus ist von alten Zeichenprogrammen für Rastergrafiken bekannt: Der "Flood-Fill" - dabei wird von einem Saatkorn, also die Stelle die der Benutzer angeklickt hat, jeder N4-Nachbar rekursiv untersucht und auf die Zeichenfarbe gesetzt, wenn er der Farbe entspricht, die das Saatkorn zuvor hatte.
Alternativ kann auch die Gerade-Ungerade-Methode für den Test eines Punkts im Polygon abgewandelt werden: Die Kanten des Polygon werden nach ihrem Y-Wert sortiert und an der höchsten Stelle begonnen Linien als Füllung zu zeichnen, sobald eine Kante des Polygon überschritten wurde. Dienstag, 22. Januar 2008Prüfung Punkt in Polygon
Um ein Polygon zu finden, das der Benutzer mit der Maus auf dem Bildschirm angeklickt hat, um es dann z.B. zu füllen, benötigt man die Prüfung auf einen Punkt im Polygon.
Eine einfache geschlossene Kurve teilt die 2D-Ebene in genau zwei durch die Kurve verbundene Gebiete, das beschränkte Innere und ein unbeschränktes Äußeres (Jordanscher Kurvensatz). Darum bedeutet eine Kreuzung mit der Kurve einen Wechsel von einem Gebiet in das andere. Ein Punkt liegt daher dann im Inneren des Polygons, wenn ein von ihm in eine beliebige Richtung ausgehender Strahl ungeradzahlig viele Polygonkanten kreuzt. Diese Gerade-Ungerade-Test hat eine Ausnahme: Wird ein Knoten geschnitten, zählt dieser doppelt, da das Polygon betreten und gleich wieder verlassen wird! Mathematisch aufwändiger ist die Windungszahl-Methode: Hier werden die gerichteten Kanten gezählt und eine Richtungszahl von 1 oder -1 addiert. Ist das Ergebnis ungleich 0 liegt der Punkt im Polygon. Montag, 21. Januar 2008Window Viewport Transformation
Die Window Viewport Transformation ist eine gängige Operation, wenn die Daten aus einer Rastergrafik als ein Ausschnitt in einem Bildschirmfenster gezeigt werden sollen. Dazu muss zunächst Xmin/Ymin in den Ursprung verschoben werden (Translation1).
Danach wird um den benötigten Faktor skaliert (Skalierung) und der Auschnitt an die Zielposition verschoben (Translation2). Für die drei Operationen lässt sich eine Gesamttransformationsmatrix (G=Translation2*Skalierung*Translatiion1) für homogene Koordinaten erstellen, mit dem jeder Punkt aus dem Urspungsbild in das Viewport Window transformiert werden kann. |
SucheLayer |
Administration • Impressum • IT-Projekte • Geocaching • viertelzackvorschnirk

