版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、南通大學(xué)電氣工程學(xué)院微機原理課程設(shè)計報 告 書軟件課 題 制作奧運五環(huán)效果 班 級 學(xué) 號 姓 名 指導(dǎo) 教師 日 期 2011-11-23 一、奧運五環(huán)效果1.1 設(shè)計目的1.鞏固和加深課堂所學(xué)知識;2.學(xué)習(xí)掌握一般的軟件的設(shè)計方法和查閱、運用資料的能力;3.通過奧運五環(huán)效果的設(shè)計與制作,深入了解與掌握dos環(huán)境下圖形生成方法。1.2 設(shè)計內(nèi)容和要求查找資料,了解匯編語言編寫圖形方法,中點bresenharm算法原理,成像原理。生成奧運五環(huán)效果,并定時中斷實現(xiàn)變色或閃爍。1.3 設(shè)計原理1.3.1 dos環(huán)境下圖形顯示機理bios 提供了相當(dāng)豐富的顯示功能調(diào)用,其顯示功能集中在10h 號中斷
2、中,共有16 種不同的功能,每個功能有一個編號,對應(yīng)的編號為000fh。當(dāng)調(diào)用某個顯示功能時,應(yīng)根據(jù)需要設(shè)置好入口參數(shù),把功能號置入ah寄存器中,然后發(fā)中斷指令“int10h”。與圖形顯示有關(guān)的子功能主要集中在如表1 幾個功能號。在圖形方式下,屏幕以像素為單位。中分辨率下,屏幕可分成320*200=64000個像素點,每個像素有四種不同的顯示顏色,背景有16種顏色;高分辨率下,屏幕分成640*200=128000 個像素點,只支持黑白兩色。任何一個圖形都可以看作是由點組成的,這些像素點“點亮”或“熄滅”,就構(gòu)成相應(yīng)的圖形。1.3.2 bresenham畫圓算法bresenham畫圓算法又稱中點
3、畫圓算法,與bresenham 直線算法一樣,其基本的方法是利用判別變量來判斷選擇最近的像素點,判別變量的數(shù)值僅僅用一些加、減和移位運算就可以計算出來。為了簡便起見,考慮一個圓心在坐標(biāo)原點的圓,而且只計算八分圓周上的點,其余圓周上的點利用對稱性就可得到。 圓有“八對稱性”,如下圖所示。 顯然,我們只需要知道了圓上的一個點的坐標(biāo) (x, y) ,利用八對稱性,我們馬上就能得到另外七個對稱點的坐標(biāo)。 給出圓心的坐標(biāo)(0, 0)和半徑,求圓圖像的最佳逼近點。 我們求的八分之一圓孤為(0, r) -(r2,r2),可知最大位移方向是x方向,x0 = 0, y0 = r,每次對x自增,然后判斷y是否減1
4、,直到x = y為止(從點(0, r)到圓的八分之一處就有這種情況)。誤差量由(x, y) = x2 + y2 - r2給出。 先找遞推關(guān)系,若當(dāng)前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 - r2 = d + 2x - 2y + 5,若當(dāng)前d = f(x + 1, y - 0.5) 0即d 0.25,這和d 0等價,所以d取初值1 - r。1.4 程序流程圖與程序代碼1.41 流程圖確定第一個圓的圓心(x0,y0),半徑r設(shè)置顯示方式依次確定正面五環(huán)各環(huán)的像素值即顏色,調(diào)
5、用單環(huán)繪制程序,完成正面五環(huán)定時中斷否?依次確定反面五環(huán)各環(huán)的像素值即顏色,調(diào)用單環(huán)繪制程序,完成反面五環(huán)1.42 程序源代碼data segment m dw ? n db ? ;像素顏色值 r dw 30 ;五環(huán)半徑 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
6、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 ;*五環(huán)繪制子程序* circul proc near push si mov ah,0 mov al,0dh int 10h ;*依次繪制正面五環(huán)* front: mov n,0eh;第一個環(huán),黃色 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;第二個環(huán),
7、綠色 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;第三個環(huán),紅色 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;第四個環(huán),藍(lán)色 mo
8、v 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; 第五個環(huán),灰色 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 s
9、ingle_circle jmp back;*繪制背面面各環(huán)* back: mov n,04h;第一個環(huán),紅色 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;第二個環(huán),灰色 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;第三個環(huán),藍(lán)色
10、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;第四個環(huán),綠色 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; 第五個
11、環(huán),黃色 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 ;*逐步進(jìn)給調(diào)整坐標(biāo),單環(huán)繪制* single_circle proc near mov si,1 sub si,r mov d,si ;d=1-r,x=0 lin3: mov si,x ;
12、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,xy則八分之一圓弧繪制結(jié)束 jg lin call hua ;xy cmp d,0 ; jge lin1 ;mov si,2 mov ax,0 mov ax,si imul x mov si,ax add si,3 add d,si lin2: inc x jmp lin3 lin1: mov si,2 mov ax,0 mov ax,si mov di,x
13、sub di,y imul di mov si,ax add si,5 add d,si dec y jmp lin2 lin: ret single_circle endp huadian proc near ;寫像素,al=顏色值,bh=頁號 mov ah,0ch mov al,n mov bh,0 int 10h ret huadian endp ;*八分法繪制圓環(huán)* hua proc near call huadian ;畫第一點 (x,y) mov x2,dx mov y2,cx sub dx,x1 sub cx,y1 xchg dx,cx add dx,x1 add cx,y1 c
14、all huadian ;畫對稱點(y,x) mov dx,x2 mov cx,y2 sub cx,y1 sub dx,x1 xchg dx,cx mov m,dx add m,dx sub dx,m add dx,x1 add cx,y1 call huadian ;畫點(-y,x) sub cx,y1 mov m,cx add m,cx sub cx,m add cx,y1 call huadian ;畫點(-y,-x) mov dx,x2 mov cx,y2 sub dx,x1 sub cx,y1 mov m,cx add m,cx sub cx,m add cx,y1 add dx,x
15、1 call huadian ;畫點 (x,-y) sub dx,x1 mov m,dx add m,dx sub dx,m add dx,x1 call huadian ;畫點(-x,-y) mov dx,x2 mov cx,y2 sub dx,x1 sub cx,y1 mov m,dx add m,dx sub dx,m add dx,x1 add cx,y1 call huadian ;畫點 (-x,y) mov dx,x2 mov cx,y2 sub dx,x1 sub cx,y1 xchg dx,cx mov m,cx add m,cx sub cx,m add dx,x1 add cx,y1 call huadian ;畫點 (y,-x) call delay ret hua endp ;*延時* delay proc near push dx push cx mov
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024醫(yī)院臨時工聘用合同參考范文
- 2024房屋轉(zhuǎn)租合同簡單版范本
- 2024鐘點工勞動合同范本
- 2024綠化養(yǎng)護(hù)管理委托版合同
- 2024總經(jīng)銷合同范本范文
- 施工合同協(xié)議書樣本
- 終止業(yè)務(wù)往來協(xié)議書
- 2024年軟件變更協(xié)議書范文
- 商業(yè)秘密保護(hù)技術(shù)協(xié)議書
- 2023年高考地理重點難點考點通練-產(chǎn)業(yè)結(jié)構(gòu)升級(解析版)
- 中藥飲片處方點評表
- 《節(jié)能監(jiān)察的概念及其作用》
- 綜合布線系統(tǒng)竣工驗收表
- 蔬菜會員卡策劃營銷推廣方案多篇
- 導(dǎo)管滑脫應(yīng)急預(yù)案及處理流程
- (精選word)三對三籃球比賽記錄表
- 尿道損傷(教學(xué)課件)
- 大型火力發(fā)電廠專業(yè)詞匯中英文翻譯大全
- 火電廠生產(chǎn)崗位技術(shù)問答1000問(電力檢修)
- 八年級思想讀本《4.1“涉險灘”與“啃硬骨頭”》教案(定稿)
- 高中語文教學(xué)課例《荷塘月色》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
評論
0/150
提交評論