矩陣表達縮放
旋轉矩陣表示方式為:
a 0 0 0
0 b 0 0
0 0 c 0
3dmax怎樣縮放物體? 0 0 0 1
驗證如下:
A = [x,y,z] ,如果要將A進行縮放,假設縮放比為N =[a,b,c],那么縮放結果應為 [x*a,y*b,z*c]
[x,y,z,w] *{ a,0,0,0} ? =a*x+y*0+z*0+w*1 =a*x?
? 0,b,0,0 ? ?=x*0+y*b+z*0+w*0 =y*b
? ? 0,0,c,0 ? ?=x*0+y*0+z*c+w*0 =z*c
按比例縮放快捷鍵。 0,0,0,1 ? =x*0+y*0+z*0+w*1 =w
結果[a*x,y*b,z*c,w]與預期相符
矩陣表達旋轉
假設軸 為n =(x,y,z).旋轉α角度。 c = cos(α),s = sin(α)
那么旋轉的矩陣表示為:
c+(1-c)x2 ? ? ? ? ? ?(1-c)x*y+s*z ? ? ? ?(1-c)x*z -s*y ? ? ? 0
圖形學旋轉變換矩陣。 (1-c)x*y-s*z ? ? ? ? c+(1-c)y2 ? ? ? ? ? ??(1-c)y*z+s*x ? ? ?0
(1-c)x*z+s*y (1-c)y*z-s*x ?c+(1-c)z2 0
0 0 0 ?1
如果旋轉軸為 x[1,0,0],旋轉角度為α,那么其旋轉矩陣為:
1 0 0 0
0 cos(α) ? sin(α) ? 0
matlab代碼整體縮進, 0 -sin(α) cos(α) ?0
0 0 0 1
?