3D Dönüşüm

Rotasyon

3B döndürme, 2B döndürme ile aynı değildir. 3B döndürmede, dönme açısını dönme ekseni ile birlikte belirlememiz gerekir. X, Y ve Z eksenleri etrafında 3 boyutlu döndürme yapabiliriz. Aşağıdaki gibi matris biçiminde temsil edilirler -

$$ R_ {x} (\ theta) = \ begin {bmatrix} 1 & 0 & 0 & 0 \\ 0 & cos \ theta & −sin \ theta & 0 \\ 0 & sin \ theta & cos \ theta & 0 \\ 0 & 0 & 0 & 1 \ \ \ end {bmatrix} R_ {y} (\ theta) = \ begin {bmatrix} cos \ theta & 0 & sin \ theta & 0 \\ 0 & 1 & 0 & 0 \\ −sin \ theta & 0 & cos \ theta & 0 \\ 0 & 0 & 0 & 1 \\ \ end {bmatrix} R_ {z} (\ theta) = \ begin {bmatrix} cos \ theta & −sin \ theta & 0 & 0 \\ sin \ theta & cos \ theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 ve 0 ve 0 ve 1 \ end {bmatrix} $$

Aşağıdaki şekil, çeşitli eksenler etrafındaki dönüşü açıklamaktadır -

Ölçeklendirme

Ölçekleme dönüştürmesini kullanarak bir nesnenin boyutunu değiştirebilirsiniz. Ölçekleme sürecinde, nesnenin boyutlarını genişletir veya sıkıştırırsınız. Ölçekleme, istenen sonucu elde etmek için nesnenin orijinal koordinatlarını ölçekleme faktörüyle çarparak elde edilebilir. Aşağıdaki şekil, 3D ölçeklemenin etkisini göstermektedir -

3D ölçekleme işleminde üç koordinat kullanılır. Orijinal koordinatların (X, Y, Z), ölçekleme faktörlerinin sırasıyla $ (S_ {X,} S_ {Y,} S_ {z}) $ olduğunu ve üretilen koordinatların (X ', Y' olduğunu varsayalım. , Z '). Bu, aşağıda gösterildiği gibi matematiksel olarak temsil edilebilir -

$ S = \ başlar {bmatrix} S_ {x} & 0 & 0 & 0 \\ 0 & S_ {y} & 0 & 0 \\ 0 & 0 & S_ {z} & 0 \\ 0 & 0 & 0 & 1 \ end {bmatrix} $

P '= P ∙ S

$ [{X} '\: \: \: {Y}' \: \: \: {Z} '\: \: \: 1] = [X \: \: \: Y \: \: \: Z \: \: \: 1] \: \: \ begin {bmatrix} S_ {x} & 0 & 0 & 0 \\ 0 & S_ {y} & 0 & 0 \\ 0 & 0 & S_ {z} & 0 \\ 0 & 0 & 0 ve 1 \ end {bmatrix} $

$ = [X.S_ {x} \: \: \: Y.S_ {y} \: \: \: Z.S_ {z} \: \: \: 1] $

Kesme

Bir nesnenin şeklini eğimli bir dönüşüme denir. shear transformation. 2B yamultmada olduğu gibi, bir nesneyi 3B'de X ekseni, Y ekseni veya Z ekseni boyunca yamultabiliriz.

Yukarıdaki şekilde gösterildiği gibi, bir P koordinatı vardır. Bunu, aşağıdaki gibi 3B matris formunda gösterilebilen yeni bir P 'koordinatını elde etmek için kesebilirsiniz -

$ Sh = \ başla {bmatrix} 1 & sh_ {x} ^ {y} & sh_ {x} ^ {z} & 0 \\ sh_ {y} ^ {x} & 1 & sh_ {y} ^ {z} & 0 \\ sh_ {z} ^ {x} & sh_ {z} ^ {y} & 1 & 0 \\ 0 & 0 & 0 & 1 \ end {bmatrix} $

P '= P ∙ Sh

$ X '= X + Sh_ {x} ^ {y} Y + Sh_ {x} ^ {z} Z $

$ Y '= Sh_ {y} ^ {x} X + Y + sh_ {y} ^ {z} Z $

$ Z '= Sh_ {z} ^ {x} X + Sh_ {z} ^ {y} Y + Z $

Dönüşüm Matrisleri

Dönüşüm matrisi, dönüşüm için temel bir araçtır. Nxm boyutlarına sahip bir matris, nesnelerin koordinatları ile çarpılır. Dönüşüm için genellikle 3 x 3 veya 4 x 4 matris kullanılır. Örneğin, çeşitli işlemler için aşağıdaki matrisi düşünün.

$ T = \ başla {bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ t_ {x} & t_ {y} & t_ {z} & 1 \\ \ end {bmatrix} $ $ S = \ başlar {bmatrix} S_ {x} & 0 & 0 & 0 \\ 0 & S_ {y} & 0 & 0 \\ 0 & 0 & S_ {z} & 0 \\ 0 & 0 & 0 & 1 \ end {bmatrix} $ $ Sh = \ başla {bmatrix} 1 & sh_ {x} ^ {y} & sh_ {x} ^ {z} & 0 \\ sh_ {y} ^ {x} & 1 & sh_ {y} ^ {z} & 0 \\ sh_ {z} ^ {x} & sh_ {z} ^ {y} & 1 & 0 \\ 0 & 0 & 0 & 1 \ end {bmatrix} $
Translation Matrix Scaling Matrix Shear Matrix
$ R_ {x} (\ theta) = \ begin {bmatrix} 1 & 0 & 0 & 0 \\ 0 & cos \ theta & -sin \ theta & 0 \\ 0 & sin \ theta & cos \ theta & 0 \\ 0 & 0 & 0 & 1 \\ \ end {bmatrix} $ $ R_ {y} (\ theta) = \ begin {bmatrix} cos \ theta & 0 & sin \ theta & 0 \\ 0 & 1 & 0 & 0 \\ -sin \ theta & 0 & cos \ theta & 0 \\ 0 & 0 & 0 & 1 \\ \ end {bmatrix} $ $ R_ {z} (\ theta) = \ begin {bmatrix} cos \ theta & -sin \ theta & 0 & 0 \\ sin \ theta & cos \ theta & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \ end {bmatrix} $
Rotation Matrix