PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zur Normalisierung von 3D Objecten.


andi0310
2009-04-09, 16:31:44
Hallo zusammen !
Ich habe mal eine Frage, wie kann man Flächen Normalisieren.
Ich weiss, wie man Normalisierung bei 2Vertexen durchführt, aber wie sieht das bei 3 Vertexen(Dreieck Oberfläche) aus.

Kann mir da jemand weiterhelfen ?

instinct
2009-04-09, 17:46:28
Ich verstehe die Frage nicht ganz.
Meinst du die Normalisierung der Flächennormalen?

Falls ja: sqrt(x²+y²+z²) * normal

Coda
2009-04-09, 18:09:52
Einen Punkt oder eine Oberfläche zu normalisieren ergibt schonmal gar keinen Sinn. Ich kapier die Frage auch nicht.

RMC
2009-04-09, 18:42:06
Meinst du vielleicht die Normalisierung eines 3D Vektors? :confused:

Normalisiert wird ein 3D Vektor, indem jede Komponente durch die Länge des Vektors dividiert wird.

x = vx / |v|
y = vy / |v|
z = vz / |v|

andi0310
2009-04-09, 21:20:59
Ich meinte eigentlich die Richtung eines Polygones mit 3Vertexen wichtig für die Beleuchtung (nicht Vertex Normale, sondern Surface Normale).

Coda
2009-04-09, 21:44:44
Du willst die Oberflächennormale oder was? Kreuzprodukt zwischen zwei Edges und anschließlich normalisieren.

andi0310
2009-04-09, 21:53:33
Genau das meinte ich.
Ich danke dir und werde es mal so machen.

RMC
2009-04-09, 21:54:27
Ich meinte eigentlich die Richtung eines Polygones mit 3Vertexen wichtig für die Beleuchtung (nicht Vertex Normale, sondern Surface Normale).

Ein Vertex (Mehrzahl ist übrigens "Vertices" ;)) besteht auch aus einer 3D Positionsangabe (Vektor).

Ich weiß noch immer nicht was du genau machen willst.

Folgende Schritte kann ich dir anbieten, damit du ein Polygon mit Hilfe einer Normale beleuchten kannst:

1. Die Surface-Normale des Polygons aufstellen. Die berechnet sich aus dem Kreuzprodukt zweier nicht-paralleler Polygon Vertices.

2. Diesen enstandenen Vektor normalisieren (= die Länge auf "1" bringen) nach der oben gezeigten Methode


Edit: ahjo eh..