home *** CD-ROM | disk | FTP | other *** search
/ RUN Flagazine Extra: Special 3 / run-special-3.zip / CAD.BAS < prev    next >
BASIC Source File  |  1991-11-07  |  2KB  |  47 lines

  1. 100 REM DRAADMODELLEN GWBASIC GRAFISCH (C) RUN FLAGAZINE NR. 4
  2. 110 GOSUB 440:XM=INT(GH%/2):YM=INT(GV%/2):ASP=4*GV%/(3*GH%):DIM FIG$(13)
  3. 120 RESTORE:FOR I=1 TO 6:READ FIG$(I):NEXT I:KEY OFF
  4. 130 FOR I=1 TO 6:LOCATE 2+I,3:PRINT FIG$(I):NEXT I
  5. 140 PRINT:PRINT"Welke figuur (1 t/m 6) : ";
  6. 150 INPUT AA$:IF VAL(AA$)<1 OR VAL(AA$)>6 THEN BEEP:GOTO 140
  7. 160 CLS:D=1:H=.4:V=500:A=XM:B=YM:X1=1:Y1=5
  8. 170 SCREEN MD:FIGNR=VAL(AA$):WL=LEN(FIG$(FIGNR)):PL=INT(80-WL)/2
  9. 180 N1=INV1:IF INV1=0 THEN N1=11
  10. 190 N=10*INV2:IF IN2=0 THEN N=10*3
  11. 200 Z1=INV3:IF INV3=0 THEN Z1=-3
  12. 210 S=INV4:IF INV4=0 THEN S=20
  13. 220 E=8*ATN(1)/N:DIM C(N):DIM D(N):F=-ATN(X1/Y1):I=0:J=0
  14. 230 R8=SQR(X1*X1+Y1*Y1):FZ=-ATN(Z1/R8):T=INT(N1/2)*D:GOSUB 360:GOSUB 300
  15. 240 GOSUB 330:FOR I=1 TO N:GOSUB 360:GOSUB 300:GOSUB 340:GOSUB 330:NEXT I
  16. 250 FOR J=1 TO N1:I=0:GOSUB 360:GOSUB 300:GOSUB 350:GOSUB 330
  17. 260 FOR I=1 TO N:GOSUB 360:GOSUB 300:GOSUB 350:GOSUB 340:GOSUB 330:NEXT I,J
  18. 270 LOCATE 25,32:PRINT"Nog een figuur (j/n)?";
  19. 280 INV$=INPUT$(1):INV=INSTR("jn JN",INV$) MOD 3:IF INV=0 THEN 280
  20. 290 CLS:ERASE C,D:IF INV=1 THEN 120 ELSE CLS:END
  21. 300 X3=X2*COS(F)+Y2*SIN(F):Y3=-X2*SIN(F)+Y2*COS(F):Z3=Z2:X4=X3
  22. 310 Y4=Y3*COS(FZ)+Z3*SIN(FZ)+S:Z4=-Y3*SIN(FZ)+Z3*COS(FZ):R9=SQR(Y4*Y4+Z4*Z4)
  23. 320 X=A+V*ATN(X4/R9):R9=SQR(X4*X4+Y4*Y4):Y=B+ASP*V*ATN(Z4/R9):RETURN
  24. 330 C(I)=X:D(I)=Y:RETURN
  25. 340 LINE (X,Y)-(C(I-1),D(I-1)):RETURN
  26. 350 LINE (X,Y)-(C(I),D(I)):RETURN
  27. 360 Z2=J*D-T:ON VAL(AA$) GOSUB 380,390,400,410,420,430
  28. 370 G=I*E:X2=R*COS(G):Y2=R*SIN(G):Z2=-Z2:RETURN
  29. 380 R=SQR(10*ABS(Z2+T)):RETURN
  30. 390 R=SQR(45-Z2*Z2):RETURN
  31. 400 R=9*SIN(Z2/T+.3):RETURN
  32. 410 R=7.4+SIN(Z2+1.5):RETURN
  33. 420 R=Z2^3/35:RETURN
  34. 430 R=Z2+COS(Z2)*COS(Z2*1.5):RETURN
  35. 440 CLS:MD=12:ON ERROR GOTO 460
  36. 450 SCREEN MD:IF MD=0 THEN 490 ELSE 470
  37. 460 MD=MD-1:RESUME 450
  38. 470 WINDOW SCREEN(0,0)-(1,1):GH%=PMAP(1,0)+1:GV%=PMAP(1,1)+1:WINDOW
  39. 480 ON ERROR GOTO 0:RETURN
  40. 490 PRINT "Geen grafische mogelijkheden":END
  41. 500 DATA"1-Schotel","2-Bol","3-Bokaal","4-Vissenkom","5-Kelk","6-Kandelaar"
  42. 510 REM /* 40/.4048,2943,2699,2655,3208,2420,3851,1659,1708,1685
  43. 520 REM /*/....1577,3060,4196,4066,3315,4186,2939,3769,2625,3640
  44. 530 REM /*/....4618,4182,1338,1937,1749,2716,2828,1709,1480,1506
  45. 540 REM /*/....1523,1117,1996,1665,1960,1121,3784,1450,3427,5331
  46. 550 REM Checksum...............:  107686
  47.