home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / PROGRAM / BASIC / SPIRO / HYPOCYCS.BAS < prev    next >
BASIC Source File  |  1993-12-01  |  796b  |  29 lines

  1. 100 KEY OFF
  2. 110 WD=640: HT=350
  3. 120 X0=WD/2: Y0=HT/2
  4. 130 PI=3.1415926#
  5. 160 SCREEN 2,1: WIDTH 80: CLS
  6. 170 PRINT "Draw a hypocycloid"
  7. 180 INPUT "Ratio of fixed to rolling circle ( >= 1 )"; R
  8. 190 IF R < 1 THEN END
  9. 200 PRINT "Enter the pen position w.r.t. a circle of radius 1."
  10. 210 PRINT "<1 is inside, =1 is on circle, >1 is outside"
  11. 220 INPUT "Pen position (-1 to quit)";H
  12. 230 IF H<0 THEN END
  13. 240 IF H<=1 THEN A=.5*HT: GOTO 260
  14. 250 A=.5*R*HT/(R+H-1)
  15. 260 B=A/R
  16. 270 H=H*B
  17. 300 SCREEN 9,1: CLS
  18. 310 LINE(X0,0)-(X0,HT),2
  19. 320 LINE(0,Y0)-(WD,Y0),2
  20. 330 CIRCLE(X0,Y0),A,3
  21. 340 CIRCLE(X0+A-B,Y0),B,3
  22. 370 ANG=0
  23. 380 ANG=ANG+2*PI/500
  24. 390 X=X0+(A-B)*COS(ANG)+H*COS(ANG*(A-B)/B)
  25. 400 Y=Y0-(A-B)*SIN(ANG)+H*SIN(ANG*(A-B)/B)
  26. 410 PSET (X,Y)
  27. 440 IF INKEY$<>"" THEN 160 ELSE 380
  28. 530 GOTO 170
  29.