Ich habe mir auf Basis des Codes von OrbitBehavior eine ähnliche Klasse nach meinen Bedürfnissen geschrieben. Um es mir erstmal einfach zu machen, habe ich die ganzen View-Transformationen nicht in eine TransformGroup gepackt, sondern mein SimpleUniverse mit mehreren (zum Schluss sieben) verketteten transformGroups vor der ViewPlatform ausgestattet. Das funktionierte soweit gut.
Nun wollte ich das ganze wieder auf eine TransformGroup reduzieren, indem ich die entsprechenden Matrixoperationen von Hand ausführe. Ich habe den kompletten Vormittag gebraucht, um festzustellen, dass die Reihenfolge der Matrixmultiplikationen genau umgekehrt war, wie ich es vermutete. Es funktioniert jetzt; ich weiß nur nicht, warum.
Meine Erwartung wäre gewesen, dass die am weitesten rechts in der Multiplikationskette stehende Transformation als erste ausgeführt wird. Dies scheint nun aber genau anders herum zu sein. Wer kann mir dieses Phänomen erklären? Ist das am Ende eine Konsequenz daraus, dass ich den View und nicht die Welt bewege, die ich noch nicht erfasst habe?
Für klarheitstiftende Hinweise wäre ich dankbar.
P.S.: Noch eine Frage, die sich mir in diesem Zusammenhang stellt: Welche Aspekte sollte man eurer Meinung nach betrachten, wenn man erwägt, ob es günstiger ist, eine komplexe Transformation durch die Verkettung von TransformGroups oder manuell durchzuführen?
Nun wollte ich das ganze wieder auf eine TransformGroup reduzieren, indem ich die entsprechenden Matrixoperationen von Hand ausführe. Ich habe den kompletten Vormittag gebraucht, um festzustellen, dass die Reihenfolge der Matrixmultiplikationen genau umgekehrt war, wie ich es vermutete. Es funktioniert jetzt; ich weiß nur nicht, warum.
Meine Erwartung wäre gewesen, dass die am weitesten rechts in der Multiplikationskette stehende Transformation als erste ausgeführt wird. Dies scheint nun aber genau anders herum zu sein. Wer kann mir dieses Phänomen erklären? Ist das am Ende eine Konsequenz daraus, dass ich den View und nicht die Welt bewege, die ich noch nicht erfasst habe?
Für klarheitstiftende Hinweise wäre ich dankbar.
P.S.: Noch eine Frage, die sich mir in diesem Zusammenhang stellt: Welche Aspekte sollte man eurer Meinung nach betrachten, wenn man erwägt, ob es günstiger ist, eine komplexe Transformation durch die Verkettung von TransformGroups oder manuell durchzuführen?