File: POLAR.FC of Tape: Sources/Focal/fc3
(.FC,.FO Focal format converted to 'WRITE' listing) 

C-PS/8 FOCAL, 1971

01.01 C     POLAR BY STEVE POULSEN
01.02 C     OMSI SOFTWARE DEVELOPMENT GROUP
01.03 C     LAST CHANGE: 8/31/71
01.04 C     ***** TEKTRONIX T-4002 GRAPHICS TERMINAL REQUIRED *****
01.05 
01.06 C     THIS PROGRAM WILL GRAPH ANY TWO-DIMENSIONAL EQUATION ON
01.07 C A POLAR COORDINATE SYSTEM.  TYPE ANYTHING BUT YES IF YOU WANT TO
01.08 C TO INPUT AN EQUATION WHEN ASKED IF THE EQUATION IS IN, AND
01.09 C THE COMPUTER WILL INTERRUPT THE PROGRAM AND ALLOW YOU TO
01.10 C MODIFY ITS INPUT EQUATION.  TYPE AN '=' AND YOU WILL GET THE
01.11 C FIRST PART OF THE EQUATION SINCE IT IS IN MODIFY MODE.  IF
01.12 C YOU CHOOSE NOT TO MODIFY THE EQUATION, THE PROGRAM WILL ASSUME
01.13 C R=T.  EQUATION FORMAT IS R(RADIUS) IN TERMS OF T(THETA).
01.14 C ** INITIAL ANGLE IS THE POSITION FROM WHICH R WILL BE ROTATED.
01.15 C ** FINAL ANGLE IS THE POSITION THROUGH WHICH R WILL BE ROTATED.
01.16 C ** ANGLE INCREMENT IS THE STEP WITH WHICH R WILL BE ROTATED.
01.17 C ** RADIUS OF AXES IS THE SCALING FEATURE WHICH SETS THE LENGTH OF
01.18 C    THE X AND Y AXES.
01.19 C ** ALL ANGLES ARE IN DEGREES.
01.20 
01.24 I ((#/3)-FITR(#/3))1.25,1.28,1.25
01.25 T "YOU DO NOT HAVE ENOUGH FEATURES."
01.26 T "  RESTART FOCAL WITH FEATURE 2.";Q
01.28 E
01.29 D 12;A "HAVE YOU ENTERED THE EQUATION? ",AN
01.30 I (AN-0YES) 1.4,2.1,1.4
01.40 T !"ENTER EQUATION OF R IN TERMS OF THE ANGLE T"!!;M 10.1

02.10 A !"INITIAL ANGLE?",A1,!"FINAL ANGLE?",A2,!"ANGLE INCREMENT?",A3
02.20 A !"RADIUS OF AXES?",R1;S C=3.1415926/180;S S=380/R1
02.30 S A1=A1*C;S A2=A2*C;S A3=A3*C;D 12

03.10 S Q=FDIS(0,132,380)+FDIS(1,892,380)+FDIS(0,512,10)+FDIS(1,512,750)
03.20 S Q7=FOUT(1)

04.10 F T=A1,A3,A2;D 10;D 5
04.20 S Q=FOUT(1);A !"AGAIN? ",AG;I (AG-0YES) 20.1,1.2,20.1

05.10 S X=512+R*S*FCOS(T);S Y=380+R*S*FSIN(T);I (FABS(R*S)-380)5.2;S I=0
05.20 S Q=FDIS(I,X,Y);I (FABS(R*S)-380)5.3;R
05.30 S I=1;R

10.10 S R=T

12.10 F Q7=1,.2,FOUT(24);
12.20 S Q7=FOUT(1);R

20.10 Q