Keresés

Részletes keresés

A hozzászólás:
reverenda Creative Commons License 2001-11-08 13:16:23 26
Nehany peldaval illusztralva a leirtakat: letoltom a program forrasat, leforditom:

gcc -lX11 -L/usr/X11R6/lib -o mandel mandel.c

(en egy kicsit modositott forrast hasznalok l. a levlistan pl., ennek a neve sinmandel.c, igy en a gcc -lX11 -L/usr/X11R6/lib -o sinmandel sinmandel.c paranccsal forditok)

Irok egy kis szkriptet, s2-nek nevezem ezt, ahol megadom a program futasat szabalyzo parametereket, pl., hogy hany ugrast csinaljon egy pontbol: -i ugrasok_szama


more s2
./sinmandel -i 200 -a 0.106579 -b -0.925654 -c 0.106824 -d -0.925410 -m 600 -r 10

ezt futtatom, 200 ugrast csinalok es a sik


|
|
c
-

-----| a b|------

-
d
|
|


negyzetet vizsgalom meg Mandelbrot ugyben :)

Ekkor a kovetkezo kepet kapom:


Ha i=2000, akkor mar a kovetkezo sokkal pontosabbat:

Előzmény:
reverenda Creative Commons License 2001-11-07 11:21:48 25
Nem vagyok aktiv a temaban, de egy van. Amiket en vagy barki rajzol, azok kozelitesek, mert az alap algoritmus a kovetkezo egyszeru modon dolgozik:

1. Vegyunk egy komplex szamot, gyakorlatilag bokjunk ra a korzonkkel egy pontra egy ures lapon, aminek mondjuk a kozepe az origo, a (0,0) pont, azaz, ahol az x meg az y tengely talalkoznak (szebb elnevezessel a valos es a kepzetes tengely :)
Ahova boktunk, azt a pontot jeloljuk z_0-val!

2. Aztan van egy olyan osszefuggesunk, ami megmondja, hogy ha egy pontban allunk, akkor onnan hova ugorjunk tovabb, tehat pl. hova menjunk a z_0-bol, azaz hol lesz a z_1?

Pl.: altalaban megadva z_n = (z_n-1)^2 + z_0
azaz ahol allunk azt a komplex szamot emeljuk negyzetre (kicsit azert trukkosebben kell szorozni, mint sima szamok eseten, de egyszeru :)
aztan adjuk hozza az eredeti pontot, ez mar a
teljesen szokasos, tahat (a,b)+(b,c) = (a+b, b+c)
s. i. t.

3. Azok a pontok a Mandelbrot halmaz elemei, amelyek nem masznak le a papirrol, ha elkezdjuk rajuk alkalmazni az elobb, a 2-ben emlitett osszefuggest. (Sok hasonlo dolgot lehet csinalni ezzel a modszerrel!) Szoval akkor sem masznak le, ha a modszert vegtelen sokaig csinaljuk!

Azt erezni, hogy vegtelen sokaig nem lehet probalgatni az ugralgatast, mert jo lenne, ha a program azert elobb utobb megallna es kirajzolna a halmaz kozeliteset :) Szoval akkor mit lehet tudni? Azt tudjuk, hogy ha az ugralas kozben egyszer mar eleg messze mentunk a kozepponttol, mondjuk pl. egy ket centi sugaru koron kivul, akkor az mar nem fog a lapon maradni, szoval el fog futni a vegtelenbe!

Tehat a progi annyit tud tenni, hogy egy pontbol elvegez pl. 100 ugrast, ha nem ugrunk ki ezzel a ketto sugaru korbol, akkor az eredeti pontnak megelolegezzuk, hogy a Mandelbrot halmaz eleme, ha egyszer is kiugrik kozben, akkor tovabb nem is ugralunk, hiszen azt mar tudjuk, hogy O nem eleme!

A szinezes pedig azzal kapcsolatos, hogy milyen sokaig nem ugrott ki.

Tehat lathato, hogy annal pontosabban az abraink, minel tovabb probalunk ugralni, igy tobb eselyt adunk arra, hogy a nem elemei pontok leleplezodjanek :)

Szoval ilyesmi... remelem nem nagyon tertem el az igazsagtol, de probaltam szemleletesen. A pontos leiras megralalhato a program hivatkozta konyvben, illetve a programban.

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!