Today I'm going to ask my teacher why haven't we learned quaternions.
Second of all I want you guys to check if I'm converting a quaternion to an Euler angle properly.
Thanks.
Second of all I want you guys to check if I'm converting a quaternion to an Euler angle properly.
Code:
Scalar scalar = null;
final double sinSqr;
final double cos;
final double sin;
scalar = v.getDirection();
sinSqr = Math.sin(angle / 2) * Math.sin(angle / 2);
cos = Math.cos(angle / 2);
sin = Math.sin(angle / 2);
matrix[0] *= 1 - 2 * sinSqr * (scalar.y * scalar.y + scalar.z * scalar.z);
matrix[1] *= (2 * sinSqr * scalar.x * scalar.y) - (2 * cos * sin * scalar.z);
matrix[2] *= (2 * sinSqr * scalar.x * scalar.z) + (2 * cos * sin * scalar.y);
matrix[4] *= 2 * sinSqr * scalar.x * scalar.y + 2*cos * sin * scalar.z;
matrix[5] *= 1 - 2 * sinSqr * (scalar.x * scalar.x + scalar.z * scalar.z);
matrix[6] *= (2 * sinSqr * scalar.y * scalar.z) - (2 * cos * sin * angle);
matrix[8] *= 2 * sinSqr * scalar.x * scalar.z - 2*cos * sin * scalar.y;
matrix[9] *= (2 * sinSqr * scalar.y * scalar.z) + (2 * cos * sin * scalar.x);
matrix[10] *= 1 - 2 * sinSqr * (scalar.x * scalar.x + scalar.y * scalar.y);
Thanks.