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 >
Commodore BASIC  |  2022-10-26  |  11KB  |  521 lines

  1. 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]
  2. 1 [143]"-then       3d - master         fn
  3. 2 rem"-[167]     von j.schwarzer       [165]
  4. 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(
  5. 10 :
  6. 100 sys2^14+9:sys2^14:poke3,0:poke4,0
  7. 110 poke650,128:poke53281,0
  8. 120 poke56,64:clr:lo=1:dw=45
  9. 130 v=53248:p=(NULL)/180
  10. 140 s=5:m=40:xm=160:ym=100:w=30
  11. 150 ba=2^14:l=ba+3:in=ba+6:se=ba+12:vp=ba+15:pl=ba+18:nr=ba+21
  12. 160 sq=ba+24:lq=ba+27:ip=ba+30:dp=ba+33
  13. 170 il=ba+36:dl=ba+39:dr=ba+42
  14. 180 gosub10850
  15. 190 p1=20736:p2=20992
  16. 200 xs=19456:ys=19712:zs=19968
  17. 210 poke191,dw/4
  18. 220 dimx(128),y(128)
  19. 230 d=256:r=127:ri$=chr$(13):w$=" ":h$="":c$="[147]
  20. 240 cu$[178]"
  21. 250 ss$="---------------------------------------
  22. 260 sp$[178]"                                       ":d$[178]"":u$[178]"on":l$[178]"cmd":r$[178]"
  23. 270 printc$:rem -----
  24. 280 poke24568,111:pokev+39,2
  25. 1000 rem menue
  26. 1010 gosub1240:z=1:qs=81:qr=87:poke53280,0:pokev+21,0
  27. 1020 print "eingabe-menue:
  28. 1030 [153]" 1 ........ eingeben als 3d-zeichnung
  29. 1040 printw$"2 [129]... eingeben als koordinatentripel
  30. 1050 [153]w$"3 sys... eingeben von rotationskoerpern
  31. 1060 printw$"4 ................ koordinaten laden
  32. 1070 [153]w$"5 poke............ koordinaten speichern
  33. 1080 printw$"6 ........................ directory
  34. 1085 [153]w$"7 cont........................... drehen
  35. 1090 print"                                [164][164][164][164]
  36. 1100 [153]" 8 ............................. exit
  37. 1110 sysba+1646
  38. 1230 poke198,0:onpeek(2)goto10000,20000,30000,50010,40010,50100,60020,60000
  39. 1240 pokev+24,21:pokev+17,27:poke56576,3:return
  40. 1250 pokev+24,120:pokev+17,59:poke56576,2:return
  41. 1260 poke1146+z*80,q
  42. 1270 qc=peek(55420+z*80)
  43. 1280 ifq=qrthenqc=1
  44. 1290 poke55418+z*80,qc:return
  45. 1300 -----    
  46. 10000 pokev+21,0:sysba:poke56576,2:x=0:y=0:z=0
  47. 10010 gosub10820
  48. 10020 iflothenlo=0:ap=0:al=0:poke3,0:poke4,0:goto10140
  49. 10030 if(aporal)=0goto10140
  50. 10040 sysnr:fori=0toal-1
  51. 10050 x=peek(xs+peek(p1+i)):x=x+d*(x>r)
  52. 10060 y=peek(ys+peek(p1+i)):y=y+d*(y>r)
  53. 10070 z=peek(zs+peek(p1+i)):z=z+d*(z>r)
  54. 10080 gosub10350:xa=xx:ya=yy
  55. 10090 x=peek(xs+peek(p2+i)):x=x+d*(x>r)
  56. 10100 y=peek(ys+peek(p2+i)):y=y+d*(y>r)
  57. 10110 z=peek(zs+peek(p2+i)):z=z+d*(z>r)
  58. 10120 gosub10350:sysl,xa,ya,xx,yy:next
  59. 10130 sysin
  60. 10140 xa=160:ya=100:xb=xa:yb=ya:x=0:y=0:z=0
  61. 10150 gosub10850:pokev+21,1
  62. 10160 gosub60050
  63. 10170 ifa$<>""goto10220
  64. 10180 gosub10320
  65. 10190 gosub60050
  66. 10200 gosub10320
  67. 10210 ifa$=""goto10160
  68. 10220 gosub10490
  69. 10230 xr=xa:yr=ya:xp=xb:yp=yb
  70. 10240 gosub10320:gosub10250:sysl,xr,yr,xp,yp:onmm+1goto10160,10000
  71. 10250 ifq=1thenx1=x:y1=y:z1=z:gosub10340:xa=xx:ya=yy:gosub10850
  72. 10260 ifa$="*"thengosub10410:gosub10340:gosub10850
  73. 10270 ifa$=ri$thengosub10320:gosub10680:gosub10410:goto10290
  74. 10280 return
  75. 10290 xl=x1:yl=y1:zl=z1:x1=x2:y1=y2:z1=z2:x=x1:y=y1:z=z1:xa=xb:ya=yb:return
  76. 10300 -----
  77. 10310 rem linie ziehen
  78. 10320 sysl,xa,ya,xb,yb:return
  79. 10330 -----
  80. 10340 rem 3d nach 2d koordinaten
  81. 10350 yt=y/1.6
  82. 10360 yy=ym-z-yt*si
  83. 10370 xx=xm+x+yt*co
  84. 10380 return
  85. 10390 -----
  86. 10400 rem 2.punkt suchen
  87. 10410 xx=x1:yy=y1:zz=z1
  88. 10420 x1=x2:y1=y2:z1=z2
  89. 10430 x2=xx:y2=yy:z2=zz
  90. 10440 xx=xa:yy=ya:xa=xb
  91. 10450 ya=yb:xb=xx:yb=yy
  92. 10460 x=x1:y=y1:z=z1
  93. 10470 return
  94. 10480 -----
  95. 10490 q=0:mm=0
  96. 10500 ifa$="x"ora$=r$thenx=x+s:q=1:ifx>mthenx=m
  97. 10510 ifa$="[216]"ora$=l$thenx=x-s:q=1:ifx<-mthenx=-m
  98. 10520 ifa$="y"theny=y+s:q=1:ify>mtheny=m
  99. 10530 ifa$="[217]"theny=y-s:q=1:ify<-mtheny=-m
  100. 10540 ifa$="z"ora$=u$thenz=z+s:q=1:ifz>mthenz=m
  101. 10550 ifa$="[218]"ora$=d$thenz=z-s:q=1:ifz<-mthenz=-m
  102. 10560 ifa$=c$thenlo=1:goto10000
  103. 10570 ifa$=h$thenx=0:y=0:z=0:q=1
  104. 10580 ifa$="+"thenifdw<90-sthendw=dw+s:poke191,dw/4:mm=1:goto10820
  105. 10590 ifa$="-"thenifdw>sthendw=dw-s:poke191,dw/4:mm=1:goto10820
  106. 10600 ifa$="k"goto10870
  107. 10610 ifa$="p"thenx1=x:y1=y:z1=z:xb=xa:yb=ya:x2=x:y2=y:z2=z
  108. 10620 ifa$="l"thenx=xl:y=yl:z=zl:q=1
  109. 10630 ifa$="a"thengosub10950
  110. 10640 ifa$>"/"anda$<":"thens=asc(a$)-48:ifs=0thens=10
  111. 10650 ifa$="_"ora$="m"goto60030
  112. 10660 return
  113. 10670 -----
  114. 10680 rem koordinaten speichern
  115. 10690 ifap=255oral=255thenreturn
  116. 10700 x=x1:y=y1:z=z1:gosub10760
  117. 10710 pp=p
  118. 10720 x=x2:y=y2:z=z2:gosub10760
  119. 10730 sysvp,pp,p
  120. 10740 al=peek(4):return
  121. 10750 -----
  122. 10760 sysse,x-256*(x<0),y-256*(y<0),z-256*(z<0)
  123. 10770 ap=peek(3):p=peek(782):return
  124. 10780 -----
  125. 10790 pokev+21,0
  126. 10800 poke191,dw/4:sysba:sysd3:poke56576,2
  127. 10810 pokev+21,1
  128. 10820 co=cos(p*dw):si=sin(p*dw)
  129. 10830 return
  130. 10840 -----
  131. 10850 pokev,xa+1and255:pokev+1,ya+30:return
  132. 10860 -----
  133. 10870 xd=x:yd=y:zd=z
  134. 10880 x=-m:y=0:z=0:gosub10340:xq=xx:yq=yy
  135. 10890 x=m:gosub10340:sysl,xx,yy,xq,yq
  136. 10900 x=0:y=-m:gosub10340:xq=xx:yq=yy
  137. 10910 y=m:gosub10340:sysl,xx,yy,xq,yq
  138. 10920 y=0:z=-m:gosub10340:xq=xx:yq=yy
  139. 10930 z=m:gosub10340:sysl,xx,yy,xq,yq
  140. 10940 x=xd:y=yd:z=zd:return
  141. 10950 print"[147]koordinaten anzeigen:
  142. 10960 [153]"x="x
  143. 10970 [153]"y="y
  144. 10980 [153]"z="z
  145. 10990 [151]v[170]21,0:[141]1240
  146. 11000 [151]198,0:[146]198,1:[151]198,0
  147. 11010 [151]v[170]21,1:[137]1250
  148. 11020 [171][171][171][171][171]
  149. 20000 ze[178]0:[141]1240:zz[178]1280
  150. 20010 [141]1240:zz[178]1280:[153]c$
  151. 20020 zu[178]0:[139]ap[178]0[137]20050
  152. 20030 [139]ap[177]ze[170]15[167]zu[178]15:[137]20050
  153. 20040 zu[178](ap[171]1)[175]15:[139]ap[178]0[167]zu[178][171]1
  154. 20050 y1[178]0
  155. 20060 [141]21120
  156. 20070 [129]i[178]ze[164]ze[170]zu
  157. 20080 [141]21190
  158. 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
  159. 20100 [153]ss$
  160. 20110 :
  161. 20120 [141]60050
  162. 20130 [139]a$[179][177]""[137]20190
  163. 20140 [141]21080
  164. 20150 [141]60050
  165. 20160 [141]21080
  166. 20170 [139]a$[178]""[137]20120
  167. 20180 :
  168. 20190 [141]21080
  169. 20200 q[178]0
  170. 20210 [141]20260
  171. 20220 [145]q[137]20000,20120,20050,21280,20010
  172. 20230 [151]a,c
  173. 20240 [137]20120
  174. 20250 :
  175. 20260 [139]a$[178]d$[137]20870
  176. 20270 [139]a$[178]u$[137]20940
  177. 20280 [139]a$[178]r$[137]20980
  178. 20290 [139]a$[178]l$[137]21030
  179. 20300 [139]a$[178]c$[167]ap[178]0:[151]3,0:a$[178]h$:q[178]1
  180. 20310 [139]a$[178]h$[167]x1[178]0:y1[178]0
  181. 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]
  182. 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
  183. 20340 [139]a$[177][178]"0"[175]a$[179]":"[137]20680
  184. 20350 [139]a$[178]"+"[176]a$[178]" "[176]a$[178]"-"[137]20790
  185. 20360 [139]a$[178]"_"[176]a$[178]"m"[167][151]3,ap:[137]60030
  186. 20370 [139]a$[178]"let"[167]q[178]4:[151]3,ap:[142]
  187. 20380 [139]a$[179][177]ri$[167][142]
  188. 20390 :
  189. 20400 [143] return taste
  190. 20410 x1[178]0:xa[178]0:[151]a,c
  191. 20420 [139]y1[179]zu[167]y1[178]y1[170]1:[142]
  192. 20430 [139]zu[179][177]15[137]20500
  193. 20440 [139]ze[179]240[167]ze[178]ze[170]16
  194. 20450 [153]"load":y1[178]0
  195. 20460 [139]ze[178]ap[167]zu[178]0:q[178]3:ap[178]ap[170]1:[151]3,ap:[142]
  196. 20470 [139]ap[179]ze[170]17[167]zu[178]ap[171]1[175]15
  197. 20480 q[178]3:[142]
  198. 20490 ;
  199. 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]
  200. 20505 [141]21120
  201. 20510 i[178]ap[171]1:[153]d$sp$u$
  202. 20520 [141]21190
  203. 20530 y1[178]y1[170]1
  204. 20540 [153]ss$:q[178]2:[142]
  205. 20541 [171][171][171][171][171]
  206. 20542 [143] delete point
  207. 20543 [139]zu[178]0[167][139]ze[177]15[175]ap[178]ze[167]ze[178]ze[171]16:t[178]15
  208. 20544 [142]
  209. 20550 [171][171][171][171][171]
  210. 20560 [143] zeile uebernehmen
  211. 20570 q[178]zz[170]y1[172]40:x$[178]"":y$[178]x$:z$[178]x$
  212. 20580 [129]i[178]0[164]2
  213. 20590 x$[178]x$[170][199]([194](q[171]1[170]i))
  214. 20600 y$[178]y$[170][199]([194](q[170]7[170]i))
  215. 20610 z$[178]z$[170][199]([194](q[170]15[170]i)):[130]
  216. 20620 q[178]ze[170]y1
  217. 20630 x[178][197](x$):[151]xs[170]q,x[171]d[172](x[179]0)
  218. 20640 y[178][197](y$):[151]ys[170]q,y[171]d[172](y[179]0)
  219. 20650 z[178][197](z$):[151]zs[170]q,z[171]d[172](z[179]0)
  220. 20660 q[178]0:[142]
  221. 20670 [171][171][171][171][171]
  222. 20680 [143] zahl eingeben
  223. 20690 x2[178]zz[170]x1[170]y1[172]40
  224. 20700 i[178]zz[170](x1[175]24)[170]y1[172]40[171]1
  225. 20710 x$[178]"":[129]n[178]i[164]i[170]2
  226. 20720 t[178][194](n)[175]127:[139]n[178]x2[167]t[178][198](a$)
  227. 20730 x$[178]x$[170][199](t):[130]
  228. 20740 t[178][197](x$):[139][182](t)[177]m[167][142]
  229. 20750 c[178][198](a$):t[178]t[171]d[172](t[179]0)
  230. 20760 [151]xs[170]((x1[175]24)[173]8)[172]d[170]ze[170]y1,t
  231. 20770 [137]20990
  232. 20780 [171][171][171][171][171]
  233. 20790 [139]a$[178]"+"[167]a$[178]" "
  234. 20800 x2[178]zz[170](x1[175]24)[171]1[170]y1[172]40
  235. 20810 [151]x2,[198](a$)
  236. 20820 x2[178]xs[170]((x1[175]24)[173]8)[172]d[170]ze[170]y1
  237. 20830 t[178][194](x2):t[178][171]t[171]d[172](t[177]r)
  238. 20840 t[178]t[171]d[172](t[179]0):[151]x2,t:[142]
  239. 20850 [171][171][171][171][171]
  240. 20860 [143] down
  241. 20870 [139]y1[179]zu[167]y1[178]y1[170]1:q[178]0:[142]
  242. 20880 [139]zu[179][177]15[176]ap[179]ze[170]17[167][142]
  243. 20890 [139]ze[179]240[167]ze[178]ze[170]16
  244. 20900 zu[178]15:[139]ap[179]ze[170]16[167]zu[178]ap[171]1[175]15
  245. 20910 q[178]3:y1[178]0:[153]c$:[142]
  246. 20920 [171][171][171][171][171]
  247. 20930 [143] up
  248. 20940 [139]y1[177]0[167]y1[178]y1[171]1:[142]
  249. 20950 [139]ze[177]0[167]ze[178]ze[171]16:q[178]3:zu[178]15:[153]c$
  250. 20960 [142]
  251. 20970 [171][171][171][171][171]
  252. 20980 [143] right
  253. 20990 [139]x1[178]1[176]x1[178]9[167]xa[178]xa[170]1:x1[178]xa[172]8:[142]
  254. 21000 [139]x1[179]17[167]x1[178]x1[170]1
  255. 21010 [142]
  256. 21020 [171][171][171][171][171]
  257. 21030 [143] left
  258. 21040 [139]x1[178]8[176]x1[178]16[167]xa[178]xa[171]1:x1[178]xa[172]8:[142]
  259. 21050 [139]x1[177]0[167]x1[178]x1[171]1
  260. 21060 [142]
  261. 21070 [171][171][171][171][171]
  262. 21080 a[178]zz[170]x1[170]y1[172]40:c[178][194](a)
  263. 21090 [151]a,(c[176]128)[171](c[175]128)
  264. 21100 [142]
  265. 21110 [171][171][171][171][171]
  266. 21120 [153]"poke
  267. 21130 print"[203]oordinatentripel eingeben:
  268. 21140 [153]" atnnzahl der (NULL)unkte:"ap
  269. 21150 [153]" atnnzahl der (NULL)inien:"al
  270. 21160 [153]d$ss$
  271. 21170 [153]u$[200](cu$,y1):[142]
  272. 21180 [171][171][171][171][171]
  273. 21190 [143] inhalt des punktespeichers
  274. 21200 [143] anzeigen
  275. 21210 [153]"(NULL)r."i[170]1"cmd "[163]8)
  276. 21220 x[178][194](xs[170]i):x[178]x[170]d[172](x[177]r)
  277. 21230 y[178][194](ys[170]i):y[178]y[170]d[172](y[177]r)
  278. 21240 z[178][194](zs[170]i):z[178]z[170]d[172](z[177]r)
  279. 21250 [153]"==>wait  x="x"cmd "[163]21)"y="y"cmd "[163]29)"z="z"cmd  "
  280. 21260 [142]
  281. 21270 [171][171][171][171][171]
  282. 21280 [151]3,ap:ze[178]0
  283. 21290 zu[178]15:[139]al[179]ze[170]16[167]zu[178]al[171]1[175]15
  284. 21300 [139]al[178]0[167]zu[178]0
  285. 21310 zz[178]1285
  286. 21320 y1[178]0:x[178]0:[153]"loadsys":[141]21130
  287. 21330 [129]i[178]ze[164]ze[170]zu
  288. 21340 [141]22140
  289. 21350 [130]:y[178]zu:[139]q[178]2[167]y[178]t:[139]y[177]zu[167]y[178]zu
  290. 21360 [153]ss$
  291. 21370 [141]60050
  292. 21380 [141]21520
  293. 21390 [139]a$[179][177]""[137]21450
  294. 21400 [141]60050
  295. 21410 [139]a$[179][177]""[137]21450
  296. 21420 [141]21520
  297. 21430 [137]21370
  298. 21440 :
  299. 21450 q[178]0
  300. 21460 [141]21570
  301. 21470 [145]q[137]21320,21290,20000
  302. 21480 [151]k,j
  303. 21490 [137]21370
  304. 21500 :
  305. 21510 [143] invertieren
  306. 21520 k[178]zz[170]x[170]y[172]40
  307. 21530 j[178][194](k)
  308. 21540 [151]k,(j[176]128)[171](j[175]128)
  309. 21550 [142]
  310. 21560 :
  311. 21570 [139]a$[178]d$[137]21800
  312. 21580 [139]a$[178]u$[137]21860
  313. 21590 [139]a$[178]r$[137]21910
  314. 21600 [139]a$[178]l$[137]21960
  315. 21610 [139]a$[178]h$[137]21990
  316. 21611 [139]a$[178]c$[167]al[178]0:[151]4,0:q[178]2:[142]
  317. 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]
  318. 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
  319. 21640 [139]a$[178]"let"[167]q[178]3:[151]4,al:[142]
  320. 21650 [139]a$[177]"/"[175]a$[179]":"[137]22010
  321. 21660 [139]a$[178]"m"[176]a$[178]"_"[167][151]4,al:[137]60030
  322. 21670 [139]a$[179][177]ri$[167][142]
  323. 21680 :
  324. 21690 [151]k,j:x[178]0
  325. 21700 [139]y[179]zu[167]y[178]y[170]1:[142]
  326. 21710 al[178]al[170]1:[151]4,al
  327. 21720 [139]zu[178]15[137]21780
  328. 21730 zu[178]zu[170]1:y1[178]zu:[139]al[178]1[167]zu[178]0:y1[178]0:[137]21750
  329. 21740 [153]u$sp$
  330. 21750 [141]21130
  331. 21760 i[178]al[171]1:[141]22140:y[178]zu
  332. 21770 [153]ss$:[142]
  333. 21780 [139]ze[179]240[167]ze[178]ze[170]16
  334. 21790 zu[178]0:q[178]1:[142]
  335. 21791 [143] delete line
  336. 21792 [139]zu[178]0[167][139]ze[177]15[175]al[178]ze[167]ze[178]ze[171]16:t[178]15
  337. 21793 [142]
  338. 21800 [143] down
  339. 21810 [139]y[179]zu[167]y[178]y[170]1:[142]
  340. 21820 [139]zu[179][177]15[176]al[179]ze[170]17[167][142]
  341. 21830 [139]ze[179]240[167]ze[178]ze[170]16
  342. 21840 zu[178]15:[139]al[179]ze[170]16[167]zu[178]al[171]1[175]15
  343. 21850 q[178]1:[142]
  344. 21860 [143] up
  345. 21870 [139]y[177]0[167]y[178]y[171]1:[142]
  346. 21880 [139]ze[178]0[167][142]
  347. 21890 zu[178]15:[139]ze[177]0[167]ze[178]ze[171]16
  348. 21900 q[178]1:[142]
  349. 21910 [143] right
  350. 21920 [139]x[179]14[167]x[178]x[170]1:[139]x[178]3[167]x[178]12
  351. 21930 [139][194](zz[170]x[170]y[172]40)[179][177]32[167][142]
  352. 21940 [139]x[177]12[167]x[178]x[171]1:[142]
  353. 21950 [137]21920
  354. 21960 [143] left
  355. 21970 [139]x[177]0[167]x[178]x[171]1:[139]x[178]11[167]x[178]0
  356. 21980 [142]
  357. 21990 [143] home
  358. 22000 y[178]0:x[178]0:[142]
  359. 22010 [143] zahl eingeben
  360. 22020 z[178]zz[170]y[172]40:[139]x[177]11[167]z[178]z[170]12
  361. 22030 x$[178]"":[129]i[178]z[164]z[170]2
  362. 22040 x$[178]x$[170][199]([194](i)[175]127):[130]
  363. 22050 z[178]x[170]1:[139]x[177]11[167]z[178]z[171]12
  364. 22060 x$[178][200](x$,z[171]1)[170]a$[170][202](x$,z[170]1)
  365. 22070 z[178][197](x$):[139]z[177]ap[176]z[178]0[167][142]
  366. 22080 qq[178]p1[170]ze[170]y:[139]x[177]11[167]qq[178]qq[170]d
  367. 22090 [151]qq,z[171]1
  368. 22100 j[178][198](a$):[139]x[178]14[167][142]
  369. 22110 [139]x[178]2[167]x[178]12:[142]
  370. 22120 x[178]x[170]1:[142]
  371. 22130 [171][171][171][171][171]
  372. 22140 [153]"(NULL)r.:"i[170]1[163]9)"==>";
  373. 22150 pa[178][194](p1[170]i)[170]1:[139]pa[177]ap[167]pa[178]1:[151]p1[170]i,1
  374. 22160 pb[178][194](p2[170]i)[170]1:[139]pb[177]ap[167]pb[178]1:[151]p2[170]i,1
  375. 22170 [153]" von (NULL)r."pa"cmd  "[163]25)"bis (NULL)r."pb"cmd   "
  376. 22180 [142]
  377. 22190 [171][171][171][171][171]
  378. 30000 g$[178]"(NULL)otationskoerper:"
  379. 30010 [153]"load"g$
  380. 30020 a$[178]"n":[133]"atnlte (NULL)oordinaten loeschen ? ncmdcmdcmd";a$:[139]a$[178]"n"[137]30040
  381. 30030 [151]3,0:[151]4,0:ap[178]0:al[178]0
  382. 30040 [151]v[170]21,0:[158]ba:[151]56576,2:za[178]0:lo[178]0
  383. 30050 x[178]0:y[178]0:x1[178]x:y1[178]y
  384. 30060 xa[178]xm[171]m[172]2:ya[178]ym[170]m[173]2:yb[178]ya
  385. 30070 [129]i[178]0[164]4[172]m[169]4
  386. 30080 h[178]6:[139]i[173]5[178][181](i[173]5)[167]h[178]12
  387. 30090 [158]l,xa[170]i,ya[170]1,xa[170]i,ya[170]h:[130]
  388. 30100 xa[178]xm:xb[178]xa:[141]10850:[151]v[170]21,1
  389. 30110 [129]i[178]xm[171]m[172]2[164]xm[170]m[172]2[169]10
  390. 30120 [129]j[178]ya[171]m[172]2[164]ya[169]10
  391. 30130 [158]pl,i,j:[130]j,i
  392. 30140 [141]60050
  393. 30150 [139]a$[179][177]""[137]30210
  394. 30160 [141]10320
  395. 30170 [141]60050
  396. 30180 [141]10320
  397. 30190 [139]a$[178]""[137]30140
  398. 30200 :
  399. 30210 xr[178]xa:yr[178]ya:xp[178]xb:yp[178]yb:q[178]4
  400. 30220 [141]10320
  401. 30230 [141]30280
  402. 30240 [158]l,xr,yr,xp,yp
  403. 30250 [139]q[178]1[167][141]30470:xa[178]xx:ya[178]yy:[141]10850:q[178]4
  404. 30260 [145]q[171]1[137]30040,30490,30140
  405. 30270 [151]53280,1:[144]
  406. 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
  407. 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
  408. 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
  409. 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
  410. 30320 [139]a$[178]"l"[167]x[178]x2:y[178]y2:q[178]1
  411. 30330 [139]a$[178]"p"[167]x1[178]x:y1[178]y:xb[178]xa:yb[178]ya
  412. 30340 [139]a$[178]c$[167]q[178]2
  413. 30350 [139]a$[178]h$[167]x[178]0:y[178]0:q[178]1
  414. 30360 [139]a$[178]"*"[137]30450
  415. 30370 [139]a$[178]" "[167]q[178]3:s[178]5:[142]
  416. 30380 [139]a$[178]"m"[176]a$[178]"_"[137]60030
  417. 30390 [139]a$[177]"/"[175]a$[179]":"[167]s[178][198](a$)[171]48:[139]s[178]0[167]s[178]10
  418. 30400 [139]a$[179][177]ri$[167][142]
  419. 30410 :
  420. 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
  421. 30430 x1[178]x:y1[178]y:[141]30470:[141]10320:xb[178]xx:yb[178]yy:[142]
  422. 30440 :
  423. 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]
  424. 30460 :
  425. 30470 xx[178]xm[170]x[172]2:yy[178]ym[170]m[173]2[171]y[172]2:[142]
  426. 30480 :
  427. 30490 [141]1240
  428. 30500 [153]"load":[151]v[170]21,0
  429. 30510 [153]g$:[151]19,64
  430. 30520 [133]"von 0 chr$rad - 360 chr$rad  cmdcmdcmdcmdcmdcmdcmdcmdcmdcmd";gr$:gr[178][181]([182]([197](gr$)))
  431. 30530 [153]:[139]gr[177]360[137]30500
  432. 30540 [151]19,0
  433. 30550 [133]"atnnzahl der ascacetten:";an
  434. 30560 [139]an[179]3[167][153]"onon";:[137]30550
  435. 30570 [133]"atnlles ok.";a$
  436. 30580 [139]a$[179][177]"n"[137]30630
  437. 30590 [133]"(NULL)eu zeichnen";a$
  438. 30600 [139]a$[178]"j"[137]30000
  439. 30610 [137]30500
  440. 30620 :
  441. 30630 ap[178][194](3):al[178][194](4):n[178]al
  442. 30640 a$[178]"atnnzahl der ascacetten zu gross !!"
  443. 30650 [153]"1. ascacetten
  444. 30660 fori=0to(gr-1)*pstep(gr/an)*p
  445. 30670 forj=0toza-1step2:printn-al+1"[145]"
  446. 30680 fork=0to1:t=k+j
  447. 30690 x=x(t)-d*(x(t)<0)
  448. 30700 y=int(y(t)*cos(i)):y=y-d*(y<0)
  449. 30710 z=int(y(t)*sin(i)):z=z-d*(z<0)
  450. 30720 sysse,x,y,z
  451. 30730 pokep1+n+k*d,peek(782)
  452. 30740 nextk:n=n+1:nextj:ifi=0thenf=n-al
  453. 30750 nexti
  454. 30760 :
  455. 30770 ifn>255thenprinta$:poke3,ap:poke4,al:goto30510
  456. 30780 :
  457. 30790 poke4,n:ap=peek(3):print"[145][145]"
  458. 30800 :
  459. 30810 t=n-f-1-al
  460. 30820 print"2. [214]erbindungen 1
  461. 30830 [129]i[178]al[164]t[170]al[169]f
  462. 30840 [129]j[178]0[164]f[171]1
  463. 30850 pa[178][194](p1[170]i[170]j):pb[178][194](p1[170]i[170]j[170]f)
  464. 30860 [139]pa[178]pb[137]30880
  465. 30870 [158]vp,pa,pb:[139][194](4)[178]255[167]n[178]256:[137]30770
  466. 30880 [130]j,i
  467. 30890 [139]gr[179][177]360[137]30950
  468. 30900 [129]k[178]0[164]f[171]1
  469. 30910 pa[178][194](p1[170]i[170]k):pb[178][194](p1[170]k[170]al)
  470. 30920 [139]pa[178]pb[137]30940
  471. 30930 [158]vp,pa,pb:[139][194](4)[178]255[167]n[178]256:[137]30770
  472. 30940 [130]k
  473. 30950 [153]"3. (NULL)erbindungen 2
  474. 30960 fori=altot+alstepf
  475. 30970 forj=0tof-1
  476. 30980 pa=peek(p2+i+j):pb=peek(p2+i+j+f)
  477. 30990 ifpa=pbgoto31010
  478. 31000 sysvp,pa,pb:ifpeek(4)=255thenn=256:goto30770
  479. 31010 nextj,i
  480. 31020 ifgr<>360goto60030
  481. 31030 fork=0tof-1
  482. 31040 pa=peek(p2+i+k):pb=peek(p2+k+al)
  483. 31050 ifpa=pbgoto31070
  484. 31060 sysvp,pa,pb:ifpeek(4)=255thenn=256:goto30770
  485. 31070 nextk
  486. 31080 :
  487. 31090 goto60030
  488. 40000 -speichern-
  489. 40010 gosub50040
  490. 40020 open1,8,1,b$
  491. 40030 print#1,chr$(peek(3));
  492. 40040 print#1,chr$(peek(4));
  493. 40050 fori=0topeek(3)-1
  494. 40060 print#1,chr$(peek(xs+i));
  495. 40070 print#1,chr$(peek(ys+i));
  496. 40080 print#1,chr$(peek(zs+i));
  497. 40090 next
  498. 40100 fori=0topeek(4)-1
  499. 40110 print#1,chr$(peek(p1+i));
  500. 40120 print#1,chr$(peek(p2+i));
  501. 40130 next
  502. 40140 close1:goto60030
  503. 50000 -laden-
  504. 50010 ifpeek(1023)=0thensysba:gosub1240
  505. 50015 gosub50040:lo=0
  506. 50020 syslq,1,8,0,b$:close1:goto60030
  507. 50030 -filename-
  508. 50040 b$="":input"filename";b$:ifb$="_"orb$="m"orb$=""goto60030
  509. 50050 b$=left$(b$,13)+".3d,s":return
  510. 50060 -directory-
  511. 50100 print:sysba+1649
  512. 50110 wait198,1:poke198,0:goto60030
  513. 59999 -exit-
  514. 60000 end
  515. 60010 -----
  516. 60020 if(aporal)<>0thenprintc$:sysba:sysdr
  517. 60030 pokev+21,0:poke198,0:clr:ap=peek(3):al=peek(4):dw=peek(191)*4:goto130
  518. 60040 -----
  519. 60050 fori=0tow:geta$:ifa$=""thennext
  520. 60060 return
  521.