MatrixD.rotateXYZ constructor
MatrixD.rotateXYZ(
- Vector3D angle
Implementation
factory MatrixD.rotateXYZ(Vector3D angle) {
MatrixD result = .identity();
final cosz = math.cos(-angle.z);
final sinz = math.sin(-angle.z);
final cosy = math.cos(-angle.y);
final siny = math.sin(-angle.y);
final cosx = math.cos(-angle.x);
final sinx = math.sin(-angle.x);
result.m0 = cosz*cosy;
result.m1 = (cosz*siny*sinx) - (sinz*cosx);
result.m2 = (cosz*siny*cosx) + (sinz*sinx);
result.m4 = sinz*cosy;
result.m5 = (sinz*siny*sinx) + (cosz*cosx);
result.m6 = (sinz*siny*cosx) - (cosz*sinx);
result.m8 = -siny;
result.m9 = cosy*sinx;
result.m10= cosy*cosx;
return result;
}