




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学实训报告学号: 20091620319 姓名: 刘美霞 班级: 计算机科学与技术专业2班 一、实验目的和要求 1、任意指定一个起始点坐标和终止点坐标画出该直线2、要求用数值微分法(DAA)3、通过实验了解数值微分法的算法形式以前如何用C语言来表示该算法二、算法原理介绍 数值微分法(DAA)对任何沿直线给定的x的增量x,可以从下式中计算出y的增量y:y =Kx同样,可以得出对应于指定的y的x增量x:x=y/K对于具有斜率绝对值|k1的线段,可以让x从起点到终点变化,每步递增(或递减)1,即令x1,用式(3-2)计算对应的y增量,y=k。若前量资助的直线上像素点坐标为(xi , yi ),这一次的直线上像素点坐标为(xi+1,yi+1),则xi+1= xi 1, yi+1= yi k。随后用putpixel(xi+1 ,(int)( yi+1 +0.5),color)函数输出该像素的颜色什即可。这里用int来取整是因为像素的坐标什都是整数。对于具有斜率绝对值|k1的线段,可以让y从起点到终点变化,每步递增(或递减)1,x1/k用式(3-3)计算对应的x增量,。若前一次的直线上像素点坐标为(xi , yi ),这一次的直线上像素点坐标为(xi+1,yi+1),则xi+1= xi 1/k,yi+1= yi 1。随后用putpixel(int)( yi+1 +0.5),yi+1,color)函数输出该像素的颜色值即可。如图所示。(xi,(int)(yi+0.5)(xi , yi )(xi +1,yi)(xi+1,(int)(yi+0.5)数值微分法示意图数值微分法的本质,是用数值方法解微分方程,通过同时对和各增加一个小增量,计算下一步的值。以下是用数值微分算法生成直线的C语言描述(0k1)。Void DDALine(int x1,int y1,int x2,int y2,int color) int x; Float k, y=y1; K=1.0(y2-y1)/(x2-x1); For(x=x1;xx2;x+) putpixel (x, (int)(y+0.5),color); Y=y+k;三、程序文档说明程序主要是采用C语言来实现的,运行环境是用WIN-TC运行。程序采用的是DDA算法来实现画直线,#include /*表示头文件,C语言中必须包含头文件*/;#include /*图形处理函数都在此函数中,所以画图必须*/;#include /*数学函数*/;DDA算法是由函数void DDALine (int x1,int y1,int x2,int y2,int color),在MAIN函数中来调用函数就可以了;getch();/*获取图形*/;closegraph();/*关闭图形系统,退出图形状态*/;initgraph(&gd,&gm,C:TCBGI) DETECT和gmode图形模式 /*自动检测硬件*/。程序实现的图形所示:四、程序源代码 /*用DDA算法画直线的应用*/#include #include 四、程序源代码#include #include #include #include void DDALine (int x1,int y1,int x2,int y2,int color) int x; float k,y=y1; k=1.0*(y2-y1)/(x2-x1); for (x=x1;x=x2;x+) putpixel(x,(int)(y+0.5),color); y=y+k; void main() int gd = DETECT,gm; initgraph(&gd,&gm,C:TCBGI); setbkcolor(0);printf(This is line drawed DDA add liu mei xia is homework); DDALine(100,100,450,100,1); DDALine(100,150,450,150,2); DDALine(100,200,450,200,3); DDALine(100,250,450,250,4); DDALine(100,300,450,300,5); DDALine(100,350,450,350,6); DDALine(100,50,450,150,1); DDALine(100,100,450,200,2); DDALine(100,150,450,250,3); DDALine(100,200,450,300,4); DDALine(100,250,450,350,5); DDALine(100,300,450,4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京海淀第十九中学教师招聘模拟试卷附答案详解(突破训练)
- 2025年西安经开第七小学招聘数学教师考前自测高频考点模拟试题及答案详解一套
- 2025福建武夷山市供销总公司招聘3人模拟试卷及答案详解(夺冠)
- 2025贵州黔西南州兴义民族师范学院高层次人才引进20人模拟试卷及答案详解参考
- 2025广东深圳市优才人力资源有限公司招聘编外聘用人员拟聘人员考前自测高频考点模拟试题及参考答案详解
- 2025年滁州明光市公开引进高中教育紧缺人才11人考前自测高频考点模拟试题及答案详解(必刷)
- 2025河南许昌市建安区人力资源和社会保障局招聘公益性岗位人员13人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025广西南宁隆安县南圩镇杨湾卫生院医学影像专业招聘1人模拟试卷及答案详解(易错题)
- 安全培训教学图课件
- 安全培训救护小结课件
- 小学数学西南师大四年级上册二加减法的关系和加法运算律《减法的运算性质》教学设计
- 深信服SDWAN产品介绍
- 通信光缆线路工程安全技术交底大全
- 购牛合同参考参考
- 纳迪亚之宝全流程攻略 100%完结完整通关指南
- 高一语法——句子成分、句式
- mc2200监控模块后台通讯协议v
- 第四讲政府间关系
- GB 30678-2014 客车用安全标志和信息符号(高清版)
- 中国传统节气二十四节气秋分简介农民丰收节专题资料PPT课件
- 起诉状(变更抚养权)
评论
0/150
提交评论