Autor Zpráva
timbulko
Profil
Zdravím, ako by som vytvoril fraktál hmly v PHP? Doma som to skúšal všetkými možnými možnosťami no nešlo mi to.

Skúšal som vytvoriť v php obrázok o veľkosti napr. 100x100px, tam som vložil pixely s jednou z dvoch farieb a náhodne som to tam striedal, potom som celý obrázok zmenšil na 20x20 a znova ho dal na 100x100... no nevyzeralo to moc dobre, lebo PHP to nerozostrilo moc dobre... ;-)

Vie niekto ako by som mohol tú hmlu spraviť?
MzM
Profil
Dobrý dotaz. Co to je fraktál mlhy(cz) hmly(sk)?
Str4wberry
Profil
MzM
Aha hmlu je asi mlha a fraktál.
timbulko
Profil
Ano, hmla = mlha... Ale ako by šla spraviť v PHP? Dik.
Str4wberry
Profil
timbulko
Tak to jsem ještě neslyšel ani neviděl, jak se to dělá. A nemyslím, že by hmla na to pomohla.
timbulko
Profil
>> A nemyslím, že by hmla na to pomohla.


Coze? Ved ja potrebujem LEN tu hmlu... Nepotrebujem take fraktaly ako boi na tej wikipedii ale normalne klasicku hmlu potrebujem spravit v PHP.
WebMaster
Profil
Tak použij flash ne?
timbulko
Profil
Nee... robim jednu aplikaciu a potrebujem aby sa dynamicky generovane efekty davali na pozadie. Takze flash na pozadie dam asi tazko. ;-)
Str4wberry
Profil
timbulko
A co zkusit IE filtry, třeba by to stačilo.
MzM
Profil
timbulko, myslel jsem, že na to máš někde algoritmus, tak proto jsem se ptal.
Našel jsem http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid =3525
ale je to složité jak parní mlátička...
Ještě bych zkusil GIMP a jeho otevřené kódy, tam jsou taky nějaké algoritmy na mlhy.
Nebude lepší si něco někde (třeba tím GIMPem) vygenerovat a pak to používat?
timbulko
Profil
No, ano... C++ ;-) to bude asi trosku problem lebo ja C++ neovladam... Nenasiel by sa nejaky postup v PHP? diky ;-)
timbulko
Profil
Som nasiel algoritmus na tvorenie toho fraktalu aj s popisom... Tu je info a script:

http://library.thinkquest.org/26242/full/types/ch10.html - vysvetlenie
http://library.thinkquest.org/26242/full/progs/a8.html - priklad


Vedel by to niekto zapojit do PHP? Diky ;-)
MzM
Profil
No, tohle je jednodušší, já bych to zkusil, jestli to už někdo nemá hotové...
(C++ je skoro stejné jako php ;-) )
MzM
Profil
http://markovo.wz.cz/plasma.php?src

bez toho src to vrací ten obrázek, ale wz tam přidá proužek a ....
navíc to moc nefunguje. Ale zkuste, třeba dojdete na nějakou chybu, kterou jsem tam udělal.
Moc jsem nad tím nepřemýšlel, akorát jsme přepsal algoritmus. Zkusím se podívat na teorii, třeba příjdu na princip.
...
je to blbě, přepíšu to... moment.
MzM
Profil
..hmm zkuste tu samou adresu... je to přepsané na rekurzivní variantu. Protože tu chápu. Ale dává to nějaké divné výsledky. Někde je tam něco divně. V src je zapoznámkovaná přepsaná nerekurzivní varianta, ale ta nefunguje vůbec. Kde je to blbě?
timbulko
Profil
Ja som si tiez prestudoval algoritmus a spravil som asi toto:

http://reklama.tophry.net/fractal.php?x=100&y=100 ale to je ešte horšie :-/ Riešil som to tak, že som vytvoril štvorec a na hranach a v strede som dával vždy priemernú farbu. Takisto je to riešene cez rekurziu. Keby sa tie dve možnosti nejako skombinovali tak by sa to možno dalo spraviť tá hmla nejako... TU je zdrojový kód: http://reklama.tophry.net/fractal.php?x=100&y=100&src
timbulko
Profil



Takto nejako funguje ten moj priklad... Vlastne sa tam vlastne vytovria priemerne farby + nahodnost na bokoch a v strede a potom sa to donekonecna opakuje (teda dokail nebude velkost toho boxu mensia ako 1 px)

Ale robi mi tam velmi vyrazne stvorce ako je vidiet na http://reklama.tophry.net/fractal.php?x=100&y=100
Ako by sli odstranit? Myslim si ze je to preto, lebo PHP nedokaze pracovat s tak velkymi desatinnymi cislami a zaokruhluje to... A kedze je tam niekolko sto rekurzii a vzdy sa to zaokruhli tak neni ten prechod uplne presny. Nevie niekot ako by sa to dalo vyriesit?
MzM
Profil
No, dělám to v podstatě stejně, akorát jinak manipuluju s barvama. Ta nerekurzivní varianta měla chybu v tom, že se počítali souřadnice s desetinými čísly, takže to pak bylo zvláštní. :-)
Zkusím dodat víc barev...
Ještě se dívám, ty tam tu náhodu děláš relativní, zkus ji dát absolutní, tam může být hodně zaokrou hlování. (ale jistě to nevím, jenom mě to napadlo)
MzM
Profil
nj, Přikryl je blbec, operátor ^ není mocnina...
ta nerekurzivní varianta se netrefuje do stvořených bodů, tak by bylo třeba ji nějak upravit. Ale rekurzivní má zásobník max log2(šířka) * 4, tak to není snad tak hrozné...
MzM
Profil
http://markovo.wz.cz/plasma.php?src
takže tak, zbytek je hraní si s paletou...
taky to mám čtvercaté... to bude tím krouhlením...
TFSi
Profil
timbulko
Todle kreslíš pomocí DG knihovny??

Bože, bejt admin serveru kde mi to budeš spouštět tak tě poženu že nebudeš stíhat utíkat ... !

Jinak princip jste snad zvolili dobrý, jenom prostředky špatně :)
timbulko
Profil
Todle kreslíš pomocí DG knihovny??
asi máš na mysli GD... ;-) jj pomocou GD to robím, ale všetko bude samozrejme cachované takže to bude minimálna záťaž.

ty tam tu náhodu děláš relativní, zkus ji dát absolutní
hmm? čo tým myslíš?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0