setEuler method

void setEuler(
  1. double ex,
  2. double ey,
  3. double ez
)

Set from Euler angles in radians: q = qY(ey) · qX(ex) · qZ(ez).

Implementation

void setEuler(double ex, double ey, double ez) {
  final sa = math.sin(ex * 0.5), ca = math.cos(ex * 0.5);
  final sb = math.sin(ey * 0.5), cb = math.cos(ey * 0.5);
  final sc = math.sin(ez * 0.5), cc = math.cos(ez * 0.5);
  w = cb * ca * cc + sb * sa * sc;
  x = cb * sa * cc + sb * ca * sc;
  y = sb * ca * cc - cb * sa * sc;
  z = cb * ca * sc - sb * sa * cc;
}