Arc function
Bali Zoltan
eltexto at freemail.hu
Mon Mar 14 22:11:16 CET 2005
Hali !
Megprobáltam C-ben, müködik
csak nálam a a 4. nyolcad ivet huzza.
=================================================
void DrawCircle(WORD x, WORD y, WORD rad, BYTE color)
{
long Hiba; //hiba valtozo
long X;
long Y;
long DU; // hiba modosito, ha csak X lepett
long DD; //hiba modosito, ha X es Y is lepett
Hiba = 1L - rad;
X = 0;
Y = rad;
DU = 3;
DD = 5L - (2L * rad);
// kezdopont kirajzol
pixel(X+x,Y+y,color);
// KorCikkInterpolal:
// DoEvents
// 'Vege a 90 foktol 45 fokigtarto resznek?
while(!(X > Y))
{
//'x mindig lep
X = X + 1;
if(Hiba < 0)
{
//az x-heztartozo felso y a jobb
//azaz az aktualison marad
Hiba = Hiba + DU;
DU = DU + 2;
DD = DD + 2;
}
else
{
//az x-heztartozo also y a jobb
//azzaz y mar lephet egyet lefele
Y = Y - 1;
Hiba = Hiba + DD;
DU = DU + 2;
DD = DD + 4;
}
//aktualis kirajzol
pixel(X+x, Y+y,color);
}
}
Köszi megegyszer.
Üdv Zoli
More information about the Elektro
mailing list