Seite 1 von 1

Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Di 3. Jul 2012, 14:47
von Klaus-Peter
Als ich heute so von meinem Balkon aus die ausgefransten Wolken betrachtet habe (ich habe Urlaub :mrgreen: ) musste ich plötzlich an Mandelbrotmengen denken und das ich mal für meinen Schneider CPC464 ein Programm hatte mit dem man sie darstellen und auch in ihnen herum-zoomen konnte.

Also gleich mal gegogelt was es da heutzutage an Freeware gibt und recht schnell bin ich auf das Programm XaoS gestoßen.

Wirklich ein faszinierendes Programm mit dem man viel Spass haben kann beim erforschen der Apfelmännchen - zusätzlich hat es auch noch ein Tutorial das anschaulich die Hintergründe erklärt (sogar auf Deutsch).

Und dabei ist es grade einmal 1,5 MB groß ! Da sieht man mal wieder dass gute Programme nicht immer viel Speicherplatz verbrauchen müssen - und das Mathematik auch ihre schönen Seiten hat.

http://wmi.math.u-szeged.hu/xaos/doku.php

Re: Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Di 3. Jul 2012, 16:47
von drohne235
Ich fand Fraktale auch schon immer extrem faszinierend! :) Such mal nach dem Programm "Mandelbulb" bei youtube. Mit dieser Software kann man 3D-Flüge durch Fraktale berechnen - das ist absolut das Coolste was ich bisher gesehen habe:

http://www.youtube.com/watch?v=xO5fXGqeM5c
http://www.youtube.com/watch?feature=fv ... YsbFreUMkg
http://www.youtube.com/watch?v=16sDp2aq ... re=related

Ton aufdrehen und in Vollbild anschauen! Für mich unvorstellbar, wie diese Formen aus ein paar Formeln gebildet werden...

Re: Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Di 3. Jul 2012, 17:32
von Klaus-Peter
F A S Z I N I E R E N D :o

Tolle Videos - das hat sowas richtig Science-Fiction haftes.

Re: Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Mi 4. Jul 2012, 05:47
von yeti
Es geht um Apfelmännchen... Klaus-Peter hat geschrieben:Da sieht man mal wieder dass gute Programme nicht immer viel Speicherplatz verbrauchen müssen - und das Mathematik auch ihre schönen Seiten hat.
OOOoccch... das hab ich irgendwo (Python-FAQ) noch deuuutlich kompakter gesehn:

Code: Alles auswählen

# Mandelbrot set
print (lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y,
Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM,
Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro,
i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y
>=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr(
64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy
))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24)
#    \___ ___/  \___ ___/  |   |   |__ lines on screen
#        V          V      |   |______ columns on screen
#        |          |      |__________ maximum of "iterations"
#        |          |_________________ range on y axis
#        |____________________________ range on x axis

Code: Alles auswählen

BBBBBBBBBBBBBBBCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCC
BBBBBBBBBBBBBCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEFGJJHFFFEEEEEDDDDDCCCCCCCCCC
BBBBBBBBBBBCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFGHJPJKL_FEEEEEEDDDDDDDCCCCC
BBBBBBBBBCCCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEFFFFGHIJZR_QJIGFFFEEEEEEDDDDDDDCC
BBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEFFFGGGHIKP______SKHGFFFFFEEEEDDDDDDD
BBBBBBBCCCDDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFHHIXIIIIJKLO______NKJJIHGGGHSGFEEDDDDD
BBBBBBCCDDDDDDDDDDDDDDDDDDDEEEEEFFFFFFFGGHIM___R_________________PLN[SQXIFEEDDDD
BBBBBCDDDDDDDDDDDDDDDDEEEFFFFFFFFFFFGGGHIKMNS_________________________UIGGFEEDDD
BBBBBDDDDDDDDDDEEEEEFFGHOIHHHHHHHHHHHHIJLP____________________________RKJPGFEEDD
BBBBDDDDEEEEEEEEEFFFFGGHJM___LNW_ONKJJKNY______________________________SKHGFEEED
BBBBDEEEEEEEEEFFFFFFGHHJLOT__________QPZ_________________________________HFFEEEE
BBBDEEEEEEEFGGGGHHHJM_QNS______________________________________________[HGFFEEEE
BBB_________________________________________________________________QLIHGFFFEEEE
BBBDEEEEEEEFGGGGHHHJM_QNS______________________________________________[HGFFEEEE
BBBBDEEEEEEEEEFFFFFFGHHJLOT__________QPZ_________________________________HFFEEEE
BBBBDDDDEEEEEEEEEFFFFGGHJM___LNW_ONKJJKNY______________________________SKHGFEEED
BBBBBDDDDDDDDDDEEEEEFFGHOIHHHHHHHHHHHHIJLP____________________________RKJPGFEEDD
BBBBBCDDDDDDDDDDDDDDDDEEEFFFFFFFFFFFGGGHIKMNS_________________________UIGGFEEDDD
BBBBBBCCDDDDDDDDDDDDDDDDDDDEEEEEFFFFFFFGGHIM___R_________________PLN[SQXIFEEDDDD
BBBBBBBCCCDDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFHHIXIIIIJKLO______NKJJIHGGGHSGFEEDDDDD
BBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEFFFGGGHIKP______SKHGFFFFFEEEEDDDDDDD
BBBBBBBBBCCCCCCDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEFFFFGHIJZR_QJIGFFFEEEEEEDDDDDDDCC
BBBBBBBBBBBCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFGHJPJKL_FEEEEEEDDDDDDDCCCCC
BBBBBBBBBBBBBCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEFGJJHFFFEEEEEDDDDDCCCCCCCCCC
...offensichtlich etwas rustikal, aber der Witz daran ist daß es syntaktisch gesehn genau ein Ausdruck ist, der genau eine anonyme Funktion definiert und auch gleich benutzt. Also sowas wie ein "Einzeiler für Spielkälber" auf mehreren Ebenen...

Re: Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Mi 4. Jul 2012, 10:14
von PIC18F2550
wie währe es mit Forth?

in graustufen.

Code: Alles auswählen

500 value max-iter
 
: mandel ( gmp  F: imin imax rmin rmax -- )
  0e 0e { F: imin F: imax F: rmin F: rmax F: Zr F: Zi }
  dup bheight 0 do
    i s>f dup bheight s>f f/ imax imin f- f* imin f+ TO Zi
    dup bwidth 0 do
      i s>f dup bwidth s>f f/ rmax rmin f- f* rmin f+ TO Zr
      Zr Zi max-iter
      begin  1- dup
      while  fover fdup f* fover fdup f*
             fover fover f+ 4e f<
      while  f- Zr f+
             frot frot f* 2e f* Zi f+
      repeat fdrop fdrop
             drop 0        \ for a pretty grayscale image, replace with: 255 max-iter */
      else   drop 255
      then   fdrop fdrop
      over i j rot g!
    loop
  loop    drop ;
 
80 24 graymap
dup -1e 1e -2e 1e mandel
dup gshow
free bye

Re: Software zur Darstellung von Mandelbrot - Mengen

Verfasst: Mi 4. Jul 2012, 10:56
von PIC18F2550
mal sehen wie ich die eine Schleife umschreiben muss dammit es geht.

Code: Alles auswählen

'            wihle x * x + y * y <= 4 AND i < mi
                xt  := x * x - y * y + x0
                y   := 2 * x * y + y0
                i++
'            wend
stand
Mandelbrot.spin
(8.68 KiB) 517-mal heruntergeladen