计算机图形学代码
有没有人会编计算机图形学的程序,我们选修课要交作业了。题目是画一条直线,画一个圆,画多边形的变换,画多边形的区域填充。忘大仙把代码给我,TC平台的。...
有没有人会编计算机图形学的程序,我们选修课要交作业了。
题目是画一条直线,画一个圆,画多边形的变换,画多边形的区域填充。
忘大仙把代码给我,TC平台的。 展开
题目是画一条直线,画一个圆,画多边形的变换,画多边形的区域填充。
忘大仙把代码给我,TC平台的。 展开
1个回答
2014-05-16
展开全部
/*---------------Bresenham算法生成圆--------------------*/ BresenhamCircle(int R,int color) { int x,y,dD,dHD,dDV,next; x=0;y=R;dD=2*(1-R); while(y>=0) { CirclePoints(x,y,300,300,color); if(dD<0) { dHD=2*(dD+y)-1; if(dHD<=0) next=0; else next=1; } elseif(dD>0) { dDV=2*(dD-x)-1; if(dDV<=0) next=1; else next=2; } elsenext=1; switch(next) { case 0:x++; dD+=2*x+1; break; case 1:x++; y--; dD+=2*(x-y+1); break; case 2:y--; dD+=-2*y+1; break; }/*switch*/ } /*while*/ outtextxy(150,350,"BresenhamCircle"); } int main(void) /*主函数*/ { initgr(); /* BGI初始化 */ DDACircle(50,5); BresenhamCircle(50,35); getch(); /*暂停一下,看看前面绘图代码的运行结果 */ closegr(); /* 恢复TEXT屏幕模式 */ return 0; } 圆: 只要将hrgn = CreateEllipticRgn(30, 30, 300, 200) 这条命令改一下:比如改为: hrgn = CreateEllipticRgn(30, 30, 200, 200) API函数setwindowrgn是一个很好用的函数 计算机图形学代码 http://download.csdn.net/source/188066
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询