5 REM **** PROGRAM RBOWBEAM **** 10 DIM X(10), Y(10), TH(10) 20 PI = 3.141593: DRC = PI / 180 30 N = 1.33 40 SCRFAC = 3 / 4: X(1) = -4.5 50 INPUT "FOR PRIMARY BOW TYPE 1, FOR SECONDARY, TYPE 2 ", NBOW 60 IF NBOW = 1 THEN SN = 1 ELSE SN = -1 70 CLS : SCREEN 12 80 WINDOW (-5, -5 * SCRFAC)-(1.5, 1.5 * SCRFAC) 90 CIRCLE (0, 0), 1: REM RAINDROP 100 FOR I = 3 TO 90 STEP 3 110 TH(1) = I * DRC * SN: REM ANGLE OF INCIDENCE 120 Y(1) = SIN(TH(1)) 130 QQ = SIN(TH(1)) / N 140 R = SN * ATN(SQR(1 / (1 - QQ ^ 2) - 1)) 200 FOR J = 2 TO 3 + NBOW 210 TH(J) = TH(J - 1) + (PI - 2 * R) 230 Y(J) = SIN(TH(J - 1)) 240 X(J) = -COS(TH(J - 1)) 250 NEXT J 300 DEV = (PI - 2 * (TH(1) - R) - NBOW * (PI - 2 * R)) 310 X(4 + NBOW) = X(3 + NBOW) + DX - COS(2 * PI + DEV) * 3 320 Y(4 + NBOW) = Y(3 + NBOW) + DY - SIN(2 * PI + DEV) * 3 400 FOR J = 1 TO 3 + NBOW FOR KK = 1 TO 3000 XX = KK * (X(J + 1) - X(J)) / 3000 + X(J) YY = KK * (Y(J + 1) - Y(J)) / 3000 + Y(J) PSET (XX, YY), J NEXT KK 410 REM LINE (X(J), Y(J))-(X(J + 1), Y(J + 1)), J 420 NEXT J LOCATE 1, 26: PRINT " " LOCATE 2, 26: PRINT " " LOCATE 2, 36: PRINT " " LOCATE 1, 1: PRINT "ANGLE OF INCIDENCE ="; I LOCATE 2, 1: PRINT "ANGLE OF REFRACTION ="; R / DRC LOCATE 3, 1: PRINT "DEVIATION ANGLE OF RAY ="; (180 + 2 * I - 4 * R / DRC) WHILE INKEY$ = "": WEND 490 NEXT I WHILE INKEY$ = "": WEND