ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:282.96KB ,
资源ID:6102772      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6102772.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机图形学利用C语言图形函数绘图.doc)为本站会员(buyk185)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

计算机图形学利用C语言图形函数绘图.doc

1、计 算 机 图 形 学 课程实验 报 告实验题目 利用 C 语言图形函数绘图 班 级 姓 名 学 号 指导教师 日 期 Computer Graphics Report Of course experiment -图形学课程实验报告- - 1 -实验说明试验目的: 掌握 TurboC 语言图形函数的使用和学会绘制一般图形。试验地点: 教九楼 401 数学系机房实验要求(Direction ):1. 每个学生单独完成;2.开发语言为 TurboC 或 C+,也可使用其它语言;3.请在自己的实验报告上写明姓名、学号、班级;4.每次交的实验报告内容包括:题目、试验目的和意义、程序制作步骤、主程序、运

2、行结果图以及参考文件;5. 自己保留一份可执行程序,考试前统一检查和上交。实验内容实验题一1.1 实验题目用如下图 1 所示,图中最大正 n 边形的外接圆半径为 R,旋转该正 n 边形,每次旋转 角度,旋转后的的 n 边形顶点落在前一个正六边形的边上,共旋转 N 次,请上机编程绘制 N+1 个外接圆半径逐渐缩小且旋转的正 n 边形。要求: (1) n、R、N 、要求可以人为自由控制输入;(2)N+1 个正六边形的中心( 即外接圆的圆心 )在显示屏幕中心。CBAR1R210图 11.2 实验目的和意义1. 了解如何利用 C 语言和图形函数进行绘图;2. 熟悉并掌握 C 语言的图形模式控制函数,图

3、形屏幕操作函数,以及基本图形函数;利用 C 语言图形函数绘图实验 1如左图(一)所示:n=6=100、N =1、R=R1、旋转一次。依次类推,共旋转 N次。-图形学课程实验报告- - 2 -3.通过对 Turbo C 进行图形程序设计的基本方法的学习,能绘制出简单的图形;4. 通过绘制 N+1 个正 n 边形,了解图形系统初始化、图形系统关闭和图形模式的控制并熟练运用图形坐标的设置,包括定点、读取光标、读取 x 和 y 轴的最大值以及图形颜色的设置。1.3 程序制作步骤(包括算法思想、算法流程图等)1.自动搜索显示器类型和显示模式,初始化图形系统,通过 printf、scanf 语句控制半径

4、r、边数 n、多边形的个数 k、边的每次旋转角度 d,的自由输入;2.给定一内接圆半径 r,由圆内接多边形的算法公式:xi=r*cos(i+1) *2.0*pi/n)+320.0 yi=240.0-r*sin(2.0*pi/n *(i+1) 确定出多边形 N 的各个顶点坐标,然后利用划线函数 line(),连接相邻两点,即形成一个正多边形。3.根据边与角的关系,以及线段定比分点公式,可知旋转后的多边形的各个顶点的坐标 。公式如下:xi=(xi+xi+1/(k+1) y i=(yi+yi+1/(k+1)k=360/(n*d) (n 为多边形的边数,d 为多边形旋转的度数) 然后与第二步相同,利用

5、划线函数 line(),连接形成又一个旋转过的正多边形,这样就形成了所要绘制的图形;4.关闭图形系统。1.4 主程序/*- 多边形的逐次旋转-*/#include #include “conio.h“#include “math.h“#include #include “stdlib.h“#include “time.h“#define pi 3.1415926-图形学课程实验报告- - 3 -#define ARRAY_LEN 128void main()int graphdriver = DETECT,graphmode; /*自动搜索显示器类型和显示模式*/int r = 0;int i

6、 = 0;int j = 0;int n = 0;int k = 0;int d = 0;float x = 0;float y = 0;float q = 0;int aARRAY_LEN = 0;int bARRAY_LEN = 0;char str1ARRAY_LEN = 0;char str2ARRAY_LEN = 0;printf(“请输入正接圆的半径 r:“);scanf(“%d“,printf(“n 请输入多边形的边数 n:“);scanf(“%d“,printf(“n 请输入多边形的个数 k:“);scanf(“%d“,printf(“n 请输入每次的旋转角度 d:“);-图形

7、学课程实验报告- - 4 -scanf(“%d“,initgraph( /*初始化图形系统*/printf(“nn 注意 :maxx=%d,maxy=%dn“,getmaxx(),getmaxy();printf(“n r=%d, n=%d, k=%d, d=%d“,r,n,k,d);x = (getmaxx()+1)/2.0;y = (getmaxy()+1)/2.0;q = 360/n; /*角增量*/q = q*pi/180; /*将角增量化为弧度*/for(i=0;i#include“graphics.h“#include#includevoid main()void *w = NUL

8、L;int driver=DETECT;int mode=0;int i = 0;int j = 0;int start = 0;int end = 0;initgraph(/初始化图形系统cleardevice();/清除屏幕和图形缓冲区setbkcolor(9);/用指定的颜色值来设置当前的背景色setcolor(13);/设置前景颜色 start=0;end=180;circle(387,290,37);circle(525,290,37);line(404,217,398,230);-图形学课程实验报告- - 12 -line(436,217,429,230);line(398,230

9、,429,230);line(413,230,387,290);line(387,290,525,290);line(408,243,484,243);line(387,290,484,243);line(484,243,525,290);line(444,290,484,243);line(444,290,446,279);line(444,290,443,300);line(438,277,444,278);line(435,300,451,301);line(484,243,487,233);line(472,233,502,233); /自行车基本轮廓的绘制w=malloc(image

10、size(350,200,562,327);/动态申请空间getimage(350,200,562,327,w);/保存图像函数for(i=350,j=0; i0 ;i-,j-)setfillstyle(EMPTY_FILL,0);/设置填充模式和颜色 pieslice(387+j,290,start,end,37);/绘制并填充一个扇形pieslice(525+j,290,start,end,37);start+=40;end+=40;delay(5); /处于运动状态的自行车车轮的轴线的绘制putimage(i-1,200,w,COPY_PUT);/输出图像函数line(2,327,562

11、,327);delay(10); /自行车行驶动画的实现 for(i=0;i10;i+)-图形学课程实验报告- - 13 -pieslice(37,290,start,end,37);/绘制并填充一个扇形pieslice(175,290,start,end,37);/绘制并填充一个扇形start+=40;end+=40; /处于静止状态的自行车车轮的轴线的绘制getch();restorecrtmode();/将屏幕模式恢复为先前的 initgraph 设置closegraph();3.5 运行结果图图 3.5.1 自行车在起点图 3.5.1 自行车在中间图 3.5.1 自行车在中点-图形学课程实验报告- - 14 -参考文献1 王汝传,黄海平,林巧民计算机图形学教程(第二版) 北京:人民邮电出版社,20092谭浩强. C 语言程序设计M. 北京:清华大学出版社,2005.本次实验总结或体会通过本次试验我看到了在计算机图形学这门课中有意义的一面,增加了我学习这门课的兴趣;但同时我也认识到了自身在语言掌握中的不足和有待加强的地方;在以后的学习中要更加努力、要多动手、多学习。教师评分

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报