YawPitchRoll

cos60=0.500000 sin60=0.866025
cos30=0.866025 sin30=0.500000
cos45=0.707107 sin45=0.707107

// glm::rotate(glm::mat4(1.0f), 30.0f, glm::vec3(1.0f, 0.0f, 0.0f));
Rx=
1.000000 0.000000 0.000000 0.000000
0.000000 0.866025 -0.500000 0.000000
0.000000 0.500000 0.866025 0.000000
0.000000 0.000000 0.000000 1.000000

// glm::rotate(glm::mat4(1.0f), 60.0f, glm::vec3(0.0f, 1.0f, 0.0f));
Ry=
0.500000 0.000000 0.866025 0.000000
0.000000 1.000000 0.000000 0.000000
-0.866025 0.000000 0.500000 0.000000
0.000000 0.000000 0.000000 1.000000

// glm::rotate(glm::mat4(1.0f), 45.0f, glm::vec3(0.0f, 0.0f, 1.0f));
Rz=
0.707107 -0.707107 0.000000 0.000000
0.707107 0.707107 0.000000 0.000000
0.000000 0.000000 1.000000 0.000000
0.000000 0.000000 0.000000 1.000000

// R = Rz * Rx * Ry (1. Ry 2. Rx 3. Rz) == XNA CreateRotationY(60) * CreateRotationX(30) * CreateRotationZ(45)
R =
0.047367 -0.612372 0.789149 0.000000
0.659740 0.612372 0.435596 0.000000
-0.750000 0.500000 0.433013 0.000000
0.000000 0.000000 0.000000 1.000000
// glm::eulerAngleYXZ(60, 30, 45) == XNA CreateFromYawPitchRoll(60, 30, 45)
Euler=
0.659740 -0.047367 0.750000 0.000000
0.612372 0.612372 -0.500000 0.000000
-0.435596 0.789149 0.433013 0.000000
0.000000 0.000000 0.000000 1.000000

// glm::yawPitchRoll(60, 30, 45) == XNA CreateFromYawPitchRoll(60, 30, 45)
YPR=
0.659740 -0.047367 0.750000 0.000000
0.612372 0.612372 -0.500000 0.000000
-0.435596 0.789149 0.433013 0.000000
0.000000 0.000000 0.000000 1.000000

Leave a Reply

Your email address will not be published. Required fields are marked *