SUBROUTINE ATTID1(TS,U1,U2,DIR)                                   
      COMMON /Z/ Z(2)                                                   
      COMMON /C/ X(12)                                                  
      DIMENSION S(3),E(3),P2(3),DIR(3),DRA(3),PA(3,3)                   
      UX=ATAN(1.)/45.*U1
      UY=ATAN(1.)/45.*U2
      DRA(1)=COS(UX)
      DRA(2)=SIN(UX)*COS(UY)
      DRA(3)=SIN(UX)*SIN(UY)
      ALF=X(1)+X(2)*SIN(X(11)*TS)+X(3)*COS(X(11)*TS)+X(4)*SIN(X(12)*TS)+
     *X(5)*COS(X(12)*TS)                                                
      BET=X(6)+X(7)*SIN(X(11)*TS)+X(8)*COS(X(11)*TS)+X(9)*SIN(X(12)*TS)+
     *X(10)*COS(X(12)*TS)                                               
      RGR =   ATAN(1.)/45                                               
      AL =ALF*RGR
      TGA=TAN(AL )                                                      
      BE =BET*RGR                                                       
      TGB=TAN(BE )                                                      
      S(1)=1./SQRT(1.+TGA**2+TGB**2)                                    
      S(2)=     TGA *S(1)                                               
      S(3)= TGB     *S(1)                                               
      G=Z(1)+Z(2)*TS                                                    
      AX=S(2)*COS(G)+S(3)*SIN(G)                                        
      E(1)=-AX/SQRT(AX**2+S(1)**2)                                      
      E(2)=SQRT(1.-E(1)**2)*COS(G)                                      
      E(3)=SQRT(1.-E(1)**2)*SIN(G)                                      
      CALL VECT (E,S,P2)                                                
          DO 1 I=1,3                                                    
          PA(1,I)=  S(I)                                                
          PA(2,I)= P2(I)                                                
    1     PA(3,I)=  E(I)                                                
      DO 2 I=1,3                                                        
    2 DIR(I)=0                                                          
      DO 3 I=1,3                                                        
      DO 3 J=1,3                                                        
    3 DIR(I)=DIR(I)+PA(I,J)*DRA(J)                                      
      RETURN                                                            
      END                                                               
      subroutine vect(x,y,z)
      dimension x(3),y(3),z(3)
      z(1)=x(2)*y(3)-y(2)*x(3)
      z(2)=x(3)*y(1)-x(1)*y(3)
      z(3)=x(1)*y(2)-x(2)*y(1)
      zz=sqrt(z(1)**2+z(2)**2+z(3)**2)
      do 1 i=1,3
    1 z(i)=z(i)/zz
      return
      end