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

C-PS/8 FOCAL, 1971

01.01 C     HARMON 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 PRODUCES A SIMILIAR GRAPH AS A HARMONOGRAPH OR
01.07 C SPIROGRAPH WOULD.  THE GRAPH REPRESENTS THE RELATIVE MOTION OF 
01.08 C TWO PENDULUMS MOVING WITH RESPECT TO EACH OTHER, OR IN EFFECT, THE
01.09 C PATH OF A AS SEEN BY THE REFERENCE FRAME OF B.  YOU CAN SET THE
01.10 C DIFFERENT VARIABLES WHILE UNDER PROGRAM CONTROL.
01.11 C ** PHASE DIFFERENCE IS THE ANGLE OF RELEASE. (0 TO 90)
01.12 C ** SWING COEFFICIENT IS THE MAGNITUDE OF SWING ON A 0 TO 1 SCALE.
01.13 C ** TIME DIFFERENCE IS THE % OF CYCLE A COMPLETED AS B IS RELEASED.
01.14 C ** THE ANGLE BETWEEN IS BETWEEN THE INITIAL PATHS OF A & B.
01.15 C ** PERIOD RATIO IS (ONE CYCLE OF A)/(ONE CYCLE OF B).
01.16 C ** DRAG COEFFICIENT IS AIR RESISTANCE ON 0 TO 1 SCALE.
01.17 E
01.18 I (FITR(#/2)-(#/2)) 1.19,1.28,1.19
01.19 T "YOU DO NOT HAVE ENOUGH FEATURES.  RESTART FOCAL WITH FEATURE 1.",!;Q
01.20 
01.28 S N=200;A !"PHASE DIFFERENCE OF A? ",PA,"PHASE DIFFERENCE OF B? ",PB
01.29 A !"SWING COEFFICIENT OF A? ",S1,"SWING COEFFICIENT OF B? ",S2
01.30 A !"TIME DIFFERENCE? ",T1,"ANGLE BETWEEN A AND B? ",AD;S T1=T1/100
01.40 A !"PERIOD RATIO? ",R,"DRAG COEFFICIENT? ",D1;S D3=1-D1
01.42 S C=3.1415926/180;S P1=PA*C;S P2=PB*C;S A1=AD*C
01.44 S A=190*S1;S B=190*S2;S D1=FCOS(A1);S D2=FSIN(A1)
01.50 F Q3=0,.2,FOUT(24);
01.60 F T=0,.15,N*3.1415926;D 2
01.70 S B3=FOUT(1);G 1.1

02.10 S X1=A*FCOS(R*T+P1);S Y1=A*FSIN(R*T)
02.20 S X2=B*FCOS(A1+T+P2);S Y2=B*FSIN(T+A1)
02.30 S XP=X2*D1+Y2*D2;S YP=Y2*D1+X2*D2
02.40 S B6=FDIS(1,500+X1-XP,380+Y1-YP)
02.50 S A=A*D3;S B=B*D3