Re: Re: je fantazia ohranicena?

From: Paco (paco@seznam.cz)
Date: 22. 06. 2002, 12:50 CEST


> A co kdyby se misto obrazku vypocitavanych ze vsech moznych kombinaci bodu
> v obrazku generovali obrazky nahodne? Proste do kazdeho bodu obrazku dat
> urcitou barvu podle generatoru nahodnych cisel. A kdyby byl jenom cernobily
> tak proste bud cernou nebo bilou a to by bylo rychlejsi nez barevny. Tak by
> se mohli dostat hodne zajimave kombinace hned a necekat na biliony obrazku.
> Neni nejaky program na obrazky kterym by se to dalo zkusit? Kalumet.

Ty uvahy o generovani vsech moznych kombinaci mely alespon jakesi
(i kdyz ne realne) racionalni jadro, protoze by v konecnem case
(konecnem ovsem v ryze matematickem pojeti) opravdu vygenerovaly
vsechny mozne obrazy o dane velikosti, rozliseni a barvach.

Ale tohle je uz uplny nesmysl, protoze takhle NIKDY nevygenerujes
nic kloudnejsiho nezli cisty sum. A cim lepsi generator nahody,
tim vetsi entropie vysledneho obrazku a tedy tim mene nejakych
nahodnych shluku bodu, ktere by davaly smysl.

Z programoveho hlediska je zde take naprosto lhostejne, zda bude
mit vysledny obrazek 2 (b/w) nebo treba 256 ci vice barev. Takze
vlastni generovani barevneho i cernobileho sumu bude trvat stejne
dlouho.

Ad program: skoro kazdy lepsi graficky editor ma funkci nebo filtr
'noise', ktera generuje _sum_, cili prave to, cos vymyslel. Ale
mas-li PHP, muzes si konec koncu ten svuj napad odzkouset primo
'vlastnima rukama'. Napsal jsem ti programek, ktery vygeneruje
deset obrazku .png 200x140 presne podle tve myslenky. Jenom jeste
podotykam, ze by bylo naprosto zbytecne ztracet cas a zkouset dalsi
a dalsi obrazky. Vysledek bude vzdycky na pohled stejny, coz plyne
primo z principu:

<?
# obrazky .png rndpix_0 az rndpix_9 ulozi do
# adresare, z nehoz je spusten
dl("php_gd.dll");
$barev=7; //1 => cernobily, 7 => 8-barevny
srand((double)microtime()*1000000);
$pix=imagecreate(200,140);
$col[]=imagecolorallocate($pix,255,255,255); //whi
$col[]=imagecolorallocate($pix,0,0,0); //blk
$col[]=imagecolorallocate($pix,255,0,0); //red
$col[]=imagecolorallocate($pix,255,255,0); //yel
$col[]=imagecolorallocate($pix,0,255,0); //gre
$col[]=imagecolorallocate($pix,0,255,255); //cya
$col[]=imagecolorallocate($pix,0,0,255); //blu
$col[]=imagecolorallocate($pix,255,0,255); //mag
for($i=0;$i<10;$i++){
	for($y=0;$y<140;$y++)
		for($x=0;$x<200;$x++)
			imagesetpixel($pix,$x,$y,$col[rand(0,$barev)]);
	imagepng($pix,"./rndpix_$i.png");
}
?>

pako Paco. 


______________________________________________________________________
Reklama:
Seznam Prace - Hledate praci nebo menite zamestnani? http://prace.seznam.cz



This archive was generated by hypermail 2.1.2 : 22. 06. 2002, 12:50 CEST