lassen Sie mich Ihre Frage umformulieren:
Sie zwischen R0 und R1 zu interpolieren müssen.
Und schlägt vor, es zu tun, wie:
Ri = AR0 + (1-a) R1
Es ist nicht gut funktionieren, als Sieger in seiner/ihrer Antwort erwähnt: Sie wird Verzerrungen und Volumenverformungen bekommen.
mathematisch (in 3D-Geometrie Kontext), Addition macht nicht viel Sinn: Was bedeutet das Hinzufügen von zwei Übersetzungsmatrix?
eine etablierte Lösung ist so zu interpolieren:
Ri = (R1 * (inverse (R0)))^a * R0
wo wir R^a als eine Operation definieren, die gibt uns eine Drehung um Vektor [kx, ky, kz] um einen * Theta-Grad.
Also wenn a = 0, Ri = R0; wenn a = 1, Ri = R1. Dies macht eine Interpolation basierend auf einer Multiplikation, die im Kontext der 3D-Geometrie natürlicher ist.
Jetzt der schwierige Teil, wie man Operation R^a darstellt. Stellt sich heraus, mit quaternion representation von R ermöglicht es uns, die Operation R^a darzustellen. basierend auf Ken Shoemakes Papier animating rotation with quaternion curves
Wie speichern Sie die "Position" eines Objekts in einer Transformationsmatrix? Ist das eine Kamera? Weitere Informationen erforderlich. – Jacob