Nem ugyanaz...
norbimagan
norbimagan at vnet.hu
Wed Apr 14 21:36:10 CEST 2004
Szia!
>... az szebb kort rajzol (tetu lassan), mintha ugy rajzolom, hogy:
veszem balrol a kozeppont x >koordinataig sorban az x koordinatat, a kor
>fuggvenyebol kiszamitok hozza egy y koordinatat. Ez rogton 4 pontot ad
meg,
>mivel (elvileg :-) ) a kor fuggolegesen es vizszintesen
tukorszimmetrikus. A
>legtobb kor rajzolo algoritmus ezt hasznalja, de a rajzolt kor
altalaban
>nyolcszognek nez ki, ha csak 10-20 pixel nagysagrendu atmerorol van
szo.
Az modszeredet regota hasznaljak, amikor nem szogfuggvennyel, hanem pl.
pithagorasz tetellel rajzolunk kort. (a sugarat allandora veszed, es a
masik oldalt valtoztatod nulla es a sugar kozott. Ekkor a magassagot
pithagorasz tetel alapjan lehet szamolni. Ez az origohoz kepest jobbra,
a felso ternegyed ivpontjait adja meg. Ezt az X/Y tengelyekre tukrozve
kapod a kort. (Mint Te is irtad, igaz szogfuggveny ternegyedekkel.
Termeszetesen mindenkeppen gyorsabb kivonni, mint szogfuggvenyt
szamolni, ezert gyors lesz a rajzolas is.)
A pithagorasznal ekkor eleve csak 0...90 fok kozotti resz johet szoba,
igy mindenkeppen tukrozunk. Csak erzekelteteskeppen: C-- -ban egy kor
nekem 1021 bajt volt a szinusz miatt, pithagorasz-al szamolva 540bajt. A
sebessege gyorsabb volt a pithagorasznak, ellenben a minosege hagyott
kivannivalot maga utan, az ivnegyedek vegpontjai fele haladva. (az
ivnegyed tobbi resze ellenben kituno volt). Emiatt finomabb lepeskozt
kellett beallitani, ami viszont lassitotta a rajzolast.
Termeszetesen biztosan lehet hatekonyabb kodot is irni, mint en
csinaltam, de az elv akkor is ez.
>Velemeny?
Teljesen jogos. Anno a C64-ben is igy csinaltak, ha jol remlik, en is
akkor lestem el, amikor meglattam, hogy rajzolja ki az interpreter
egyszerre a negy ternegyedet.
Udv.:
Norbi.
More information about the Elektro
mailing list