- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE28
微机接口报告
汇编语言图形绘制
目录
TOC\o1-3\h\z\u题目要求: 1
第一部分 解决方案概述思路 1
第二部分 所需算法和例程的学习 2
一、 Bresenham直线算法的学习 2
二、 信息显示和调用库函数例程的学习 3
第三部分 汇编语言图形绘制过程: 6
一、 提示信息的显示: 6
二、 直线的绘制 8
三、矩形的绘制 15
四、三角型的绘制 18
五、整体程序的实现 20
六、整体运行结果 25
第四部分 收获与心得 28
参考文献 28
题目要求:
微机接口图形绘制,实现下面的目标
将screen设置为图形显示模式;
程序开始提示绘制:直线、矩形还是三角形;
根据2的选择,进一步通过键盘输入直线、矩形或三角形的参数(即直线端点或▲、■的各个顶点坐标);
步骤3要求的图形绘制结束以后,再进入第2步。
提示:
以程序的规模,需要进行模块化的设计,即首先写好直线绘制的函数,而矩形和三角形分别由4条和3条直线构成;
直线的实现分别用直接写屏技术和中断实现。
该题目的实现涉及到循环、中断调用、函数的编写和调用、显示模式的设置等知识点。
第一部分 解决方案概述思路
根据题目的要求,根据题目的要求,可以将该程序分成四部分来实现。分别是:显示提示信息、画直线、画矩形、画三角形。
显示提示信息部分需要应用的知识主要有:
视屏模式的设置,直接写屏技术,中断,调用库函数判断输入值。
画直线、画矩形、画三角形部分需要应用的知识主要有:
将屏幕设置为图形显示模式,中断,循环和判断,布雷森汉姆直线算法,模块化和函数的嵌套
流程图如下:
选择直线提示信息
选择直线
提示信息
画出图形竖线
画出
图形
竖线
利用判断和循环选择矩形横线
利用判断和循环
选择矩形
横线
选择三角形斜线
选择三角形
斜线
第二部分 所需算法和例程的学习
Bresenham直线算法的学习
Bresenham直线算法描绘直线
在图形模式下画线需要用到的是布雷森汉姆直线算法。通过维基百科查阅资料了解到布雷森汉姆直线算法的基本知识。
Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在n维光栅上最接近的点。这个算法只会用到较为快速的整数加法、减法和位元移位,常用于绘制电脑画面中的直线。是计算机图形学中最先发展出来的算法。经过少量的延伸之后,原本用来画直线的算法也可用来画圆。且同样可用较简单的算术运算来完成,避免了计算二次方程式或三角函数,或递归地分解为较简单的步骤。
以上特性使其仍是一种重要的算法,并且用在绘图仪、绘图卡中的绘图芯片,以及各种图形程式库。这个算法非常的精简,使它被实作于各种装置的固件,以及绘图芯片的硬件之中。
Bresenham直线算法描绘的直线
假设我们需要由(x0,y0)这一点,绘画一直线至右下角的另一点(x1,y1),x,y分别代表其水平及垂直座标,并且x1-x0y1-y0。在此我们使用电脑系统常用的座标系,即x座标值沿x轴向右增长,y座标值沿y轴向下增长。
因此x及y之值分别向右及向下增加,而两点之水平距离为且垂直距离为y1-y0由此得之,该线的斜率必定介乎于1至0之间。而此算法之目的,就是找出在与之间,第x行相对应的第y列,从而得出一像素点,使得该像素点的位置最接近原本的线。
对于由(x0,y0)及(x1,y1)两点所组成之直线,公式如下:
因此,对于每一点的x,其y的值是
因为x及y皆为整数,但并非每一点x所对应的y皆为整数,故此没有必要去计算每一点x所对应之y值。反之由于此线之斜率介乎于1至0之间,故此我们只需要找出当x到达那一个数值时,会使y上升1,若x尚未到此值,则y不变。至于如何找出相关的x值,则需依靠斜率。斜率之计算方法为。由于此值不变,故可于运算前预先计算,减少运算次数。
信息显示和调用库函数例程的学习
老师所提供的例程主要实现的功能是显示提示信息,读取输入的选择,判断后执行相应的程序。
includeemu8086.inc
org100h
lableShowTip:
callShowTip;
callscan_num;
movax,cx;
cmpax,1
jelableDrawLine;
cmpax,2
jelableDrawRect;
print0ah,0dh
printpleaseenteryourchoiceagain;
print0ah,0dh
jmplableShowTip;
lableDr
您可能关注的文档
- cog流程介绍必威体育精装版完整版本.ppt
- commvault简单介绍必威体育精装版完整版本.doc
- d25用户手册必威体育精装版完整版本.doc
- desirehd如何从shipon到shipoff必威体育精装版完整版本.doc
- englisharoundtheworld课件必威体育精装版完整版本.ppt
- extendingfiglewskisoptionpricingformula必威体育精装版完整版本.pdf
- fairytale童话必威体育精装版完整版本.ppt
- flex基础培训5数据验证必威体育精装版完整版本.pdf
- gardiner加丁纳尔必威体育精装版完整版本.pdf
- gw23a252说明书e必威体育精装版完整版本.doc
- 【重庆市S街道家庭医生签约服务现状调研分析报告6000字】.docx
- 八年级生物下册教学课件《选择健康的生活方式》.pptx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练30 和平与发展 (2).doc
- 企业社保费申报流程(核定版).docx
- 高中高考思想政治一轮总复习课后习题 选择性必修一 当代国际政治与经济 课时规范练31 中国的外交 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第1单元 各具特色的国家 第一单元过关检测.doc
- 第6章 生物的进化B卷 能力提升—高一生物学人教版(2019)必修二单元达标测试卷.docx
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第2单元 世界多极化 第4课 和平与发展 第2框 挑战与应对 (2).doc
- 高中思想政治选择性必修1当代国际政治与经济课后习题 第3单元 经济全球化 第6课 走进经济全球化 第2框 日益开放的世界经济.doc
- 【泰安交通建设集团人力资源管理模式研究4900字】.doc
文档评论(0)