导读:EasyX Library for C++ 是针对 VC 的一套绘图库,接口简单易用,用起来很像 TC 的 graphics.h 绘图。...
图形学中的中点画圆法,以下是该算法的 C 语言实现:
/////////////////////////////////////////////////// // 程序名称:基于中点算法画圆 // 编译环境:Visual C++ 6.0 / 2010,EasyX 2011惊蛰版 // 作 者:yangw80 <yw80@qq.com> // 最后修改:2011-4-29 // #include <graphics.h> #include <conio.h> // 中点画圆法 void Circle_Midpoint(int x, int y, int r, int color) { int tx = 0, ty = r, d = 1 - r; while(tx <= ty) { // 利用圆的八分对称性画点 putpixel(x + tx, y + ty, color); putpixel(x + tx, y - ty, color); putpixel(x - tx, y + ty, color); putpixel(x - tx, y - ty, color); putpixel(x + ty, y + tx, color); putpixel(x + ty, y - tx, color); putpixel(x - ty, y + tx, color); putpixel(x - ty, y - tx, color); if(d < 0) d += 2 * tx + 3; else d += 2 * (tx - ty) + 5, ty--; tx++; } } // 主函数 void main() { initgraph(640, 480); // 测试画圆 Circle_Midpoint(320, 240, 200, RED); Circle_Midpoint(320, 240, 101, RED); // 按任意键退出 getch(); closegraph(); }