MatrixD.rotateZYX constructor
MatrixD.rotateZYX(
- Vector3D angle
Implementation
factory MatrixD.rotateZYX(Vector3D angle) {
MatrixD result = .zero();
final cz = math.cos(angle.z);
final sz = math.sin(angle.z);
final cy = math.cos(angle.y);
final sy = math.sin(angle.y);
final cx = math.cos(angle.x);
final sx = math.sin(angle.x);
result.m0 = cz*cy;
result.m4 = cz*sy*sx - cx*sz;
result.m8 = sz*sx + cz*cx*sy;
result.m1 = cy*sz;
result.m5 = cz*cx + sz*sy*sx;
result.m9 = cx*sz*sy - cz*sx;
result.m2 = -sy;
result.m6 = cy*sx;
result.m10 = cy*cx;
result.m15 = 1;
return result;
}