CG实验1利用C语言图形函数绘图Word格式.docx
《CG实验1利用C语言图形函数绘图Word格式.docx》由会员分享,可在线阅读,更多相关《CG实验1利用C语言图形函数绘图Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
例1利用line()函数画圆
在计算机绘图中,任何曲线均可以利用line()函数绘制。
下面通过绘制一个圆说明利用line()函数绘制曲线的方法。
在圆上任取一点P(X,Y),以C点为圆心的圆的参数方程为
在计算机绘图中,屏幕左上角为坐标原点,X坐标方向水平向右,Y坐标方向垂直向下。
在该坐标下,设圆心C的坐标为(X0,Y0),则圆的参数方程变为:
根据圆的参数方程,利用c语言编程绘制圆。
程序1-1.cpp实现利用line()函数画圆。
/*1-1.cpp*/
#include<
graphics.h>
math.h>
main()
{
inti,j,r,xx[21],yy[21],x0,y0;
floatst=360/20*3.14/180;
x0=300;
y0=250;
r=200;
initgraph(800,600);
setbkcolor(BLUE);
setcolor(YELLOW);
for(i=0;
i<
21;
i++)
{xx[i]=x0+r*cos(i*st);
yy[i]=y0-r*sin(i*st);
}
20;
line(xx[i],yy[i],xx[i+1],yy[i+1]);
getch();
closegraph();
}_
例2画一个金刚石图案
程序1-2.cpp绘制图1-1所示的金刚石图案。
inti,j,r,xx[20],yy[20],x0,y0;
{
for(j=0;
j<
j++)line(xx[i],yy[i],xx[j],yy[j]);
}
图1-1金刚石图案
具体实验要求:
(1)修改1-2.cpp的代码,将绘图窗口尺寸置为1024*768,背景色为黄色,前景色为红色,在实验报告中给出完整的代码和对应的运行结果截图
initgraph(1024,768);
setbkcolor(YELLOW);
setcolor(RED);
(2)修改1-1.cpp的代码,改变顶点个数,使得得到的图形更逼近于正圆,在实验报告中给出完整的代码和对应的运行结果截图
inti,j,r,xx[51],yy[51],x0,y0;
floatst=360.0/50*3.14/180;
51;
50;
(3)自行编程实现图1-2的绘制。
(提示:
求圆的各分点坐标,利用line()函数从圆的最低点向各分点绘直线。
)
for(i=0;
line(xx[15],yy[15],xx[i],yy[i]);
图1-2
(4)将背景色置成白色,前景色置成黑色,绘制一个正五边形图形
inti,j,r,xx[6],yy[6],x0,y0;
floatst=360/5*3.14/180;
setbkcolor(WHITE);
setcolor(BLACK);
6;
5;
绘制一个五角星图形
line(xx[1],yy[1],xx[3],yy[3]);
line(xx[3],yy[3],xx[5],yy[5]);
line(xx[5],yy[5],xx[2],yy[2]);
line(xx[2],yy[2],xx[4],yy[4]);
line(xx[4],yy[4],xx[1],yy[1]);
(5)绘制如图1-3所示指定图形
intr1,xx1[21],yy1[21];
r1=100;
{xx1[i]=x0+r1*cos(i*st);
yy1[i]=y0-r1*sin(i*st);
line(xx[i],yy[i],xx1[i+1],yy1[i+1]);
图1-3
4思考与总结
通过实验掌握到了不少计算机图形学的知识。