length2() public method

public length2 ( ) : double
return double
Ejemplo n.º 1
0
 public void setRotation(emQuaternion q)
 {
     double d = q.length2();
     double s = 2.0/d;
     double xs = q.x*s, ys = q.y*s, zs = q.z*s;
     double wx = q.w*xs, wy = q.w*ys, wz = q.w*zs;
     double xx = q.x*xs, xy = q.x*ys, xz = q.x*zs;
     double yy = q.y*ys, yz = q.y*zs, zz = q.z*zs;
     setValue(1.0 - (yy + zz), xy - wz, xz + wy,
         xy + wz, 1.0 - (xx + zz), yz - wx,
         xz - wy, yz + wx, 1.0 - (xx + yy));
 }
        public void setRotation(emQuaternion q)
        {
            double d = q.length2();
            double s = 2.0 / d;
            double xs = q.x * s, ys = q.y * s, zs = q.z * s;
            double wx = q.w * xs, wy = q.w * ys, wz = q.w * zs;
            double xx = q.x * xs, xy = q.x * ys, xz = q.x * zs;
            double yy = q.y * ys, yz = q.y * zs, zz = q.z * zs;

            setValue(1.0 - (yy + zz), xy - wz, xz + wy,
                     xy + wz, 1.0 - (xx + zz), yz - wx,
                     xz - wy, yz + wx, 1.0 - (xx + yy));
        }