linia -algorytm naiwny

0

Witam.
Mam problem z rysowaniem linii algorytmem naiwnym. Algorytmy opisane na internecie które znalazłem nie pozwalają na rysowanie linii w dowolnym kierunku(tylko kiedy x1 i y1 sa większe od y1 i y2 działają poprawnie- swap nie wiele pomaga bo pod innymi kątami są także problemy). Czy wie ktoś jak to rozwiązać? Manipuluję już jakiś czas tymi współczynnikami dx i dy, ale do niczego konstruktywnego nie doszedłem. Aha, potrzebuję linii naiwnej, nie bresenhama.

0

Chodzi mi o wykorzystanie tego:

dx = x2 - x1;
dy = y2 - y1;
for(int x=x1 ;x<=x2;x++){
 y = y1 + (dy) * (x - x1)/(dx);
 put_pixel(screen,x,y,255,255,255);
}
}

Dla punktów a(0,0) b(70,70) owszem narysuje mi linię, ale np dla a(70,70) b(100,70) nie rysuje nic. Próbuję go uogólnić do takiej postaci żeby był w stanie narysować dowolną linię- nie zależy mi na antyaliasingu.

dodanie znacznika <code class="cpp"> - fp