- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
西北农林科技大学实验报告
实验一基本图形元素生成算法
1.实验目的:
1)熟练掌握基本图形元素生成算法。
2)对高级语言的图形模式的设定有比较详细的了解。
3)对基本图形类(或函数)的调用方法有一个比较详细的了解。
2.实验内容:
该学生自己选定一种基本图形(直线段),编写生成该基本图形
的源程序,并能在计算机上编译运行,画出正确的图形。
3.实验步骤:
1)对DDA算法、Bresenham算法进行比较如下:
Bresenham算法是计算机图形学领域使用最广泛的直线扫描转换方法。
原理:过各行、各列像素中心构造一组虚拟网格线,按直线从起
点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中
与此交点最近的像素。此算法的优点在于可以采用增量计算,使得对
于每一列,只要检查一个误差项的符号,就可以确定该列所求的像素。
特点:
1,不必计算直线之斜率,因此不做除法;
2,不用浮点数,只用整数;
3,只做整数加减法和乘2运算,而乘2运算可以用硬件移位实现.
Bresenham算法速度很快,并适于用硬件实现.
DDA算法是计算机图形学中一种基于直线的微分方程来生成直线的方法,由
于有浮点数运算与取整,该算法不利于硬件实现。
特点:
1.浮点数运算
2.不易硬件实现
相比较之下,选用Bresenham算法。
2)画出程序流程图;
程序流程图如下:
start
输入x0,y0,x1,y1
x0x1
将x0与x1交换
y0与y1交换
x=x1
计算初值,x=x0,y=y0;dx=x1-x0,
dy=y1-y0,d=dx-2*dy,UpIncre=2*dx-2*dy;
DownIncre=-2*dy
绘制(x,y)点,
x+1
d0
y+1,d=d+UpIncre
end
3)编写程序的源程序;
程序如下:
functionMidBresenhamline(x0,y0,x1,y1)
ifx0x1
x=x1;x1=x0;x0=x;
y=y1;y1=y0;y0=y;
end
x=x0;y=y0;
dx=x1-x0;dy=y1-y0;
d=dx-2*dy;
UpIncre=2*dx-2*dy;
DownIncre=-2*dy;
whilex=x1
axis([x0x1y0y1])
plot([x],[y],*);
gridon
holdon
x=x+1;
ifd0
y=y+1;
d=d+UpIncre;
else
d=d+DownIncre;
end
pause(0.1);
end
t=x0:1:x1
yy=(y1-y0)./(x1-x0)*t+(y1-((y1-y0)./(x1-x0)*x1));
plot(t,yy)
您可能关注的文档
最近下载
- 《红星照耀中国》精品课件.pptx VIP
- 2025导与练生物高考一轮复习(人教版)第一单元 走近细胞和组成细胞的分子含答案.pdf VIP
- 专题一物质构成的奥秘-2020九年级中考化学复习讲义.doc VIP
- 毛巾送洗协议合同范本.docx VIP
- 人教部编版小学一年级上册新人教版一年级语文上册第1单元试卷 (1).doc VIP
- 雨课堂东南大学领导力素养课后习题及单元测试答1.docx
- Panasonic松下 FP7 系列 用户手册(SCU 通信篇).pdf
- 春江花月夜(音乐欣赏).ppt
- 机电工程工艺标准化三维图集2021版ppt+pdf(10页).pptx VIP
- 高中主题班会——禁塑令新规定 教学PPT课件.pdf
文档评论(0)