applyQuaternion method
Implementation
Vector3 applyQuaternion(Quaternion q) {
final qx = q.x;
final qy = q.y;
final qz = q.z;
final qw = q.w;
// calculate quat * vector
final ix = qw * x + qy * z - qz * y;
final iy = qw * y + qz * x - qx * z;
final iz = qw * z + qx * y - qy * x;
final iw = -qx * x - qy * y - qz * z;
// calculate result * inverse quat
x = ix * qw + iw * -qx + iy * -qz - iz * -qy;
y = iy * qw + iw * -qy + iz * -qx - ix * -qz;
z = iz * qw + iw * -qz + ix * -qy - iy * -qx;
return this;
}