|
- 10 REM RONCHI.BAS
- 20 REM
- 30 INPUT "Mirror diameter ";D
- 40 INPUT "Radius of curvature";R
- 50 INPUT "Grating frequency ";F
- 60 PRINT "Grating distance Delta"
- 70 PRINT " from the mirror's
- 80 PRINT " center of curvature"
- 90 INPUT " (+ is outside) ";DL
- 100 W=1/(2*F): REM Line width
- 120 CLS
- 130 SCREEN 2
- 140 X0=300: Y0=100: C=300
- 150 K=.42
- 160 CIRCLE (X0,Y0),C/2
- 170 FOR I=1 TO 10000
- 180 X=D*(RND(1)-.5)
- 190 Y=D*(RND(1)-.5)
- 200 REM X and Y are the ray's
- 210 REM coordinates on the face
- 220 REM of the mirror
- 230 S2=X*X+Y*Y
- 240 IF SQR(S2)>D/2 THEN 390
- 250 Z=R+S2/R
- 260 L=R+DL-Z
- 270 U=L*X/Z
- 280 REM Now, test to see if the
- 290 REM ray is blocked (FL=0)
- 300 REM or transmitted (FL=1)
- 310 REM by the grating
- 320 FL=0: REM Reset flag
- 330 T=INT(ABS(U/W)+.5)
- 340 IF T/2=INT(T/2) THEN FL=1
- 350 IF FL=0 THEN 390
- 360 XP=X0+X*C/D
- 370 YP=Y0+Y*K*C/D
- 380 PSET(XP,YP): REM Plot point
- 390 NEXT I
- 400 LOCATE 1,1
- 410 PRINT "Diameter = ";D
- 420 LOCATE 2,1
- 430 PRINT "R of C = ";R
- 440 LOCATE 3,1
- 450 PRINT "Ronchi freq =";F
- 460 LOCATE 4,1
- 470 PRINT "Delta = ";DL
- 480 END
- 490 REM ************************************
- 500 REM APPEARED IN ASTRONOMICAL COMPUTING
- 510 REM SKY & TELESCOPE - APRIL 1991 ISSUE
- 520 REM ************************************
|