. Najprv by som xcel upozorniť čitatelov že som relatívne začiatočník, takže, ak tieto texty spôsobia ujmu na zdraví, prípadne na niečom inom, Já to nebyl ! Myslím že ako vyzerá sinusoida nemusím vysvetlovať (je to taká vlnouka :). Daju sa sňou zrobiť celkokom zaujímavé veci. Napr. Ak si chceme urobit nejakú writeln() procedúrku, a nechceme aby string len suchopádne postával na obrazovke, ale aby sa (suchopádne) vlnil, nieje nič jednoduchšie. Potrebujeme si spraviti pole sinusov, najlepšie veľkosti 256. Prečo, to si vysvetlíme potom. Takže: int sin[256]; // je jedno či int alebo char // masochisti môžu použiť aj float :) for(i=0; i<256; i++) sin[i]=10*sin(i*2*M_PI/256); // M_PI je konstanta pi Toto pole bude nadobúdať hodnoty -10 až 10. Ďalej potrebujeme nejakú unsigned char premennú,nazvime si ju napr. start, ktorá nám bude určovat, jak má vlnouka vyzerat. Bude vlastne štartovacim indexom (štartérom?) do naseho poľa. Prve písmenko bude mat y-súradnicu y=y+sin[start], dalšie y=y+sin[start+10], dalšie y=y+sin[start+20] etc... Túto premennú budeme neustále zvyšovať, preto je vhodné voliť pole 256 prvkov, a premennú typu unsigned char. Odpadne nám starosť porovnávať kedy premenná presiahne veľkosť poľa. bRadšej uvediem nejaky ten pseudokód: void writeln(int x, int y, int start, char *str... ){ unsigned char pos=start; int i; for(i=0; i<pocet_pismen; i++){ vypis_pismenko(x, y+sin[pos], str[i]); x+=sirka_pismenka; pos+=inkrement; // nejake cislo, trebars 3 } } A v maine to bude vyzerať asi takto: start=0; while(!kbhit()){ writeln(20, 20, start, "Z biologie mam štyrku."); start+=5; } To je cela finta. PLASMA Plasma je v podstate to isté. Potrebujeme 4 štartovacie indexy. Dve pre x a dve pre y. A tieto budeme, najlepšie o rôzne hodnoty, zvyšovať. py1=sy1; py2=sy2; for(y=0; y<200; y++){ px1=sx1; px2=sx2; for(x=0; x<320; x++){ putpixel(x, y, sin[px1]+sin[px2]+sin[py1]+sin[py2]); px1+=?; px2+=?; } py1+=?; py2+=?; } kde s* sú štartovacie indexy, p* sú pomocné premenné. Neviem, či je tu ešte niečo na vysvetlovanie, na zdrojáku by to mal každý pochopiť. Zdrojáky sú: 1. neoptimilizované, ale o to ľahšie pochopiteľné 2. je to infarktware, tzn. ak z nich dostanete infarkt, pošlite 50 na moju adresu. 3. mali by fungovať v BC 3.1 v pohode. Uvedeným zdrojákom generovaná plazma je dosti pravidelná a nezáživná. Ale ak si budete robiť vlastú plazmu, možete použiť aj väčšiu tabuľku, a naplniť ju nejakými diabolskými hodnotamy, nemusí to byť sínus. Môže to byť sqrt(x), 1/x, x^2, etc. A, prečo sa obmedzovať na jednu tabuľku? Na záver ešte jeden zdroják + obrázok. Tentoraz negenerujeme pixely, ale posúvame pôvodný obrázok, ktorý sa tým pádom deformuje. Veď si to pozrite. Pevné nervy a mäkkú stoličku pri programovaní želá. TRang Prípadné neviemčo adresujte na: trang@post.sk ,ale istejšie je použiť telefón (to je taká tá vec s tým slúchadlom a takými očíslovanými tlačítkami) na +421 095 747773. Bye. výheň