Ich schaue auf die Kernbewegungsklasse CMAttitude
, es kann die Ausrichtung des Geräts als 3x3 Rotationsmatrix ausdrücken. Zur gleichen Zeit habe ich einen Blick auf die CATransform3D
, die die Haltung der Ansicht kapselt, sowie Skalierung. Die CATransform3D
ist eine 4x4-Matrix.Sind CMAttitude und CATransform3D durch Rotationsmatrizen verbunden?
Ich habe gesehen, dass die OpenGL Rotationsmatrix 4x4 ist und einfach 0001 in der 4. Zeile und Spalte aufgefüllt ist.
Ich bin verrückt, wenn die Rotationsmatrix der CMAttitude mit CATransforms Matrix verwandt ist?
Kann ich die Drehung des Geräts im Raum, die über eine Rotationsmatrix erhalten wird, verwenden, um eine UIView mit CATransform3D
zu transformieren? Meine Absicht ist es, den Benutzer das Telefon bewegen und die gleiche Transformation auf eine UIView auf dem Bildschirm anwenden.
Bonus Frage: Wenn sie verwandt sind, wie transformiere ich eine Rotationsmatrix von CMAtitude in CATransform3D?
Danke für eine große informative Antwort! –
Gern geschehen :) Ich hoffe die Antwort ist nicht zu theoretisch :) –