Computergrafikoberflächen

Polygonoberflächen

Objekte werden als Sammlung von Oberflächen dargestellt. Die 3D-Objektdarstellung ist in zwei Kategorien unterteilt.

  • Boundary Representations (B-reps) - Es beschreibt ein 3D-Objekt als eine Reihe von Oberflächen, die das Objektinnere von der Umgebung trennen.

  • Space–partitioning representations - Es wird verwendet, um innere Eigenschaften zu beschreiben, indem der räumliche Bereich, der ein Objekt enthält, in eine Reihe kleiner, nicht überlappender, zusammenhängender Körper (normalerweise Würfel) unterteilt wird.

Die am häufigsten verwendete Grenzdarstellung für ein 3D-Grafikobjekt ist eine Reihe von Oberflächenpolygonen, die das Objektinnere einschließen. Viele Grafiksysteme verwenden diese Methode. Polygonsätze werden zur Objektbeschreibung gespeichert. Dies vereinfacht und beschleunigt das Rendern und Anzeigen von Objekten auf der Oberfläche, da alle Oberflächen mit linearen Gleichungen beschrieben werden können.

Die Polygonoberflächen sind in Konstruktions- und Volumenmodellierungsanwendungen üblich, da sie wireframe displaykann schnell durchgeführt werden, um einen allgemeinen Hinweis auf die Oberflächenstruktur zu geben. Dann werden realistische Szenen erzeugt, indem Schattierungsmuster über die Polygonoberfläche interpoliert werden, um sie zu beleuchten.

Polygontabellen

Bei dieser Methode wird die Oberfläche durch den Satz von Scheitelpunktkoordinaten und zugehörigen Attributen angegeben. Wie in der folgenden Abbildung gezeigt, gibt es fünf Eckpunkte von v 1 bis v 5 .

  • Jeder Scheitelpunkt speichert x-, y- und z-Koordinateninformationen, die in der Tabelle als v 1 dargestellt sind : x 1 , y 1 , z 1 .

  • In der Kantentabelle werden die Kanteninformationen des Polygons gespeichert. In der folgenden Figur liegt die Kante E 1 zwischen dem Scheitelpunkt v 1 und v 2, der in der Tabelle als E 1 dargestellt ist : v 1 , v 2 .

  • In der Polygonoberflächentabelle wird die Anzahl der im Polygon vorhandenen Flächen gespeichert. Aus der folgenden Abbildung geht hervor, dass die Oberfläche S 1 von den Kanten E 1 , E 2 und E 3 bedeckt ist, die in der Polygonoberflächentabelle als S 1 dargestellt werden können : E 1 , E 2 und E 3 .

Flugzeuggleichungen

Die Gleichung für die ebene Oberfläche kann ausgedrückt werden als -

Axe + By + Cz + D = 0

Wobei (x, y, z) ein beliebiger Punkt in der Ebene ist und die Koeffizienten A, B, C und D Konstanten sind, die die räumlichen Eigenschaften der Ebene beschreiben. Wir können die Werte von A, B, C und D erhalten, indem wir einen Satz von drei Ebenengleichungen unter Verwendung der Koordinatenwerte für drei nicht kollineare Punkte in der Ebene lösen. Nehmen wir an, dass drei Eckpunkte der Ebene (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) und (x 3 , y 3 , z 3 ) sind.

Lösen wir die folgenden simultanen Gleichungen für die Verhältnisse A / D, B / D und C / D. Sie erhalten die Werte von A, B, C und D.

(A / D) x 1 + (B / D) y 1 + (C / D) z 1 = -1

(A / D) x 2 + (B / D) y 2 + (C / D) z 2 = -1

(A / D) x 3 + (B / D) y 3 + (C / D) z 3 = -1

Um die obigen Gleichungen in Determinantenform zu erhalten, wenden Sie die Cramer-Regel auf die obigen Gleichungen an.

$ A = \ begin {bmatrix} 1 & y_ {1} & z_ {1} \\ 1 & y_ {2} & z_ {2} \\ 1 & y_ {3} & z_ {3} \ end {bmatrix} B = \ begin {bmatrix} x_ {1} & 1 & z_ {1} \\ x_ {2} & 1 & z_ {2} \\ x_ {3} & 1 & z_ {3} \ end {bmatrix} C = \ begin {bmatrix} x_ {1} & y_ {1} & 1 \\ x_ {2} & y_ {2} & 1 \\ x_ {3} & y_ {3} & 1 \ end {bmatrix} D = - \ begin {bmatrix} x_ {1} & y_ {1} & z_ {1} \\ x_ {2} & y_ {2} & z_ {2} \\ x_ {3} & y_ {3} & z_ {3} \ end {bmatrix } $

Für jeden Punkt (x, y, z) mit den Parametern A, B, C und D können wir sagen, dass -

  • Ax + By + Cz + D ≠ 0 bedeutet, dass der Punkt nicht in der Ebene liegt.

  • Axe + By + Cz + D <0 bedeutet, dass sich der Punkt innerhalb der Oberfläche befindet.

  • Ax + By + Cz + D> 0 bedeutet, dass sich der Punkt außerhalb der Oberfläche befindet.

Polygonnetze

3D-Oberflächen und Volumenkörper können durch eine Reihe von Polygon- und Linienelementen angenähert werden. Solche Oberflächen werden genanntpolygonal meshes. Im Polygonnetz wird jede Kante von höchstens zwei Polygonen geteilt. Die Menge der Polygone oder Flächen bildet zusammen die „Haut“ des Objekts.

Diese Methode kann verwendet werden, um eine breite Klasse von Volumenkörpern / Oberflächen in Grafiken darzustellen. Ein polygonales Netz kann mithilfe von Algorithmen zum Entfernen versteckter Oberflächen gerendert werden. Das Polygonnetz kann auf drei Arten dargestellt werden:

  • Explizite Darstellung
  • Zeiger auf eine Scheitelpunktliste
  • Zeiger auf eine Kantenliste

Vorteile

  • Es kann verwendet werden, um fast jedes Objekt zu modellieren.
  • Sie lassen sich leicht als Sammlung von Eckpunkten darstellen.
  • Sie sind leicht zu transformieren.
  • Sie sind einfach auf dem Computerbildschirm zu zeichnen.

Nachteile

  • Gekrümmte Flächen können nur annähernd beschrieben werden.
  • Es ist schwierig, bestimmte Objekte wie Haare oder Flüssigkeiten zu simulieren.