function Quaternion(x,y,z,w){
    /**
     * @property {Number} x
     */
    this.x = x!==undefined ? x : 0;

    /**
     * @property {Number} y
     */
    this.y = y!==undefined ? y : 0;

    /**
     * @property {Number} z
     */
    this.z = z!==undefined ? z : 0;

    /**
     * The multiplier of the real quaternion basis vector.
     * @property {Number} w
     */
    this.w = w!==undefined ? w : 1;
}
A Quaternion describes a rotation in 3D space. The Quaternion is mathematically defined as Q = x*i + y*j + z*k + w, where (i,j,k) are imaginary basis vectors. (x,y,z) can be seen as a vector related to the axis of rotation, while the real multiplier, w, is related to the amount of rotation.
@class Quaternion
@constructor
@param {Number} x Multiplier of the imaginary basis vector i.
@param {Number} y Multiplier of the imaginary basis vector j.
@param {Number} z Multiplier of the imaginary basis vector k.
@param {Number} w Multiplier of the real part.
@see http://en.wikipedia.org/wiki/Quaternion