start tok64 d64-5IW7hG 100 REM ******************** 110 REM ** ** 120 REM ** 3-d designer ** 130 REM ** ** 140 REM ******************** 150 REM 200 REM 210 REM ***************** 220 REM **** graphics routines **** 230 REM ***************** 240 REM 250 in=51200:of=51203:gc=51206:sc=51209:pc=51212:pl=51215:up=51218:sl=51221 290 cl=51224:gl=51227:gs=51230:hc=51233 400 REM 410 REM ********** 420 REM **** parameters **** 430 REM ********** 440 REM 450 f1=5:f2=5:f3=3:REM scales 460 ar=15:br=.:cr=10:REM offsets of space coords. 470 w={pi}/4:REM viewing avgle (in radians) 480 si=SIN(w):co=COS(w):REM constants (not changed) 490 v1=100:v2=180:REM offsetsof plane coords. 500 REM 510 REM ************ 520 REM **** calculations **** 530 REM ************ 540 REM 550 SYSin:SYSgc:SYSsc,16*7+8:REM initialize graphics 560 fg=.:IFv1<.ORv1>319THENfg=1:GOTO580:REM flag 570 SYSsl,v1,.,v1,199:REM space z-axis 580 IF v2<.ORv2>200THENfg=1:GOTO600 590 SYSsl,.,v2,319,v2:REM space x-axis 600 z2=v1-(199-v2)/si*co:z1=v1+v2/si*co 610 IFfg=.ANDz1=>.ANDz1<320THENSYSsl,v1,v2,z1,.:REM space y-axis up 620 IFfg=.ANDz2=>.ANDz2<320THENSYSsl,v1,v2,z2,199:REM space y-axis down 630 READ np:DIMx%(np),y%(np):REM number of points 640 FORpn=1TOnp:REM point number 650 READxr,zr,yr 660 x%(pn)= f1*(xr+ar)+f3*(yr+cr)*co+v1 670 y%(pn)=-f2*(zr+br)-f3*(yr+cr)*si+v2 675 SYSpl,x%(pn),y%(pn) 680 NEXT:REM next point 700 REM 710 REM ***** 720 REM *** lines *** 730 REM ***** 740 REM 750 READnl:REM number of lines 760 FORpn=1TOnl 770 READp1,p2:REM read point numbers 775 IFx%(p1)<.ORy%(p1)<.ORx%(p2)<.ORx%(p2)<.THEN790:REM outside 777 IFx%(p1)>319ORy%(p1)>199ORx%(p2)>319ORy%(p2)>199THEN790:REM outside 780 SYSsl,x%(p1),y%(p1),x%(p2),y%(p2):REM connections 790 NEXT:REM next line 900 POKE198,0:WAIT198,255:GETa$ 910 SYSof:END 1000 REM 1010 REM *********** 1020 REM **** coordinates **** 1030 REM *********** 1100 DATA10:REM number of points 1110 DATA 0, 0, 0, 6, 0, 0, 6,10, 0 1120 DATA 0,10, 0, 3,15, 0, 3,15,15 1130 DATA 6,10,15, 6, 0,15, 0, 0,15 1140 DATA 0,10,15 2000 REM 2010 REM *********** 2020 REM **** connections **** 2030 REM *********** 2100 DATA17:REM number of lines 2110 DATA1,2 ,2,3 ,3,4 ,4,1 2120 DATA4,5 ,5,3 ,5,6 ,6,7 2130 DATA7,3 ,7,8 ,8,2 ,8,9 2140 DATA9,1 ,9,10 ,10,4 ,10,6 2150 DATA10,7 stop tok64 (bastext 1.0)