000
22.11.2006, 16:28 Uhr
~sara_20
Gast
|
Also Leute, ich versteh ueberhaupt nichts mehr. Ich muss den midpoint algorithmus ausprogrammieren und habe es einigermasen geschafft. Aber es sturzte in manchen faellen ab. Jetzt geht es zwar, aber die Linien die er mir auszeichnet sind irgendwie zu vile getrennt. Hier das Programm
C++: |
void MidpointLine (int xp,int yp,int xq,int yq) { int x=xp, y=yp; int dx=xq-xp, dy=yq-yp; int d=0, m=0, xInc=1, yInc=1; if(dx<0) {xInc=-1;dx=-dx;} if (dy<0) {yInc=-1;dy=-dy;} if(dy <= dx) { d=2*dy-dx; m=2*(dy-dx); for(;;) { if(y == yq) break; //am Anfang: if (x==xq) pc->Pixels[x][y]=clRed; if(d>0) { x+=xInc; y+=yInc; d+=m; }
if(d<=0) { x+=xInc; d+=2*dy; } } } else { d=2*dx-dy;m=2*(dx-dy); for(;;) { if(x == xq) break; //am Anfang hatte ich hier if(y==yq), aber so stuertze er mir staendig ab! pc->Pixels[x][y]=clRed; if(d>0) { x+=xInc; y+=yInc; d+=m ; } if(d<=0) { y+=yInc; d+=2*dx; } } } }
|
Kann mir jemand hierbei helfen???
Ich waere sehr dankbar! Dieser Post wurde am 23.11.2006 um 12:10 Uhr von Windalf editiert. |