home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1987 December / 64er_Magazin_87-12_1987_Markt__Technik_de_Side_A.d64 / demo6.fraktale (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  1KB  |  70 lines

  1. 5 print"[147]":init:obj 260,800
  2. 10 input"[147]wie oft teilen (1-4)";te: k=270:ifte<1orte>4then10
  3. 15 def fnr(x)=(rnd(1)-.5)*k/(t+1)/4
  4. 20 dim m(2^te,2^te),q(te)
  5. 30 sp=0
  6. 40 fori=0tote
  7. 50 :q(i)=2^i
  8. 60 next
  9. 65 print" ich erzeuge den berg."
  10. 80 gosub2000
  11. 95 print" ich setze die punkte."
  12. 99 p=0
  13. 100 s=sin(60*(NULL)/180)
  14. 110 fory=0to2^te
  15. 120 :forx=0toq(te)-y
  16. 130 : kx=(x+y/2)*k/q(te)-k/2
  17. 140 : ky=m(x,y)
  18. 145 :rem ifky<0thenky=0
  19. 150 : kz=y*k/q(te)*s-k/3
  20. 160 : pset p,kx,ky,kz
  21. 165 : p=p+1
  22. 170 :next
  23. 180 next
  24. 190 print" ich ziehe die linien."
  25. 195 p=0
  26. 196 gosub4000
  27. 200 forh=2^teto1step-1
  28. 210 :forx=1toh
  29. 220 : lset l,p+x-1,p+x
  30. 225 : l=l+1
  31. 230 :next
  32. 240 :p=p+h+1
  33. 250 next:\
  34. 260 t=2^te
  35. 270 forx=0tot-1
  36. 280 :fory=1tot-x
  37. 290 : lset l,y*(t+1-(y-1)/2)+x,(y-1)*(t+1-(y-2)/2)+x
  38. 295 : l=l+1
  39. 300 :next
  40. 310 next:\
  41. 400 forh=tto1step-1
  42. 410 :fory=hto1step-1
  43. 420 : p=y*(t+1-(y-1)/2)+h-y
  44. 430 : p1=(y-1)*(t+1-(y-2)/2)+h-y+1
  45. 440 : lset l,p,p1
  46. 445 : l=l+1
  47. 460 :next
  48. 470 next
  49. 1900 \:goto1900
  50. 1990 rem  ***************
  51. 2000 fort=0tote-1
  52. 2010 v=q(te-t):h=q(te-t-1)
  53. 2020 forx=0toq(t)-1
  54. 2030 fory=0toq(t)-x-1
  55. 2040 m(x*v+h,y*v)=(m(x*v,y*v)+m((x+1)*v,y*v))/2+fnr(t)
  56. 2050 m(x*v,y*v+h)=(m(x*v,y*v)+m(x*v,(y+1)*v))/2+fnr(t)
  57. 2090 m(x*v+h,y*v+h)=(m((x+1)*v,y*v)+m(x*v,(y+1)*v))/2+fnr(t)
  58. 2100 nexty,x,t
  59. 2110 return
  60. 2600 rem ***********
  61. 4000 rem
  62. 4010 anfset 0,-100,0,0,0
  63. 4020 dwset 20,0
  64. 4030 delset 0,0,0
  65. 4040 video 1,0,0
  66. 4060 perspset-k*1,-k/2 :rem entfernung
  67. 4070 modset1,1,1     :rem persp
  68. 4090 dreh
  69. 4100 return
  70.