home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 45
/
64er_Magazin_Sonderheft_45_19xx_Markt__Technik_de_Side_B.d64
/
3d.edit
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
11KB
|
521 lines
0 rem"-[167][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][165]
1 [143]"-then 3d - master fn
2 rem"-[167] von j.schwarzer [165]
5 [143]"- tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(tab(
10 :
100 sys2^14+9:sys2^14:poke3,0:poke4,0
110 poke650,128:poke53281,0
120 poke56,64:clr:lo=1:dw=45
130 v=53248:p=(NULL)/180
140 s=5:m=40:xm=160:ym=100:w=30
150 ba=2^14:l=ba+3:in=ba+6:se=ba+12:vp=ba+15:pl=ba+18:nr=ba+21
160 sq=ba+24:lq=ba+27:ip=ba+30:dp=ba+33
170 il=ba+36:dl=ba+39:dr=ba+42
180 gosub10850
190 p1=20736:p2=20992
200 xs=19456:ys=19712:zs=19968
210 poke191,dw/4
220 dimx(128),y(128)
230 d=256:r=127:ri$=chr$(13):w$=" ":h$="":c$="[147]
240 cu$[178]"
250 ss$="---------------------------------------
260 sp$[178]" ":d$[178]"":u$[178]"on":l$[178]"cmd":r$[178]"
270 printc$:rem -----
280 poke24568,111:pokev+39,2
1000 rem menue
1010 gosub1240:z=1:qs=81:qr=87:poke53280,0:pokev+21,0
1020 print "eingabe-menue:
1030 [153]" 1 ........ eingeben als 3d-zeichnung
1040 printw$"2 [129]... eingeben als koordinatentripel
1050 [153]w$"3 sys... eingeben von rotationskoerpern
1060 printw$"4 ................ koordinaten laden
1070 [153]w$"5 poke............ koordinaten speichern
1080 printw$"6 ........................ directory
1085 [153]w$"7 cont........................... drehen
1090 print" [164][164][164][164]
1100 [153]" 8 ............................. exit
1110 sysba+1646
1230 poke198,0:onpeek(2)goto10000,20000,30000,50010,40010,50100,60020,60000
1240 pokev+24,21:pokev+17,27:poke56576,3:return
1250 pokev+24,120:pokev+17,59:poke56576,2:return
1260 poke1146+z*80,q
1270 qc=peek(55420+z*80)
1280 ifq=qrthenqc=1
1290 poke55418+z*80,qc:return
1300 -----
10000 pokev+21,0:sysba:poke56576,2:x=0:y=0:z=0
10010 gosub10820
10020 iflothenlo=0:ap=0:al=0:poke3,0:poke4,0:goto10140
10030 if(aporal)=0goto10140
10040 sysnr:fori=0toal-1
10050 x=peek(xs+peek(p1+i)):x=x+d*(x>r)
10060 y=peek(ys+peek(p1+i)):y=y+d*(y>r)
10070 z=peek(zs+peek(p1+i)):z=z+d*(z>r)
10080 gosub10350:xa=xx:ya=yy
10090 x=peek(xs+peek(p2+i)):x=x+d*(x>r)
10100 y=peek(ys+peek(p2+i)):y=y+d*(y>r)
10110 z=peek(zs+peek(p2+i)):z=z+d*(z>r)
10120 gosub10350:sysl,xa,ya,xx,yy:next
10130 sysin
10140 xa=160:ya=100:xb=xa:yb=ya:x=0:y=0:z=0
10150 gosub10850:pokev+21,1
10160 gosub60050
10170 ifa$<>""goto10220
10180 gosub10320
10190 gosub60050
10200 gosub10320
10210 ifa$=""goto10160
10220 gosub10490
10230 xr=xa:yr=ya:xp=xb:yp=yb
10240 gosub10320:gosub10250:sysl,xr,yr,xp,yp:onmm+1goto10160,10000
10250 ifq=1thenx1=x:y1=y:z1=z:gosub10340:xa=xx:ya=yy:gosub10850
10260 ifa$="*"thengosub10410:gosub10340:gosub10850
10270 ifa$=ri$thengosub10320:gosub10680:gosub10410:goto10290
10280 return
10290 xl=x1:yl=y1:zl=z1:x1=x2:y1=y2:z1=z2:x=x1:y=y1:z=z1:xa=xb:ya=yb:return
10300 -----
10310 rem linie ziehen
10320 sysl,xa,ya,xb,yb:return
10330 -----
10340 rem 3d nach 2d koordinaten
10350 yt=y/1.6
10360 yy=ym-z-yt*si
10370 xx=xm+x+yt*co
10380 return
10390 -----
10400 rem 2.punkt suchen
10410 xx=x1:yy=y1:zz=z1
10420 x1=x2:y1=y2:z1=z2
10430 x2=xx:y2=yy:z2=zz
10440 xx=xa:yy=ya:xa=xb
10450 ya=yb:xb=xx:yb=yy
10460 x=x1:y=y1:z=z1
10470 return
10480 -----
10490 q=0:mm=0
10500 ifa$="x"ora$=r$thenx=x+s:q=1:ifx>mthenx=m
10510 ifa$="[216]"ora$=l$thenx=x-s:q=1:ifx<-mthenx=-m
10520 ifa$="y"theny=y+s:q=1:ify>mtheny=m
10530 ifa$="[217]"theny=y-s:q=1:ify<-mtheny=-m
10540 ifa$="z"ora$=u$thenz=z+s:q=1:ifz>mthenz=m
10550 ifa$="[218]"ora$=d$thenz=z-s:q=1:ifz<-mthenz=-m
10560 ifa$=c$thenlo=1:goto10000
10570 ifa$=h$thenx=0:y=0:z=0:q=1
10580 ifa$="+"thenifdw<90-sthendw=dw+s:poke191,dw/4:mm=1:goto10820
10590 ifa$="-"thenifdw>sthendw=dw-s:poke191,dw/4:mm=1:goto10820
10600 ifa$="k"goto10870
10610 ifa$="p"thenx1=x:y1=y:z1=z:xb=xa:yb=ya:x2=x:y2=y:z2=z
10620 ifa$="l"thenx=xl:y=yl:z=zl:q=1
10630 ifa$="a"thengosub10950
10640 ifa$>"/"anda$<":"thens=asc(a$)-48:ifs=0thens=10
10650 ifa$="_"ora$="m"goto60030
10660 return
10670 -----
10680 rem koordinaten speichern
10690 ifap=255oral=255thenreturn
10700 x=x1:y=y1:z=z1:gosub10760
10710 pp=p
10720 x=x2:y=y2:z=z2:gosub10760
10730 sysvp,pp,p
10740 al=peek(4):return
10750 -----
10760 sysse,x-256*(x<0),y-256*(y<0),z-256*(z<0)
10770 ap=peek(3):p=peek(782):return
10780 -----
10790 pokev+21,0
10800 poke191,dw/4:sysba:sysd3:poke56576,2
10810 pokev+21,1
10820 co=cos(p*dw):si=sin(p*dw)
10830 return
10840 -----
10850 pokev,xa+1and255:pokev+1,ya+30:return
10860 -----
10870 xd=x:yd=y:zd=z
10880 x=-m:y=0:z=0:gosub10340:xq=xx:yq=yy
10890 x=m:gosub10340:sysl,xx,yy,xq,yq
10900 x=0:y=-m:gosub10340:xq=xx:yq=yy
10910 y=m:gosub10340:sysl,xx,yy,xq,yq
10920 y=0:z=-m:gosub10340:xq=xx:yq=yy
10930 z=m:gosub10340:sysl,xx,yy,xq,yq
10940 x=xd:y=yd:z=zd:return
10950 print"[147]koordinaten anzeigen:
10960 [153]"x="x
10970 [153]"y="y
10980 [153]"z="z
10990 [151]v[170]21,0:[141]1240
11000 [151]198,0:[146]198,1:[151]198,0
11010 [151]v[170]21,1:[137]1250
11020 [171][171][171][171][171]
20000 ze[178]0:[141]1240:zz[178]1280
20010 [141]1240:zz[178]1280:[153]c$
20020 zu[178]0:[139]ap[178]0[137]20050
20030 [139]ap[177]ze[170]15[167]zu[178]15:[137]20050
20040 zu[178](ap[171]1)[175]15:[139]ap[178]0[167]zu[178][171]1
20050 y1[178]0
20060 [141]21120
20070 [129]i[178]ze[164]ze[170]zu
20080 [141]21190
20090 [130]:x1[178]0:xa[178]0:y1[178]zu:[139]q[178]5[167]y1[178]t:[139]y1[177]zu[167]y1[178]zu
20100 [153]ss$
20110 :
20120 [141]60050
20130 [139]a$[179][177]""[137]20190
20140 [141]21080
20150 [141]60050
20160 [141]21080
20170 [139]a$[178]""[137]20120
20180 :
20190 [141]21080
20200 q[178]0
20210 [141]20260
20220 [145]q[137]20000,20120,20050,21280,20010
20230 [151]a,c
20240 [137]20120
20250 :
20260 [139]a$[178]d$[137]20870
20270 [139]a$[178]u$[137]20940
20280 [139]a$[178]r$[137]20980
20290 [139]a$[178]l$[137]21030
20300 [139]a$[178]c$[167]ap[178]0:[151]3,0:a$[178]h$:q[178]1
20310 [139]a$[178]h$[167]x1[178]0:y1[178]0
20320 [139]a$[178][199](148)[175]ap[179][177]255[167][158]ip,ze[170]y1:ap[178][194](3):q[178]5:t[178]y1:[142]
20330 [139]a$[178][199](20)[167][139]ap[179][177]0[167][158]dp,ze[170]y1:ap[178][194](3):q[178]5:t[178]y1:[139]ap[175]15[178]15[137]20543
20340 [139]a$[177][178]"0"[175]a$[179]":"[137]20680
20350 [139]a$[178]"+"[176]a$[178]" "[176]a$[178]"-"[137]20790
20360 [139]a$[178]"_"[176]a$[178]"m"[167][151]3,ap:[137]60030
20370 [139]a$[178]"let"[167]q[178]4:[151]3,ap:[142]
20380 [139]a$[179][177]ri$[167][142]
20390 :
20400 [143] return taste
20410 x1[178]0:xa[178]0:[151]a,c
20420 [139]y1[179]zu[167]y1[178]y1[170]1:[142]
20430 [139]zu[179][177]15[137]20500
20440 [139]ze[179]240[167]ze[178]ze[170]16
20450 [153]"load":y1[178]0
20460 [139]ze[178]ap[167]zu[178]0:q[178]3:ap[178]ap[170]1:[151]3,ap:[142]
20470 [139]ap[179]ze[170]17[167]zu[178]ap[171]1[175]15
20480 q[178]3:[142]
20490 ;
20500 zu[178]zu[170]1:ap[178]ap[170]1:[151]3,ap:[139]ap[178]1[167]zu[178]0:q[178]3:[142]
20505 [141]21120
20510 i[178]ap[171]1:[153]d$sp$u$
20520 [141]21190
20530 y1[178]y1[170]1
20540 [153]ss$:q[178]2:[142]
20541 [171][171][171][171][171]
20542 [143] delete point
20543 [139]zu[178]0[167][139]ze[177]15[175]ap[178]ze[167]ze[178]ze[171]16:t[178]15
20544 [142]
20550 [171][171][171][171][171]
20560 [143] zeile uebernehmen
20570 q[178]zz[170]y1[172]40:x$[178]"":y$[178]x$:z$[178]x$
20580 [129]i[178]0[164]2
20590 x$[178]x$[170][199]([194](q[171]1[170]i))
20600 y$[178]y$[170][199]([194](q[170]7[170]i))
20610 z$[178]z$[170][199]([194](q[170]15[170]i)):[130]
20620 q[178]ze[170]y1
20630 x[178][197](x$):[151]xs[170]q,x[171]d[172](x[179]0)
20640 y[178][197](y$):[151]ys[170]q,y[171]d[172](y[179]0)
20650 z[178][197](z$):[151]zs[170]q,z[171]d[172](z[179]0)
20660 q[178]0:[142]
20670 [171][171][171][171][171]
20680 [143] zahl eingeben
20690 x2[178]zz[170]x1[170]y1[172]40
20700 i[178]zz[170](x1[175]24)[170]y1[172]40[171]1
20710 x$[178]"":[129]n[178]i[164]i[170]2
20720 t[178][194](n)[175]127:[139]n[178]x2[167]t[178][198](a$)
20730 x$[178]x$[170][199](t):[130]
20740 t[178][197](x$):[139][182](t)[177]m[167][142]
20750 c[178][198](a$):t[178]t[171]d[172](t[179]0)
20760 [151]xs[170]((x1[175]24)[173]8)[172]d[170]ze[170]y1,t
20770 [137]20990
20780 [171][171][171][171][171]
20790 [139]a$[178]"+"[167]a$[178]" "
20800 x2[178]zz[170](x1[175]24)[171]1[170]y1[172]40
20810 [151]x2,[198](a$)
20820 x2[178]xs[170]((x1[175]24)[173]8)[172]d[170]ze[170]y1
20830 t[178][194](x2):t[178][171]t[171]d[172](t[177]r)
20840 t[178]t[171]d[172](t[179]0):[151]x2,t:[142]
20850 [171][171][171][171][171]
20860 [143] down
20870 [139]y1[179]zu[167]y1[178]y1[170]1:q[178]0:[142]
20880 [139]zu[179][177]15[176]ap[179]ze[170]17[167][142]
20890 [139]ze[179]240[167]ze[178]ze[170]16
20900 zu[178]15:[139]ap[179]ze[170]16[167]zu[178]ap[171]1[175]15
20910 q[178]3:y1[178]0:[153]c$:[142]
20920 [171][171][171][171][171]
20930 [143] up
20940 [139]y1[177]0[167]y1[178]y1[171]1:[142]
20950 [139]ze[177]0[167]ze[178]ze[171]16:q[178]3:zu[178]15:[153]c$
20960 [142]
20970 [171][171][171][171][171]
20980 [143] right
20990 [139]x1[178]1[176]x1[178]9[167]xa[178]xa[170]1:x1[178]xa[172]8:[142]
21000 [139]x1[179]17[167]x1[178]x1[170]1
21010 [142]
21020 [171][171][171][171][171]
21030 [143] left
21040 [139]x1[178]8[176]x1[178]16[167]xa[178]xa[171]1:x1[178]xa[172]8:[142]
21050 [139]x1[177]0[167]x1[178]x1[171]1
21060 [142]
21070 [171][171][171][171][171]
21080 a[178]zz[170]x1[170]y1[172]40:c[178][194](a)
21090 [151]a,(c[176]128)[171](c[175]128)
21100 [142]
21110 [171][171][171][171][171]
21120 [153]"poke
21130 print"[203]oordinatentripel eingeben:
21140 [153]" atnnzahl der (NULL)unkte:"ap
21150 [153]" atnnzahl der (NULL)inien:"al
21160 [153]d$ss$
21170 [153]u$[200](cu$,y1):[142]
21180 [171][171][171][171][171]
21190 [143] inhalt des punktespeichers
21200 [143] anzeigen
21210 [153]"(NULL)r."i[170]1"cmd "[163]8)
21220 x[178][194](xs[170]i):x[178]x[170]d[172](x[177]r)
21230 y[178][194](ys[170]i):y[178]y[170]d[172](y[177]r)
21240 z[178][194](zs[170]i):z[178]z[170]d[172](z[177]r)
21250 [153]"==>wait x="x"cmd "[163]21)"y="y"cmd "[163]29)"z="z"cmd "
21260 [142]
21270 [171][171][171][171][171]
21280 [151]3,ap:ze[178]0
21290 zu[178]15:[139]al[179]ze[170]16[167]zu[178]al[171]1[175]15
21300 [139]al[178]0[167]zu[178]0
21310 zz[178]1285
21320 y1[178]0:x[178]0:[153]"loadsys":[141]21130
21330 [129]i[178]ze[164]ze[170]zu
21340 [141]22140
21350 [130]:y[178]zu:[139]q[178]2[167]y[178]t:[139]y[177]zu[167]y[178]zu
21360 [153]ss$
21370 [141]60050
21380 [141]21520
21390 [139]a$[179][177]""[137]21450
21400 [141]60050
21410 [139]a$[179][177]""[137]21450
21420 [141]21520
21430 [137]21370
21440 :
21450 q[178]0
21460 [141]21570
21470 [145]q[137]21320,21290,20000
21480 [151]k,j
21490 [137]21370
21500 :
21510 [143] invertieren
21520 k[178]zz[170]x[170]y[172]40
21530 j[178][194](k)
21540 [151]k,(j[176]128)[171](j[175]128)
21550 [142]
21560 :
21570 [139]a$[178]d$[137]21800
21580 [139]a$[178]u$[137]21860
21590 [139]a$[178]r$[137]21910
21600 [139]a$[178]l$[137]21960
21610 [139]a$[178]h$[137]21990
21611 [139]a$[178]c$[167]al[178]0:[151]4,0:q[178]2:[142]
21620 [139]a$[178][199](148)[175]al[179][177]255[167][158]il,ze[170]y:al[178][194](4):q[178]2:t[178]y:[142]
21630 [139]a$[178][199](20)[175]al[179][177]0[167][158]dl,ze[170]y:al[178][194](4):q[178]2:t[178]y:[139]al[175]15[178]15[167]21791
21640 [139]a$[178]"let"[167]q[178]3:[151]4,al:[142]
21650 [139]a$[177]"/"[175]a$[179]":"[137]22010
21660 [139]a$[178]"m"[176]a$[178]"_"[167][151]4,al:[137]60030
21670 [139]a$[179][177]ri$[167][142]
21680 :
21690 [151]k,j:x[178]0
21700 [139]y[179]zu[167]y[178]y[170]1:[142]
21710 al[178]al[170]1:[151]4,al
21720 [139]zu[178]15[137]21780
21730 zu[178]zu[170]1:y1[178]zu:[139]al[178]1[167]zu[178]0:y1[178]0:[137]21750
21740 [153]u$sp$
21750 [141]21130
21760 i[178]al[171]1:[141]22140:y[178]zu
21770 [153]ss$:[142]
21780 [139]ze[179]240[167]ze[178]ze[170]16
21790 zu[178]0:q[178]1:[142]
21791 [143] delete line
21792 [139]zu[178]0[167][139]ze[177]15[175]al[178]ze[167]ze[178]ze[171]16:t[178]15
21793 [142]
21800 [143] down
21810 [139]y[179]zu[167]y[178]y[170]1:[142]
21820 [139]zu[179][177]15[176]al[179]ze[170]17[167][142]
21830 [139]ze[179]240[167]ze[178]ze[170]16
21840 zu[178]15:[139]al[179]ze[170]16[167]zu[178]al[171]1[175]15
21850 q[178]1:[142]
21860 [143] up
21870 [139]y[177]0[167]y[178]y[171]1:[142]
21880 [139]ze[178]0[167][142]
21890 zu[178]15:[139]ze[177]0[167]ze[178]ze[171]16
21900 q[178]1:[142]
21910 [143] right
21920 [139]x[179]14[167]x[178]x[170]1:[139]x[178]3[167]x[178]12
21930 [139][194](zz[170]x[170]y[172]40)[179][177]32[167][142]
21940 [139]x[177]12[167]x[178]x[171]1:[142]
21950 [137]21920
21960 [143] left
21970 [139]x[177]0[167]x[178]x[171]1:[139]x[178]11[167]x[178]0
21980 [142]
21990 [143] home
22000 y[178]0:x[178]0:[142]
22010 [143] zahl eingeben
22020 z[178]zz[170]y[172]40:[139]x[177]11[167]z[178]z[170]12
22030 x$[178]"":[129]i[178]z[164]z[170]2
22040 x$[178]x$[170][199]([194](i)[175]127):[130]
22050 z[178]x[170]1:[139]x[177]11[167]z[178]z[171]12
22060 x$[178][200](x$,z[171]1)[170]a$[170][202](x$,z[170]1)
22070 z[178][197](x$):[139]z[177]ap[176]z[178]0[167][142]
22080 qq[178]p1[170]ze[170]y:[139]x[177]11[167]qq[178]qq[170]d
22090 [151]qq,z[171]1
22100 j[178][198](a$):[139]x[178]14[167][142]
22110 [139]x[178]2[167]x[178]12:[142]
22120 x[178]x[170]1:[142]
22130 [171][171][171][171][171]
22140 [153]"(NULL)r.:"i[170]1[163]9)"==>";
22150 pa[178][194](p1[170]i)[170]1:[139]pa[177]ap[167]pa[178]1:[151]p1[170]i,1
22160 pb[178][194](p2[170]i)[170]1:[139]pb[177]ap[167]pb[178]1:[151]p2[170]i,1
22170 [153]" von (NULL)r."pa"cmd "[163]25)"bis (NULL)r."pb"cmd "
22180 [142]
22190 [171][171][171][171][171]
30000 g$[178]"(NULL)otationskoerper:"
30010 [153]"load"g$
30020 a$[178]"n":[133]"atnlte (NULL)oordinaten loeschen ? ncmdcmdcmd";a$:[139]a$[178]"n"[137]30040
30030 [151]3,0:[151]4,0:ap[178]0:al[178]0
30040 [151]v[170]21,0:[158]ba:[151]56576,2:za[178]0:lo[178]0
30050 x[178]0:y[178]0:x1[178]x:y1[178]y
30060 xa[178]xm[171]m[172]2:ya[178]ym[170]m[173]2:yb[178]ya
30070 [129]i[178]0[164]4[172]m[169]4
30080 h[178]6:[139]i[173]5[178][181](i[173]5)[167]h[178]12
30090 [158]l,xa[170]i,ya[170]1,xa[170]i,ya[170]h:[130]
30100 xa[178]xm:xb[178]xa:[141]10850:[151]v[170]21,1
30110 [129]i[178]xm[171]m[172]2[164]xm[170]m[172]2[169]10
30120 [129]j[178]ya[171]m[172]2[164]ya[169]10
30130 [158]pl,i,j:[130]j,i
30140 [141]60050
30150 [139]a$[179][177]""[137]30210
30160 [141]10320
30170 [141]60050
30180 [141]10320
30190 [139]a$[178]""[137]30140
30200 :
30210 xr[178]xa:yr[178]ya:xp[178]xb:yp[178]yb:q[178]4
30220 [141]10320
30230 [141]30280
30240 [158]l,xr,yr,xp,yp
30250 [139]q[178]1[167][141]30470:xa[178]xx:ya[178]yy:[141]10850:q[178]4
30260 [145]q[171]1[137]30040,30490,30140
30270 [151]53280,1:[144]
30280 [139]a$[178]"x"[176]a$[178]r$[167]x[178]x[170]s:q[178]1:[139]x[177]m[167]x[178]m
30290 [139]a$[178]"(NULL)"[176]a$[178]l$[167]x[178]x[171]s:q[178]1:[139]x[179][171]m[167]x[178][171]m
30300 [139]a$[178]"y"[176]a$[178]u$[167]y[178]y[170]s:q[178]1:[139]y[177]m[167]y[178]m
30310 [139]a$[178]"(NULL)"[176]a$[178]d$[167]y[178]y[171]s:q[178]1:[139]y[179]0[167]y[178]0
30320 [139]a$[178]"l"[167]x[178]x2:y[178]y2:q[178]1
30330 [139]a$[178]"p"[167]x1[178]x:y1[178]y:xb[178]xa:yb[178]ya
30340 [139]a$[178]c$[167]q[178]2
30350 [139]a$[178]h$[167]x[178]0:y[178]0:q[178]1
30360 [139]a$[178]"*"[137]30450
30370 [139]a$[178]" "[167]q[178]3:s[178]5:[142]
30380 [139]a$[178]"m"[176]a$[178]"_"[137]60030
30390 [139]a$[177]"/"[175]a$[179]":"[167]s[178][198](a$)[171]48:[139]s[178]0[167]s[178]10
30400 [139]a$[179][177]ri$[167][142]
30410 :
30420 x(za)[178]x1:y(za)[178]y1:za[178]za[170]1:x(za)[178]x:y(za)[178]y:za[178]za[170]1:x2[178]x1:y2[178]y1
30430 x1[178]x:y1[178]y:[141]30470:[141]10320:xb[178]xx:yb[178]yy:[142]
30440 :
30450 q[178]1:xx[178]x:yy[178]y:x[178]x1:y[178]y1:x1[178]xx:y1[178]yy:xb[178]xa:yb[178]ya:[142]
30460 :
30470 xx[178]xm[170]x[172]2:yy[178]ym[170]m[173]2[171]y[172]2:[142]
30480 :
30490 [141]1240
30500 [153]"load":[151]v[170]21,0
30510 [153]g$:[151]19,64
30520 [133]"von 0 chr$rad - 360 chr$rad cmdcmdcmdcmdcmdcmdcmdcmdcmdcmd";gr$:gr[178][181]([182]([197](gr$)))
30530 [153]:[139]gr[177]360[137]30500
30540 [151]19,0
30550 [133]"atnnzahl der ascacetten:";an
30560 [139]an[179]3[167][153]"onon";:[137]30550
30570 [133]"atnlles ok.";a$
30580 [139]a$[179][177]"n"[137]30630
30590 [133]"(NULL)eu zeichnen";a$
30600 [139]a$[178]"j"[137]30000
30610 [137]30500
30620 :
30630 ap[178][194](3):al[178][194](4):n[178]al
30640 a$[178]"atnnzahl der ascacetten zu gross !!"
30650 [153]"1. ascacetten
30660 fori=0to(gr-1)*pstep(gr/an)*p
30670 forj=0toza-1step2:printn-al+1"[145]"
30680 fork=0to1:t=k+j
30690 x=x(t)-d*(x(t)<0)
30700 y=int(y(t)*cos(i)):y=y-d*(y<0)
30710 z=int(y(t)*sin(i)):z=z-d*(z<0)
30720 sysse,x,y,z
30730 pokep1+n+k*d,peek(782)
30740 nextk:n=n+1:nextj:ifi=0thenf=n-al
30750 nexti
30760 :
30770 ifn>255thenprinta$:poke3,ap:poke4,al:goto30510
30780 :
30790 poke4,n:ap=peek(3):print"[145][145]"
30800 :
30810 t=n-f-1-al
30820 print"2. [214]erbindungen 1
30830 [129]i[178]al[164]t[170]al[169]f
30840 [129]j[178]0[164]f[171]1
30850 pa[178][194](p1[170]i[170]j):pb[178][194](p1[170]i[170]j[170]f)
30860 [139]pa[178]pb[137]30880
30870 [158]vp,pa,pb:[139][194](4)[178]255[167]n[178]256:[137]30770
30880 [130]j,i
30890 [139]gr[179][177]360[137]30950
30900 [129]k[178]0[164]f[171]1
30910 pa[178][194](p1[170]i[170]k):pb[178][194](p1[170]k[170]al)
30920 [139]pa[178]pb[137]30940
30930 [158]vp,pa,pb:[139][194](4)[178]255[167]n[178]256:[137]30770
30940 [130]k
30950 [153]"3. (NULL)erbindungen 2
30960 fori=altot+alstepf
30970 forj=0tof-1
30980 pa=peek(p2+i+j):pb=peek(p2+i+j+f)
30990 ifpa=pbgoto31010
31000 sysvp,pa,pb:ifpeek(4)=255thenn=256:goto30770
31010 nextj,i
31020 ifgr<>360goto60030
31030 fork=0tof-1
31040 pa=peek(p2+i+k):pb=peek(p2+k+al)
31050 ifpa=pbgoto31070
31060 sysvp,pa,pb:ifpeek(4)=255thenn=256:goto30770
31070 nextk
31080 :
31090 goto60030
40000 -speichern-
40010 gosub50040
40020 open1,8,1,b$
40030 print#1,chr$(peek(3));
40040 print#1,chr$(peek(4));
40050 fori=0topeek(3)-1
40060 print#1,chr$(peek(xs+i));
40070 print#1,chr$(peek(ys+i));
40080 print#1,chr$(peek(zs+i));
40090 next
40100 fori=0topeek(4)-1
40110 print#1,chr$(peek(p1+i));
40120 print#1,chr$(peek(p2+i));
40130 next
40140 close1:goto60030
50000 -laden-
50010 ifpeek(1023)=0thensysba:gosub1240
50015 gosub50040:lo=0
50020 syslq,1,8,0,b$:close1:goto60030
50030 -filename-
50040 b$="":input"filename";b$:ifb$="_"orb$="m"orb$=""goto60030
50050 b$=left$(b$,13)+".3d,s":return
50060 -directory-
50100 print:sysba+1649
50110 wait198,1:poke198,0:goto60030
59999 -exit-
60000 end
60010 -----
60020 if(aporal)<>0thenprintc$:sysba:sysdr
60030 pokev+21,0:poke198,0:clr:ap=peek(3):al=peek(4):dw=peek(191)*4:goto130
60040 -----
60050 fori=0tow:geta$:ifa$=""thennext
60060 return