CG实验1-利用C语言图形函数绘图概要1.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CG实验1-利用C语言图形函数绘图概要1

实验1 利用C语言图形函数绘图 1实验目的: 熟悉C语言图形功能,为今后实验打基础。 2实验要求: 在CodeBlocks环境下编写程序 3实验内容 例1 利用line()函数画圆 在计算机绘图中,任何曲线均可以利用line()函数绘制。下面通过绘制一个圆说明利用line()函数绘制曲线的方法。 在圆上任取一点P(X,Y),以C点为圆心的圆的参数方程为 在计算机绘图中,屏幕左上角为坐标原点,X坐标方向水平向右,Y坐标方向垂直向下。在该坐标下,设圆心C的坐标为(X0,Y0),则圆的参数方程变为: 根据圆的参数方程,利用c语言编程绘制圆。程序1-1.cpp实现利用line()函数画圆。 /*1-1.cpp*/ #includegraphics.h #includemath.h main() { int i,j,r,xx[21],yy[21],x0,y0; float st=360/20*3.14/180; x0=300;y0=250;r=200; initgraph(800,600); setbkcolor(BLUE);setcolor(YELLOW); for(i=0;i21;i++) { xx[i]=x0+r*cos(i*st);yy[i]=y0-r*sin(i*st); } for(i=0;i20;i++) line(xx[i],yy[i],xx[i+1],yy[i+1]); getch();closegraph(); } 例2 画一个金刚石图案 程序1-2.cpp绘制图1-1所示的金刚石图案。 #includegraphics.h #includemath.h main() { int i,j,r,xx[20],yy[20],x0,y0; float st=360/20*3.14/180; x0=300;y0=250;r=200; initgraph(800,600); setbkcolor(BLUE);setcolor(YELLOW); for(i=0;i20;i++) { xx[i]=x0+r*cos(i*st);yy[i]=y0-r*sin(i*st); } for(i=0;i20;i++) { for(j=0;j20;j++)line(xx[i],yy[i],xx[j],yy[j]); } getch();closegraph(); } 图1-1金刚石图案 具体实验要求: 修改1-2.cpp的代码,将绘图窗口尺寸置为1024*768,背景色为黄色,前景色为红色,在实验报告中给出完整的代码和对应的运行结果截图 #includegraphics.h #includemath.h main() { int i,j,r,xx[20],yy[20],x0,y0; float st=360/20*3.14/180; x0=300;y0=250;r=200; initgraph(1024,768); setbkcolor(YELLOW);setcolor(RED); for(i=0;i20;i++) { xx[i]=x0+r*cos(i*st);yy[i]=y0-r*sin(i*st); } for(i=0;i20;i++) { for(j=0;j20;j++)line(xx[i],yy[i],xx[j],yy[j]); } getch();closegraph(); } 修改1-1.cpp的代码,改变顶点个数,使得得到的图形更逼近于正圆,在实验报告中给出完整的代码和对应的运行结果截图 #includegraphics.h #includemath.h main() { int i,j,r,xx[51],yy[51],x0,y0; float st=360.0/50*3.14/180; x0=300;y0=250;r=200; initgraph(800,600); setbkcolor(BLUE);setcolor(YELLOW); for(i=0;i51;i++) { xx[i]=x0+r*cos(i*st);yy[i]=y0-r*sin(i*st); } for(i=0;i50;i++) line(xx[i],yy[i],xx[i+1],yy[i+1]); getch();closegraph(); } (3)自行编程实现图1-2的绘制。(提示:求圆的各分点坐标,利用line()函数从圆的最低点向各分点绘直线。) #includegraphics.h #includemath.h main() { int i,j,r,xx[21],yy[21],x0,y0; float st=36

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档