Bresenham画圆法(计算机图形学)

来源:互联网 发布:菲律宾4g网络制式 编辑:程序博客网 时间:2024/05/29 11:50

效果截图:



c/c++代码

#include <graphics.h>#include <conio.h>#include<stdio.h>// 使用 Bresenham 画圆法void Circle_Bresenham(int x, int y, int r, int color){int tx = 0, ty = r, d = 3 - 2 * 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 += 4 * tx + 6;else// 取下面的点d += 4 * (tx - ty) + 10, ty--;tx++;}}// 主函数void main(){//请输入圆心坐标和半径int x,y,r;printf("请输入圆心坐标和半径:\n");scanf("%d%d%d",&x,&y,&r);initgraph(640, 480);// 测试画圆Circle_Bresenham(x,y,r, RED);// 按任意键退出getch();closegraph();}


0 0
原创粉丝点击