Các giải thuật sinh đường tròn trong C/C++
1. Giải thuật sinh đường tròn Bresenham:
void Bre_circle(int xc, int yc, int Radius, int color) {
int x, y, p;
x = 0;
y = Radius;
p = 3 - 2 * Radius;
while (x <= y) {
putpixel(xc + x, yc + y, color);
if (p < 0)
p += 4 * x + 6;
else {
p += 4 * (x-y) + 10;
y--;
}
x++;}
}
2. Giải thuật sinh đường tròn Midpoint :
void Mid_circle(int xc, int yc, int Radius, int color) {
int x, y, d;
x = 0;
y = Radius;
d = 1- Radius;
while (x <= y) {
putpixel(xc + x, yc + y, color);
if (d< 0)
d +=2 * x + 3;
else {
d += 2 * (x-y) + 5;
y--;
}
x++;
}
}
Klik untuk melihat kode: :) =( :s :D :-D ^:D ^o^ 7:( :Q :p T_T @@, :-a :W *fck* x@