Ich würde jedoch gerne nachvollziehen warum das so ist, wenn man durch W dividiert. Normalerweise steht in W doch nur eine 1 als Wert oder liege ich hier falsch?
Da liegst du falsch. Punkte im Worldspace beispielsweise korrespondieren zu Punkten mit
§w = 1§ (Richtungsvektoren zu
§w = 0§). Nach der Projektionsmatrix ist
§w§ aber im Allgemeinen nichtmehr
§1§. Genau so funktioniert das mit der Perspektive überhaupt erst. Eine perspektivische Projektion ist ja eigentlich eine nichtlineare Transformation und kann durch eine Matrix allein gar nicht dargestellt werden. Der Trick ist nun, in einem sog. projektiven Raum zu arbeiten, wo eine vierte Koordinate hinzugefügt wird. Division durch diese vierte Koordinate bringt dich zurück auf den Unterraum wo
§w = 1§ gilt. Nun kann auch eine gewisse Klasse an nichtlinearen Transformationen über Matrizen beschrieben werden, da die Matrix die
§w§ Werte auf linearem Wege manipulieren kann, die bei der Rückprojektion nach 3D (Division durch
§w§) dann nichtlineare Auswirkungen haben.
Beispiel: Perspektivische Projektion. In der einfachsten Variante einer perspektivischen Projektion werden x und y einfach durch z dividiert (Objekte weiter weg werden kleiner). Jetzt brauchst du nur eine Matrix, die
§\begin{pmatrix}x & y & z & 1\end{pmatrix}^T§ zu
§\begin{pmatrix}x & y & z & z\end{pmatrix}^T§ macht. Bei der Rückprojektion wird daraus dann der Punkt
§\begin{pmatrix}\frac{x}{z} & \frac{y}{z} & 1 & 1\end{pmatrix}^T§, was einer einfachen perspektivischen Projektion auf die
§z = 1§ Ebene entspricht. Die Matrix dazu kommt dir vielleicht bekannt vor:
§\begin{pmatrix}1 & 0 & 0 & 0\\0 & 1 & 0 & 0\\0 & 0 & 1 & 0\\0 & 0 & 1 & 0\end{pmatrix} \begin{pmatrix}x \\ y \\ z \\ 1\end{pmatrix} = \begin{pmatrix}x \\ y \\ z \\ z\end{pmatrix}§