Index: trunk/psLib/src/astro/psEarthOrientation.c
===================================================================
--- trunk/psLib/src/astro/psEarthOrientation.c	(revision 5657)
+++ trunk/psLib/src/astro/psEarthOrientation.c	(revision 5749)
@@ -8,6 +8,6 @@
  *  @author Robert Daniel DeSonia, MHPCC
  *
- *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-12-02 04:40:00 $
+ *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-12-08 02:49:04 $
  *
  *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
@@ -690,14 +690,47 @@
     //XXX: Used formula for rotation matrix D from mathworld for z-axis rotation
     double a =  1.0 / (1.0 + sqrt(1.0 - (pole->x*pole->x + pole->y*pole->y) ) );
+    /*    A[0][0] = (1.0 - a*pole->x*pole->x)*cos(pole->s) - a*pole->x*pole->y*sin(pole->s);
+        A[0][1] = -a*pole->x*pole->y*cos(pole->s) + (1.0 - a*pole->y*pole->y)*sin(pole->s);
+        A[0][2] = pole->x*cos(pole->s) + pole->y*sin(pole->s);
+        A[1][0] = -(1.0 - a*pole->x*pole->x)*sin(pole->s) - a*pole->x*pole->y*cos(pole->s);
+        A[1][1] = a*pole->x*pole->y*sin(pole->s) + (1.0 - a*pole->y*pole->y)*cos(pole->s);
+        A[1][2] = -pole->x*sin(pole->s) + pole->y*cos(pole->s);
+        A[2][0] = -pole->x;
+        A[2][1] = -pole->y;
+        A[2][2] = 1.0 - a*(pole->x*pole->x + pole->y*pole->y);
+    */
     A[0][0] = (1.0 - a*pole->x*pole->x)*cos(pole->s) - a*pole->x*pole->y*sin(pole->s);
-    A[0][1] = -a*pole->x*pole->y*cos(pole->s) + (1.0 - a*pole->y*pole->y)*sin(pole->s);
-    A[0][2] = pole->x*cos(pole->s) + pole->y*sin(pole->s);
-    A[1][0] = -(1.0 - a*pole->x*pole->x)*sin(pole->s) - a*pole->x*pole->y*cos(pole->s);
+    A[1][0] = -a*pole->x*pole->y*cos(pole->s) + (1.0 - a*pole->y*pole->y)*sin(pole->s);
+    A[2][0] = pole->x*cos(pole->s) + pole->y*sin(pole->s);
+    A[0][1] = -(1.0 - a*pole->x*pole->x)*sin(pole->s) - a*pole->x*pole->y*cos(pole->s);
     A[1][1] = a*pole->x*pole->y*sin(pole->s) + (1.0 - a*pole->y*pole->y)*cos(pole->s);
-    A[1][2] = -pole->x*sin(pole->s) + pole->y*cos(pole->s);
-    A[2][0] = -pole->x;
-    A[2][1] = -pole->y;
+    A[2][1] = -pole->x*sin(pole->s) + pole->y*cos(pole->s);
+    A[0][2] = -pole->x;
+    A[1][2] = -pole->y;
     A[2][2] = 1.0 - a*(pole->x*pole->x + pole->y*pole->y);
-
+    double x, y, s;
+    x = pole->x;
+    y = pole->y;
+    s = pole->s;
+    /*    A[0][0] = (1.0 - a*x*x)*cos(s) + a*x*y*sin(s);
+        A[0][1] = (1.0 - a*x*x)*sin(s) - a*x*y*cos(s);
+        A[0][2] = x;
+        A[1][0] = -a*x*y*cos(s) - (1.0 - a*y*y)*sin(s);
+        A[1][1] = -a*x*y*sin(s) + (1.0 - a*y*y)*cos(s);
+        A[1][2] = y;
+        A[2][0] = -x*cos(s) + y*sin(s);
+        A[2][1] = -x*sin(s) - y*cos(s);
+        A[2][2] = 1.0 - a * (x*x + y*y);
+    */
+    /*    A[0][0] = (1.0 - a*x*x)*cos(s) + a*x*y*sin(s);
+        A[1][0] = (1.0 - a*x*x)*sin(s) - a*x*y*cos(s);
+        A[2][0] = x;
+        A[0][1] = -a*x*y*cos(s) - (1.0 - a*y*y)*sin(s);
+        A[1][1] = -a*x*y*sin(s) + (1.0 - a*y*y)*cos(s);
+        A[2][1] = y;
+        A[0][2] = -x*cos(s) + y*sin(s);
+        A[1][2] = -x*sin(s) - y*cos(s);
+        A[2][2] = 1.0 - a * (x*x + y*y);
+    */
     out = rotMatrix_To_Quat(A);
 
