好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理课程设计制作奥运五环效果.doc

14页
  • 卖家[上传人]:博****1
  • 文档编号:440694349
  • 上传时间:2022-09-15
  • 文档格式:DOC
  • 文档大小:212KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 南通大学电气工程学院微机原理课程设计报 告 书软件课 题 制作奥运五环效果 班 级 学 号 姓 名 指导 教师 日 期 2011-11-23 一、奥运五环效果1.1 设计目的1.巩固和加深课堂所学知识;2.学习掌握一般的软件的设计方法和查阅、运用资料的能力;3.通过奥运五环效果的设计与制作,深入了解与掌握DOS环境下图形生成方法1.2 设计内容和要求查找资料,了解汇编语言编写图形方法,中点bresenharm算法原理,成像原理生成奥运五环效果,并定时中断实现变色或闪烁1.3 设计原理1.3.1 DOS环境下图形显示机理BIOS 提供了相当丰富的显示功能调用,其显示功能集中在10H 号中断中,共有16 种不同的功能,每个功能有一个编号,对应的编号为00~0FH。

      当调用某个显示功能时,应根据需要设置好入口参数,把功能号置入AH寄存器中,然后发中断指令“INT10H”与图形显示有关的子功能主要集中在如表1 几个功能号在图形方式下,屏幕以像素为单位中分辨率下,屏幕可分成320*200=64000个像素点,每个像素有四种不同的显示颜色,背景有16种颜色;高分辨率下,屏幕分成640*200=128000 个像素点,只支持黑白两色任何一个图形都可以看作是由点组成的,这些像素点“点亮”或“熄灭”,就构成相应的图形1.3.2 Bresenham画圆算法Bresenham画圆算法又称中点画圆算法,与Bresenham 直线算法一样,其基本的方法是利用判别变量来判断选择最近的像素点,判别变量的数值仅仅用一些加、减和移位运算就可以计算出来为了简便起见,考虑一个圆心在坐标原点的圆,而且只计算八分圆周上的点,其余圆周上的点利用对称性就可得到   圆有“八对称性”,如下图所示      显然,我们只需要知道了圆上的一个点的坐标 (x, y) ,利用八对称性,我们马上就能得到另外七个对称点的坐标 给出圆心的坐标(0, 0)和半径R,求圆图像的最佳逼近点 我们求的八分之一圆孤为(0, R) -(R√2,R√2),可知最大位移方向是x方向,x0 = 0, y0 = R,每次对x自增,然后判断y是否减1,直到x >= y为止(从点(0, R)到圆的八分之一处就有这种情况)。

      误差量由F(x, y) = x^2 + y^2 - R^2给出 先找递推关系,若当前d = F(x + 1, y - 0.5) > 0,则y须减1,则下一d值为d = F(x + 2, y - 1.5) = (x + 2)^2 + (y - 1.5)^2 - R^2 = d + 2x - 2y + 5,若当前d = F(x + 1, y - 0.5) < 0,则y不变,只有x增1,则下一d值为d = F(x + 2, y - 0.5) = d + 2x + 3 d的初值,d0 = F(1, R - 0.5) = 1.25 - R,则可以对d - 0.25进行判断,因为递推关系中只有整数运算,所以d - 0.25 > 0即d > 0.25,这和d > 0等价,所以d取初值1 - R1.4 程序流程图与程序代码1.4.1 流程图确定第一个圆的圆心(x0,y0),半径r设置显示方式依次确定正面五环各环的像素值即颜色,调用单环绘制程序,完成正面五环定时中断否?依次确定反面五环各环的像素值即颜色,调用单环绘制程序,完成反面五环1.4.2 程序源代码data segment m dw ? n db ? ;像素颜色值 r dw 30 ;五环半径 x1 dw 80 ;第一个圆的圆心 y1 dw 80 x2 dw ? y2 dw ? x3 dw ? y3 dw ? x4 dw ? y4 dw ? x dw ? y dw ? d dw ? a dw ? b dw ? data ends code segment assume cs:code,ds:data main proc far start: mov ax,data mov ds,ax ;mov si,0 mov di,0 mov si,x1 mov x3,si mov si,y1 mov y3,si mov si,0 call circulmain endp ;*************五环绘制子程序*********** circul proc near push si mov ah,0 mov al,0dh int 10h ;*************依次绘制正面五环*********** front: mov n,0eh;第一个环,黄色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si call single_circle mov n,0ah;第二个环,绿色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx shr bx,1 add y1,bx call single_circle mov n,04h;第三个环,红色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx add y1,bx add y1,bx add y1,bx call single_circle mov n,09h;第四个环,蓝色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx shr bx,1 shr bx,1 add y1,bx call single_circle mov n,08h; 第五个环,灰色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx add y1,bx add y1,bx shr bx,1 add y1,bx shr bx,1 add y1,bx call single_circle jmp back;*********绘制背面面各环********** back: mov n,04h;第一个环,红色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si call single_circle mov n,08;第二个环,灰色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx shr bx,1 add y1,bx call single_circle mov n,09h;第三个环,蓝色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add y1,bx add y1,bx add y1,bx add y1,bx add y1,bx call single_circle mov n,0ah;第四个环,绿色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx shr bx,1 shr bx,1 add y1,bx call single_circle mov n,0eh; 第五个环,黄色 mov x,0 mov bx,r mov y,bx mov si,x3 mov x1,si mov si,y3 mov y1,si add x1,bx add y1,bx add y1,bx add y1,bx shr bx,1 add y1,bx shr bx,1 add y1,bx call single_circle pop sicall delayjmp frontcircul endp ;*********逐步进给调整坐标,单环绘制********** single_circle proc near mov si,1 sub si,r mov d,si ;d=1-r,x=0 lin3: mov si,x ;si=x mov di,y ;di=y=r add si,x1 add di,y1 mov dx,si ;dx=si+x1 mov cx,di ;cx=di+y1 mov si,x ; mov di,y cmp si,di ;比较x与y,x>y则八分之一圆弧绘制结束 jg lin call hua ;x

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.