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