import javax.vecmath.*;

public class QuatTest
{
  static public void main(String[] args)
  {
    // This version causes NaN in Quat.
    AxisAngle4d axisangle = new AxisAngle4d(0, 0, 1, (float)(Math.PI*0.5) );

    // This version does not.
//    AxisAngle4d axisangle = new AxisAngle4d(0, 0, 1, Math.PI*0.5 );


    // Set matrix 1
    Matrix4f mat1 = new Matrix4f();
    mat1.set( axisangle );
    System.out.println("mat1=\n" + mat1 );

    // Set matrix 2
    Matrix4f mat2 = new Matrix4f();
    mat2.set( axisangle );
    System.out.println("mat2=\n" + mat2 );

    // Multiply to get rotate around Z 180 deg
    mat2.mul( mat1 );
    System.out.println("mat1 * mat2=\n" + mat2 );


    // Make the quat.
    Quat4f quat = new Quat4f();
    quat.set( mat2 );
    System.out.println("quat=" + quat);
  }

}
