tiistai 25. elokuuta 2020

Xiaolin Wu’s algorithm


Tänään (corewar) evaluointien lisäksi ajatuksena on tehdä [Xiaolin Wu’s algoritmilla viivoja. Algoritmi on hitaampi (niin olen lukenut) kuin Bresenham’s algoritmi. Hyviä puolia siinä on se että viivan pitäisi olla suorempi ja alku ja loppupisteet ovat paremmin paikallaan. Ennen sitä rakennan loopin joka pyörittää viivoja (hullun lailla) ikkunassa. Tarkoitus on mitata millä nopeudella piirtohjelma (kaks oota muka tuolla. Toinen on ihan turha, sanoo Laihialaanen) toimii. Jos aikaa on lähden piirtämään niitä pisteitä josta jo pari päivää sitten haaveilin. Jotenki on hassua että kun aamulla ajattelee (pläänää) tekevänsä jotain niin sitten päivällä tulee tehtyä jotain muuta. Toisaalta kun projekti on (tässä tapauksessa FdF) asettanut inputin ja outputin niin jotenkin kirjoitukset (C-koodaus) on ohjautunut siihen suuntaan että edellisetkin pojektit on tavoitteeseen päässy. Joku vois sanoa että taiteilijan vapaus (mä en sano niin, moon hiliaa).


Tälleen Xiaolin Wu’s algoritmi toimii. Idea siinä on maalata (jännä sana toi) pikseli molemmin puolin (ylhäällä ja alhaalla). Pikselin kirkkaus on sen mukaan miten vahvasti viiva osuu pikselin keskiosaan.




Jäi Xiaolin Wu’s algoritmi tekemättä tänäänkin (aamun innostukset ei aina ota tuulta alleen). Meni aikaa paljon kirjoitetun koodin re-strukturointiin. Haaveena oli että piirtäminen vähän nopeutuisikin. Ei nopeutunut ainakaan näkyvästi. Tein vertailevaa tutkimusta koulukaverin kanssa ja huomasimme että eroa ei ole midän toteutusten välillä nopeuden suhteen (siis niinku silmämääräisesti katsottuna). Keskustelimme myös sdl2 kirjastosta (libsdl2 lienee oikea nimi), joka ollee nopeampi kuin minilibx. sdl2 kirjastossa on paljon valmiita palikoita piirtämiseen. Se kait lienee syy miksi käytämme minilibx kirjastoa. Elikkä saamme tehdä kaikki piirtämiseen liittyvät palikat itse. Corewar evaluointi söi illan (reilut 2 tuntia). Sain vielä tehtyä FdF-mapin luku funktion (se josta kuva eilen).


Ei kommentteja:

Lähetä kommentti