Yanıtlar:
matrisini temel dönüşümlere ayırabilirsiniz : çeviri, ölçekleme ve döndürme. Bu matris göz önüne alındığında:
son sütununu kullanarak çeviriyi inceleyerek ayrıştırabilirsiniz .
Ölçeklendirme için, matrisin ilk üç sütununun bazlara (eksenlere) karşılık geldiğini biliyoruz. Ölçeği bu vektörlerin uzunluğuna / normuna, yani bazların ne kadar ölçeklendiğine göre alabiliriz. Yani ölçek burada:
Şimdi ölçek, kullandığınız ondan kurtulmak yapabilirsiniz gelmiş alt matris olduğunu karşılık için ölçek ters çevrilip matrisi çarpılarak için getR, S S - 1 R,
Böylece ( ):
Bu son dönme matrisidir. Birçok yolla daha fazla ayrıştırabilirsiniz. Uzun bırakıldı, ancak bir döndürme matrisinin ayrıştırılmasını arayabilirsiniz .
Bu yöntem yalnızca çeviri, ölçekleme ve döndürme şeklinde eşdeğer bir değer verir (orijinal matris, diğer dönüşüm türlerinin sonucu olabilir). Ayrıştırılmış açıları daha fazla kullanırsanız, dönme açıları ile kayan nokta hassasiyeti ile ilgili problemler olabilir, hesaplamalarda yuvarlama hataları birikebilir. Matrisi kendiniz oluşturmadığınız sürece kullanmamalısınız.
Matrisi oluşturan ve çeviriyi, ölçeği ve döndürmeyi ayrı ayrı ve bağımsız olarak düzenlemek ve görüntülemek için ayrıştırma yapmak istiyorsanız, muhtemelen , bileşenlerini depolamak Bir dönüşüm sınıfında ve ayrı ayrı vektörler olarak (döndürme için kuaterniyon olabilir). Yalnızca dönüştürme matrisine ihtiyacınız olduğunda , bu bileşenlerden bir matrisi oluşturun (Bazı bileşenler değiştirilene kadar matrisi önbelleğe alabilirsiniz).s r T R S