Рисование окружности


void Circle(int xc,int yc,int r){ int x=0; int y=r; // Y = радиус int k=5; // Коэфициент скругления int p=0; while(x < y){ // Пока дуга не превратилась в прямую линию if(p<0){ p+=x+k; // Можно без k, но тогда не будет достаточного скругления x++; }else{ p+=(x-y); x++; y--; } // Рисование 8 дуг, из которых состоит окружность // Правая половина PutPixel(xc+x,yc+y); PutPixel(xc+y,yc+x); PutPixel(xc+y,yc-x); PutPixel(xc+x,yc-y); // Левая половина PutPixel(xc-x,yc-y); PutPixel(xc-y,yc-x); PutPixel(xc-y,yc+x); PutPixel(xc-x,yc+y); } } Вот еще одна реализация рисование фигуры с использованием только целых чисел, без операций деления и умножения. Залитую окружность можно нарисовать путем изменения радиуса.

faceH0r | 19.06.2005
Используются технологии uCoz