home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boston 2
/
boston-2.iso
/
DOS
/
PROGRAM
/
BASIC
/
SPIRO
/
HYPOCYCS.BAS
< prev
next >
Wrap
BASIC Source File
|
1993-12-01
|
796b
|
29 lines
100 KEY OFF
110 WD=640: HT=350
120 X0=WD/2: Y0=HT/2
130 PI=3.1415926#
160 SCREEN 2,1: WIDTH 80: CLS
170 PRINT "Draw a hypocycloid"
180 INPUT "Ratio of fixed to rolling circle ( >= 1 )"; R
190 IF R < 1 THEN END
200 PRINT "Enter the pen position w.r.t. a circle of radius 1."
210 PRINT "<1 is inside, =1 is on circle, >1 is outside"
220 INPUT "Pen position (-1 to quit)";H
230 IF H<0 THEN END
240 IF H<=1 THEN A=.5*HT: GOTO 260
250 A=.5*R*HT/(R+H-1)
260 B=A/R
270 H=H*B
300 SCREEN 9,1: CLS
310 LINE(X0,0)-(X0,HT),2
320 LINE(0,Y0)-(WD,Y0),2
330 CIRCLE(X0,Y0),A,3
340 CIRCLE(X0+A-B,Y0),B,3
370 ANG=0
380 ANG=ANG+2*PI/500
390 X=X0+(A-B)*COS(ANG)+H*COS(ANG*(A-B)/B)
400 Y=Y0-(A-B)*SIN(ANG)+H*SIN(ANG*(A-B)/B)
410 PSET (X,Y)
440 IF INKEY$<>"" THEN 160 ELSE 380
530 GOTO 170