SUBROUTINE SCALE(X,Y,VX,VY) C C THIS SUBROUTINE CONVERTS THE POINT (X,Y) FROM WORLD COORDINATES C TO THE POINT (VX,VY) IN VIRTUAL COORDINATES. C LOGICAL*1 LOGX, LOGY COMMON /PLTCOM/ UX0, UDX, UY0, UDY, LOGX, LOGY COMMON /PLTSIZ/ XVSTRT, YVSTRT, XVLEN, YVLEN C C DEFINE "LOG10(0.0)" AS SMLLOG C DATA SMLLOG /-100.0/ C XX = X IF (.NOT. LOGX) GO TO 10 IF (X .LE. 0.0) GO TO 5 XX = ALOG10(X) GO TO 10 5 CONTINUE XX = SMLLOG 10 CONTINUE YY = Y IF (.NOT. LOGY) GO TO 20 IF (Y .LE. 0.0) GO TO 15 YY = ALOG10(Y) GO TO 20 15 CONTINUE YY = SMLLOG 20 CONTINUE VX = XVSTRT + XVLEN*(XX-UX0)/UDX VY = YVSTRT + YVLEN*(YY-UY0)/UDY RETURN END