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++; 
       } 
}

Related Posts
Previous
« Prev Post