home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Party 1994: Try This At Home
/
disk_image.bin
/
source
/
lenssrc
/
lens.bas
< prev
next >
Wrap
BASIC Source File
|
1993-12-01
|
1KB
|
39 lines
DEFINT A-Z
PRINT "Diameter of lens (D>0)"; : INPUT D
R = INT(D / 2)
PRINT "Magnification factor (0>M≤"; LTRIM$(STR$(R)); ")"; : INPUT M
S = SQR(R ^ 2 - M ^ 2)
DIM TFM(D * D)
FOR Y = -R TO -R + D - 1
FOR X = -R TO -R + D - 1
IF X ^ 2 + Y ^ 2 >= S ^ 2 THEN
A = X
B = Y
ELSE
Z = SQR(R ^ 2 - X ^ 2 - Y ^ 2)
A = INT(X * M / Z + .5)
B = INT(Y * M / Z + .5)
END IF
TFM(1 + (Y + R) * D + (X + R)) = (B + R) * D + (A + R)
NEXT X
NEXT Y
PRINT "Filename to output computations"; : INPUT Filename$
OPEN Filename$ FOR OUTPUT AS #1
PRINT #1, ";Generated with a magnification factor of"; M
PRINT #1, "LensDiameter = "; LTRIM$(RTRIM$(STR$(D)))
PRINT #1, "Lens";
FOR Y = 1 TO D
PRINT #1, CHR$(9); "DW"; CHR$(9);
FOR X = 1 TO D
IF X > 1 THEN PRINT #1, ", ";
PRINT #1, LTRIM$(RTRIM$(STR$(TFM((Y - 1) * D + X))));
NEXT X
PRINT #1,
NEXT Y
CLOSE #1