1、例1 利用line()函数画圆在计算机绘图中,任何曲线均可以利用line()函数绘制。下面通过绘制一个圆说明利用line()函数绘制曲线的方法。在圆上任取一点P(X,Y),以C点为圆心的圆的参数方程为在计算机绘图中,屏幕左上角为坐标原点,X坐标方向水平向右,Y坐标方向垂直向下。在该坐标下,设圆心C的坐标为(X0,Y0),则圆的参数方程变为:根据圆的参数方程,利用c语言编程绘制圆。程序1-1.cpp实现利用line()函数画圆。/*1-1.cpp*/#includemath.hmain() int i,j,r,xx21,yy21,x0,y0; float st=360/20*3.14/180;
2、x0=300;y0=250;r=200; initgraph(800,600); setbkcolor(BLUE);setcolor(YELLOW); for(i=0;i21;i+) xxi=x0+r*cos(i*st);yyi=y0-r*sin(i*st); 20; line(xxi,yyi,xxi+1,yyi+1); getch();closegraph();_例2 画一个金刚石图案程序1-2.cpp绘制图1-1所示的金刚石图案。 int i,j,r,xx20,yy20,x0,y0; for(j=0;jj+)line(xxi,yyi,xxj,yyj);图1-1金刚石图案具体实验要求:(1)
3、 修改1-2.cpp的代码,将绘图窗口尺寸置为1024*768,背景色为黄色,前景色为红色,在实验报告中给出完整的代码和对应的运行结果截图 initgraph(1024,768); setbkcolor(YELLOW);setcolor(RED);(2) 修改1-1.cpp的代码,改变顶点个数,使得得到的图形更逼近于正圆,在实验报告中给出完整的代码和对应的运行结果截图 int i,j,r,xx51,yy51,x0,y0; float st=360.0/50*3.14/180;51;50;(3)自行编程实现图1-2的绘制。(提示:求圆的各分点坐标,利用line()函数从圆的最低点向各分点绘直线。
4、) for(i=0; line(xx15,yy15,xxi,yyi);图1-2(4)将背景色置成白色,前景色置成黑色,绘制一个正五边形图形 int i,j,r,xx6,yy6,x0,y0; float st=360/5*3.14/180; setbkcolor(WHITE);setcolor(BLACK);6;5;绘制一个五角星图形 line(xx1,yy1,xx3,yy3); line(xx3,yy3,xx5,yy5); line(xx5,yy5,xx2,yy2); line(xx2,yy2,xx4,yy4); line(xx4,yy4,xx1,yy1);(5)绘制如图1-3所示指定图形 int r1,xx121,yy121;r1=100; xx1i=x0+r1*cos(i*st);yy1i=y0-r1*sin(i*st); line(xxi,yyi,xx1i+1,yy1i+1);图1-34 思考与总结通过实验掌握到了不少计算机图形学的知识。