[ miki_ja @ 24.05.2009. 15:43 ] @
Potrebne su mi koordinate svih tacaka koje se nalaze izmedju proizvoljne tacke na donjoj strani ekrana i proizvoljne tacke na gornjoj strani.
Recimo: tacka A(100, 250) i tacka B(23, 0)

Predpostavljam da ovo nije tezak matematicki zadatak, ali malo sam slab sa matematikom :)
[ peromalosutra @ 24.05.2009. 22:18 ] @
Ako sam dobro razumio, hoces da nadjes sve tacke na duzi? Jedan od nacina je da koristis rekurziju, npr:

Code:

void line(int x1,int y1,int x2,int y2) {
     int tx,ty;
     putpixel(x1,y1);
     putpixel(x2,y2);
     int dx = x2-x1,
         dy = y2-y1;         
     if (abs(dx)>1 || abs(dy)>1) { 
        tx=x1+dx/2;
        ty=y1+dy/2;
        line(x1,y1,tx,ty);
        line(tx,ty,x2,y2);
        }
     }


Ovdje su (x1,y1) koordinate prve tacke, a (x2,y2) druge. Umjesto putpixel(int,int) mozes da pamtis vrijednosti. Ideja je da svaki put polovis rastojanje izmedju tacaka duzi, dok ne dodjes do trivijalnog slucaja kada se duz svede na tacku.
[ marko1981 @ 24.05.2009. 22:35 ] @
Potraži na Google-u "Bresenham's line algorithm".
[ miki_ja @ 25.05.2009. 21:19 ] @
Ja sam nesto petljao preko jednacine prave, ali 'Bresenham's line algorithm' je bas ono sto mi treba.

Hvala momci!