MatrixPitch()?

Blitz3D Forums/Blitz3D Programming/MatrixPitch()?

JoshK(Posted 2003) [#1]
This works perfectly for yaw and roll, but can't go past 90 degrees pitch. Once this is fixed, I can do parenting and TForm coordinates. I can rotate meshes, amazingly!

(This is Blitz+ 3D code.)

Function MatrixPitch#(matrix)
Return ATan2(Getmatelement(matrix,1,2),Getmatelement(matrix,2,2)) 
End Function

Function MatrixYaw#(matrix)
Return -ATan2(Getmatelement(matrix,2,0),Getmatelement(matrix,2,2)) 
End Function

Function MatrixRoll#(matrix)
Return ATan2(Getmatelement(matrix,0,1),Getmatelement(matrix,1,1)) 
;-ATan2(m(1,0),m(1,1)) 
End Function