01.01 C GRAPH BY STEVE POULSEN 01.02 C OMSI SOFTWARE DEVELOPEMENT GROUP 01.03 C LAST CHANGE: 8/19/71 01.04 C ***** TEKTRONIX T-4002 GRAPHICS TERMINAL REQUIRED ***** 01.05 01.06 C THIS PROGRAM WILL GRAPH ANY TWO DIMENSIONAL EQUATION ON AN 01.07 C EUCLIDEAN GRAPH. TYPE ANYTHING BUT YES IF YOU WANT TO INPUT AN EQUATION 01.08 C WHEN ASKED IF THE EQUATION IS IN, AND THE COMPUTER WILL INTERRUPT 01.09 C THE PROGRAM AND ALLOW YOU TO MODIFY ITS INPUT EQUATION. IF YOU CHOOSE 01.10 C NOT TO MODIFY THE EQUATION THE PROGRAM WILL ASSUME Y=FSIN(X). TYPE 01.11 C AN '=' AFTER THE CARRIAGE RETURN AND YOU WILL GET THE FIRST PART OF 01.12 C THE EQUATION SINCE IT IS IN MODIFY MODE. REMEMBER, THE EQUATION 01.13 C MUST BE Y IN TERMS OF X. 01.14 C ** X INCREMENT IS THE STEP WITH WHICH YOU WISH THE GRAPH TO GO. 01.15 C ** X OFFSET IS THE VERTICAL DISPLACEMENT FROM THE CENTER OF THE X AXIS. 01.16 C ** Y SCALING FACTOR SETS THE VERTICAL PLOT LIMIT OF THE SCREEN. 01.17 01.18 C WHEN INPUTING YOUR EQUATION, REMEMBER THAT YOU ARE USING MODIFY IN 01.19 C FOCAL SO SINE AND COSINE (AND ALL OTHERS) MUST BEGIN WITH F. 01.20 E 01.21 I ((#/3)-FITR(#/3)) 1.22,1.28,1.22 01.22 T "YOU DO NOT HAVE ENOUGH FEATURES. RESTART FOCAL WITH FEATURE 2.",!;Q 01.23 01.28 A !%6.03,"HAVE YOU ENTERED THE EQUATION?",A1;I (A1-0YES) 1.2,1.3; 01.29 T !"ENTER EQUATION OF Y IN TERMS OF X"!!;M 30.1 01.30 A !"LOWER LIMIT OF X?",X1,"UPPER LIMIT OF X?",X2,"X INCREMENT",X3 01.40 A !"X OFFSET?",X4,"Y SCALING FACTOR?",Y1 01.50 S XS=1000/(X2-X1);S XC=-X1*XS 01.60 S YS=Y1*XS 01.70 S YC=380+X4*YS 01.80 F Q7=0,.2,FOUT(24); 02.10 I (XC) 2.5;I (1020-XC) 2.5;S Q8=FDIS(0,XC,0)+FDIS(1,XC,780) 02.20 S D1=FITR(FLOG(50/YS)/FLOG(10));S DV=FEXP(D1*FLOG(10)) 02.25 S Q8=FOUT(1);T "Y UNITS:",DV 02.30 F U1=FITR(-YC/(YS*DV))*DV,DV,FITR((760-YC)/(YS*DV))*DV;D 5.1 02.50 I (YC) 3.1;I (780-YC) 3.1;S Q8=FDIS(0,0,YC)+FDIS(1,1020,YC) 02.60 S D1=FITR(FLOG(50/XS)/FLOG(10));S DV=FEXP(D1*FLOG(10)) 02.65 S Q8=FOUT(1);T !"X UNITS:",DV 02.70 F U1=FITR(-XC/(XS*DV))*DV,DV,FITR((1020-XC)/(XS*DV))*DV;D 5.2 03.10 S I=0 03.20 F X=X1,X3,X2;D 30.1;D 4 03.30 S Q8=FOUT(1);T !!!;Q 04.10 S XP=XC+X*XS;S YP=YC+Y*YS 04.40 S R=FSQT((510-XP)^2+(510-YP)^2);I (R-510) 4.5;S I=0 04.50 S Q9=FDIS(I,XP,YP);I (R-510) 4.6;R 04.60 S I=1 05.10 S Q8=FDIS(0,XC-5,YC+YS*U1)+FDIS(1,XC+5,YC+YS*U1) 05.20 S Q8=FDIS(0,XC+XS*U1,YC-5)+FDIS(1,XC+XS*U1,YC+5) 30.10 S Y=FSIN(X)