perm filename TNSFRM.ML[S,AIL] blob sn#093284 filedate 1974-03-25 generic text, type T, neo UTF8
T;



(MATRIX DISPLAYED AS LIST OF LISTS) 
(D79) [[COS(OMEGA) COS(PHI) COS(THETA) - SIN(OMEGA) SIN(THETA),

COS(OMEGA) SIN(THETA) + SIN(OMEGA) COS(PHI) COS(THETA),

- SIN(PHI) COS(THETA)], [ - COS(OMEGA) COS(PHI) SIN(THETA) - SIN(OMEGA)

 COS(THETA), COS(OMEGA) COS(THETA) - SIN(OMEGA) COS(PHI) SIN(THETA),

SIN(PHI) SIN(THETA)], [COS(OMEGA) SIN(PHI), SIN(OMEGA) SIN(PHI),

COS(PHI)]]

(C80) MV:MATRIX(V);

(D80)                           [ X  Y  Z ]

(C81) T*MV;

FULLMAP IS TRUNCATING

(MATRIX DISPLAYED AS LIST OF LISTS) 
(D81) [[(COS(OMEGA) COS(PHI) COS(THETA) - SIN(OMEGA) SIN(THETA)) X,

           (COS(OMEGA) SIN(THETA) + SIN(OMEGA) COS(PHI) COS(THETA)) Y,

           - SIN(PHI) COS(THETA) Z]]

(C82) T*TRANSPOSE(MV);

FULLMAP IS TRUNCATINGFULLMAP IS TRUNCATINGFULLMAP IS TRUNCATING
      [  (COS(OMEGA) COS(PHI) COS(THETA) - SIN(OMEGA) SIN(THETA)) X   ]
      [                                                               ]
(D82) [ ( - COS(OMEGA) COS(PHI) SIN(THETA) - SIN(OMEGA) COS(THETA)) Y ]
      [                                                               ]
      [                     COS(OMEGA) SIN(PHI) Z                     ]

(C83) T*TRANSPOSE(V);

FULLMAP IS TRUNCATINGFULLMAP IS TRUNCATINGFULLMAP IS TRUNCATING
      [  (COS(OMEGA) COS(PHI) COS(THETA) - SIN(OMEGA) SIN(THETA)) X   ]
      [                                                               ]
(D83) [ ( - COS(OMEGA) COS(PHI) SIN(THETA) - SIN(OMEGA) COS(THETA)) Y ]
      [                                                               ]
      [                     COS(OMEGA) SIN(PHI) Z                     ]

(C84) V4;

(D84) [COS(THETA) (COS(PHI) (SIN(OMEGA) Y + COS(OMEGA) X) - SIN(PHI) Z)

   + SIN(THETA) (COS(OMEGA) Y - SIN(OMEGA) X),

  COS(THETA) (COS(OMEGA) Y - SIN(OMEGA) X)

   - SIN(THETA) (COS(PHI) (SIN(OMEGA) Y + COS(OMEGA) X) - SIN(PHI) Z),

  COS(PHI) Z + SIN(PHI) (SIN(OMEGA) Y + COS(OMEGA) X)]

(C85) PRINT(F);

F
(D85)                                F

(C86) DISPFUN(F);

(D86) F(X, Y, Z, PHI, THETA, OMEGA) :=

  [COS(THETA) (COS(PHI) (SIN(OMEGA) Y + COS(OMEGA) X) - SIN(PHI) Z)

   + SIN(THETA) (COS(OMEGA) Y - SIN(OMEGA) X),

  COS(THETA) (COS(OMEGA) Y - SIN(OMEGA) X)

   - SIN(THETA) (COS(PHI) (SIN(OMEGA) Y + COS(OMEGA) X) - SIN(PHI) Z),

  COS(PHI) Z + SIN(PHI) (SIN(OMEGA) Y + COS(OMEGA) X)]

(C87) DISPFUN(R2);

(D87) R2(V, I, J, TH) :=

                BLOCK([VV], VV : EV(V), VV  : V  SIN(TH) + V  COS(TH),
                                          I    J            I

                VV  : V  COS(TH) - V  SIN(TH), VV)
                  J    J            I

(C88)