[elektro] Vonal rajzolás
Huszti Andras
kyrk at villamvadasz.hu
Sat Mar 21 09:53:21 CET 2009
En egy gyors megoldast valasztottam:
void lcd_linexy(signed char dx, signed char dy, unsigned char color){
//todo
unsigned int ddx, ddy;
signed int i, j, dirx, diry;
double tg;
if (dx > 0 ) {
dirx = 1;
ddx = dx;
} else {
dirx = -1;
ddx = -dx;
}
if (dy > 0 ) {
diry = 1;
ddy = dy;
} else {
diry = -1;
ddy = -dy;
}
if (ddx > ddy) {
tg = (double)ddy / (double)ddx;
for (i = 0; i <= ddx; i++) {
j = (double)i * tg;
lcd_put_pixel(pen_x + (i * dirx), pen_y + (j * diry), color & 0x01);
}
} else {
tg = (double)ddx / (double)ddy;
for (i = 0; i <= ddy; i++) {
j = (double)i * tg;
lcd_put_pixel(pen_x + (j * dirx), pen_y + (i * diry), color & 0x01);
}
}
}
2009-03-21, szo keltezéssel 09.34-kor Skandar Graun ezt írta:
> Keresd meg a ZX-spektrum ROM visszafejtést. Nagyon jó és tömör rajzoló
> algoritmusok vannak benne. A Z80 kód pedig elég általános felépítésű.
>
> 2009/3/21 Tóth Péter <tope1 at freemail.hu>:
> > Sziasztok!
> >
> > Tudtok valami egyszerű algoritmust ajánlani grafikus kijelzőhöz vonal
> > rajzolására?
> > Az első próba sikerült jobbra-lefele, de ezt mind a 4 síknegyedre meg
> > kell írni külön, tele vizsgálatokkal?
> > Vagy ki lehet matekozni egyszerűen is?
> >
> > Köszi
> >
> > ToPe
> >
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list