java3D.
, 4 , .
1) ( )
2)
3)
4)
4x4.
, ( , , , - , 2 col 3 3 col 2 ).
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
. - . .
, (1, 0, 0, 0) x (, , ). (0, 1, 0, 0) y (, , ). (0, 0, 1, 0) Z (, , ). (0, 0, 0, 1) , .
, X.
, , (1, 0, 0, 0) . Up - (0, 1, 0, 0) - 0, 0, 0 1. , ? , z. ? , , . , , . ? . ,
0 0 1 0
0 1 0 0
-1 0 0 0
0 0 0 1
. , , ( vPos vFocus). vPos vFocus, vPos vFocus (vFocus.x - vPos.x, vFocus.y - vPos.y, vFocus.z - vPos.z, vFocus.w - vPos.w), , "1" w, "0". , , 1 ws 0. , , vFocus, vDir. , vPos vFocus. vDir (vDir.x/length, vDir.y/length, vDir.z/length, vDir.w/length), , 1.
ponit 3- 4- . assuem - (0, 1, 0, 0) vUp. , vUp , ( ) , vDir vUp. vLat. .. , . , - vLat vDir, 4 .
:
vLat.x vUp.x vDir.x vPos.x
vLat.y vUp.y vDir.y vPos.y
vLat.z vUp.z vDir.z vPos.z
vLat.w vUp.w vDir.w vPos.w
, , (0, 1, 0, 0) , .