SUBROUTINE WINCOT(X,Y,IX,IY) COMMON /TKTRNX/ TMINVX,TMINVY,TMAXVX,TMAXVY,TREALX,TREALY, 1 TIMAGX,TIMAGY,TRCOSF,TRSINF,TRSCAL,TRFACX,TRFACY, 2 TRPAR1,TRPAR2,TRPAR3,TRPAR4,TRPAR5,TRPAR6,KMOFLG(8),KPAD2, 3 KBAUDR,KGNFLG,KGRAFL,KHOMEY,KKMODE,KHORSZ,KVERSZ,KTBLSZ, 4 KSIZEF,KLMRGN,KRMRGN,KFACTR,KTERM,KLINE,KZAXIS,KBEAMX,KBEAMY, 5 KMOVEF,KPCHAR(5),KDASHT,KMINSX,KMINSY,KMAXSX,KMAXSY,KEYCON, 6 KINLFT,KOTLFT,KUNIT C * CHECK FOR PERMITTED VALUE OF CONVERSION KEY C * DEFAULT IS LINEAR,ERROR IS NONE DX=X-TMINVX DY=Y-TMINVY KEY=KEYCON IF(KEYCON .LT. 1)KEY=5 IF(KEYCON .GT. 4)KEY=4 C * BRANCH TO PROPER SECTION C * LINEAR LOG POLAR USER ERROR GO TO(500,300,600,700,100),KEY C * ERROR 100 IX=X IY=Y GO TO 800 C * LOG TRANSFORM 300 KEYL=TRPAR1+.001 IF(KEYL .EQ. 2) GO TO 400 C * SETUP X LOG TRANSFORM DX=ALOG(X)-TRPAR2 400 IF(KEYL .EQ. 1)GO TO 500 C * SETUP Y LOG TRANSFORM DY=ALOG(Y)-TRPAR3 C * CONVERT LINIER 500 IX=IFIX(DX*TRFACX)+KMINSX IY=IFIX(DY*TRFACY)+KMINSY C * GO TO EXIT GO TO 800 C * POLAR TRANSFORMATION 600 A=(Y-TRPAR6)*TRFACY R=(X-TRPAR5)*TRFACX IX=R*COS(A*DE2RAD)+TRPAR3 IY=R*SIN(A*DE2RAD)+TRPAR4 C * GO TO EXIT GO TO 800 C * USER TRANSFORMATION IN USE 700 CONTINUE C CALL USECOT(X,Y,IX,IY) C * EXIT POINT 800 RETURN END