Processing math: 100%
Computergrafik

Mehrere Modell View-Matrizen

Modellierungs-Sichtweisen | | Matrix-Stack

Im Beispiel hat ein Auto 4 Räder. Also wird 4 mal die gleiche Geometrie gezeichnet werden, jedesmal an einem anderen Ort (mit einem anderen Koordinatensystem).
MM3a sei die Position des 1. Rades am Auto, MM3b die des 2. u.s.w

Rad1: MMV=MVMM1MM2MM3a
Rad2: MMV=MVMM1MM2MM3b
etc.

Nur die Position des Rades am Auto ändert sich von Rad zu Rad; das Auto steht immer am gleichen Platz.

Es ist möglich, die einzelnen ModellView-Matrizen getrennt zu berechnen, und jeweils nach einer Berechnung ein Rad zu zeichnen. Das ist aber umständlich.

Besser:

  • Man berechnet die ModellView-Matrix für das Auto:
    MAutoMV=MVMM1MM2
  • Man berechnet die gesamte ModellView-Matrix für das 1. Rad:
    MRad1MV=MAutoMVMM3a
  • Man zeichnet mit MRad1MV das erste Rad
  • Man berechnet die gesamte ModellView-Matrix für das 2. Rad:
    MRad2MV=MAutoMVMM3b
  • Man zeichnet mit MRad2MV das zweite Rad

Man spart sich so einige Matrix-Matrix-Multiplikationen durch eine zusätzliche Matrix-Variable!

Genauso arbeitet man mit mehreren Autos auf dem Laster. Genauso mit mehreren Lastern in der Szene (Hierarchie). Je Hierarchieebene wird eine Variable zur Speicherung der ModellView-Matrix bis zu dieser Ebene benötigt.


Modellierungs-Sichtweisen | | Matrix-Stack

Options: