next up previous contents
Next: Transformation Up: Getview Previous: Getview

 

getview

getview

tabular3021

Die Funktion getview berechnet aus den Mausinformationen die Transformationsmatrix. Aus den Mauskoordinaten x und y wird die Rotationsmatrix berechnet; mit der linken und rechten Maustaste wird die Distanz zum Objekt und somit auch die Translationsmatrix verändert (Siehe dazu Formel (1.12) in Abschnitt 1.3.1 auf Seite gif). Wir sehen, dass der Rotationsteil gerade dem linken oberen 3x3 Teil der Transformationsmatix und die z-Distanz zum Weltnullpunkt dem Element (3,4) entspricht. Somit muss die Matrixmultiplikation von Rotations- und Transformationsmatrix nicht explizit durchgefüht werden; es genügt, die einzelnen Elemente zusammenzufügen.

An dieser Stelle soll nochmals speziell auf die vielleicht eher ungewöhliche Schreibweise der Matrixdarstellung  (5.1) hingewiesen werden, welche in der Implementation benützt wurde.

   eqnarray3059

Die erste Form (5.1) lässt sich durch Transponieren in die zweite (5.2) überführen. Dabei werden folgende Grundregeln (5.3) der linearen Algebra benützt, welche sich beliebig erweitern lassen (5.4):

   eqnarray3080

Zum einlesen der Mausinformationen werden folgende SRGP-Funktionen   benützt:

Abbildung 5.9 zeigt den Pseudocode der Funktion.

27

  figure3103
Abbildung 5.9: Pseudocode der Funktion getview  

   



Martin Frey
Tue Jun 17 13:29:20 MET DST 1997