001        package com.croftsoft.core.math.axis;
002    
003        import com.croftsoft.core.math.matrix.Matrix3x3;
004    
005        /***********************************************************************
006        * AxisAngle test methods.
007        * 
008        * @version
009        *   $Id: AxisAngleTest.java,v 1.2 2008/09/20 04:12:46 croft Exp $
010        * @since
011        *   2008-05-09
012        * @author
013        *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
014        ***********************************************************************/
015    
016        public final class  AxisAngleTest
017        ////////////////////////////////////////////////////////////////////////
018        ////////////////////////////////////////////////////////////////////////
019        {
020          
021        public static void  main ( final String [ ]  args )
022        ////////////////////////////////////////////////////////////////////////
023        {
024          System.out.println ( test ( ) );
025        }
026        
027        public static boolean  test ( )
028        ////////////////////////////////////////////////////////////////////////
029        {
030          return testToRotationMatrix ( );
031        }
032        
033        public static boolean  testToRotationMatrix ( )
034        ////////////////////////////////////////////////////////////////////////
035        {
036          return testToRotationMatrix ( new AxisAngleImp (   0, 1, 0, 0 ) )
037              && testToRotationMatrix ( new AxisAngleImp ( 180, 0, 1, 0 ) )
038              && testToRotationMatrix ( new AxisAngleImp (  90, 0, 0, 1 ) )
039              && testToRotationMatrix ( new AxisAngleImp (  37, 1, 0, 0 ) )
040              && testToRotationMatrix ( new AxisAngleImp (  37, 0, 1, 0 ) )
041              && testToRotationMatrix ( new AxisAngleImp (  37, 0, 0, 1 ) );
042        }
043        
044        public static boolean  testToRotationMatrix (
045          final AxisAngle  axisAngle )
046        ////////////////////////////////////////////////////////////////////////
047        {
048          final Matrix3x3  rotationMatrix0 = axisAngle.toRotationMatrix ( );
049          
050          final Matrix3x3  rotationMatrix1
051            = axisAngle.toQuat ( ).toRotationMatrix ( );
052          
053          System.out.println ( rotationMatrix0.toString ( ) );
054          
055          System.out.println ( rotationMatrix1.toString ( ) );
056          
057          return rotationMatrix0.matches ( rotationMatrix1, 0.001 );
058        }
059        
060        ////////////////////////////////////////////////////////////////////////
061        // private methods
062        ////////////////////////////////////////////////////////////////////////
063        
064        private  AxisAngleTest ( )
065        ////////////////////////////////////////////////////////////////////////
066        {
067          // empty
068        }
069        
070        ////////////////////////////////////////////////////////////////////////
071        ////////////////////////////////////////////////////////////////////////
072        }