西安電子科技大學《計算機圖像顯示技術(shù)》講 圖形顯示軟件1_第1頁
西安電子科技大學《計算機圖像顯示技術(shù)》講 圖形顯示軟件1_第2頁
西安電子科技大學《計算機圖像顯示技術(shù)》講 圖形顯示軟件1_第3頁
西安電子科技大學《計算機圖像顯示技術(shù)》講 圖形顯示軟件1_第4頁
西安電子科技大學《計算機圖像顯示技術(shù)》講 圖形顯示軟件1_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機圖形顯示技術(shù)主講徐青西安電子科技大學雷達信號處理國防科技重點實驗室1圖形顯示軟件圖形軟件的地位圖形軟件的分類常用術(shù)語圖形軟件開發(fā)方法直線的生成算法逐點比較法數(shù)值微分法2圖形顯示軟件

——概述圖形軟件的地位3圖形顯示軟件

——概述圖形軟件的地位計算機圖形系統(tǒng)是計算機硬件(包括中央處理機、圖形輸入輸出設(shè)備),以及軟件(包括系統(tǒng)軟件和圖形軟件)的集合。圖形軟件是圖形系統(tǒng)的一個重要環(huán)節(jié),在很大程度上決定著整個系統(tǒng)的功能速度和適應(yīng)能力。4圖形顯示軟件

——概述圖形軟件的地位計算機圖形系統(tǒng)是由計算機硬件、計算機系統(tǒng)軟件、圖形軟件和圖形設(shè)備組成的集合。硬件系統(tǒng)操作系統(tǒng)基礎(chǔ)軟件圖形軟件系統(tǒng)5圖形顯示軟件

——概述圖形軟件的作用與分類圖形軟件的作用或任務(wù)主要體現(xiàn)在三個方面:1、驅(qū)動程序:對圖形輸入輸出設(shè)備進行驅(qū)動和控制,完成基本的圖形輸入輸出功能。這部分程序通常稱作設(shè)備驅(qū)動程序,通常用匯編語言編寫,由制造廠商提供,大多固化在圖形設(shè)備上。例如打印機控制程序、微機顯示卡的BIOS和驅(qū)動程序。6圖形顯示軟件

——概述圖形軟件的作用與分類2、通用軟件包依據(jù)不同設(shè)備的性能和特點,努力達到最佳的圖形輸入輸出效果(高速、逼真),一般通過建立通用的圖形編程軟件包來實現(xiàn)。有時通過擴充現(xiàn)有高級語言的圖形語句也可以達到同樣的目的,但可移植性較差,因而很少采用。7圖形顯示軟件

——概述圖形軟件的作用與分類2、通用軟件包通用圖形軟件包起著承上啟下的作用。它利用設(shè)備驅(qū)動程序加以整合、提高和概括,提供包括圖形輸出、輸入、屬性、變換、觀察(裁剪)以及通用控制等各類子程序,涵蓋建立和管理圖形所需的各種功能,為應(yīng)用軟件包的開發(fā)提供有力的支持。8圖形顯示軟件

——概述圖形軟件的作用與分類3、應(yīng)用軟件包通過人機交互方式,在操作者的控制下,完成所需的圖形應(yīng)用程序。它所需要的是供非專業(yè)人員使用的成套的圖形應(yīng)用軟件包,如CAD軟件包、醫(yī)學圖像診斷軟件包等。良好的人機界面和系統(tǒng)綜合性能是圖形應(yīng)用軟件首要考慮的因素。9圖形顯示軟件

——概述常用術(shù)語圖元圖元又稱輸出圖元(OutputPrimitive),是組成圖形的基本成分的總稱。包括字符串和點、直線段、圓、曲線、填充區(qū)域等幾何成分。生成輸出圖元的子程序是構(gòu)造圖形的基本工具。10圖形顯示軟件

——概述常用術(shù)語屬性屬性(Arrtibute)是指輸出圖元的特性,它描述了一個特定圖元是怎么被顯示的。常用屬性包括亮度、色彩、線型、文本類型和區(qū)域填充模式等。通用圖形軟件包里的子程序可用來為單個圖元或成組的圖元設(shè)置屬性。11圖形顯示軟件

——概述常用術(shù)語結(jié)構(gòu)(圖段)、對象多個具有一定邏輯關(guān)系的圖元構(gòu)成結(jié)構(gòu)(Structure)或圖段(Segment)。一個相對獨立的圖形單元成為一個對象(Object)??蓪Y(jié)構(gòu)等執(zhí)行有關(guān)的操作,如建立、修改和變換等。12圖形顯示軟件

——概述常用術(shù)語坐標系坐標系即設(shè)計和描述圖形時所采用的參照系,用來說明圖形對象的相對位置、大小和方向。在圖形設(shè)計中,最常采用的是笛卡爾坐標系,但需要針對不同的場合使用不同的尺度和量綱。13圖形顯示軟件

——概述常用術(shù)語坐標系構(gòu)造單個物體時,采用相應(yīng)的建模坐標系或局部坐標系;單個形狀一旦被指定,則可采用一參考坐標系,稱為世界坐標系,將該物體放入場景的適當位置;最后,將該場景的世界坐標描述變換到與輸出設(shè)備對應(yīng)的設(shè)備坐標系來輸出或顯示。14圖形顯示軟件

——概述常用術(shù)語坐標系設(shè)備坐標系分兩種:規(guī)范化設(shè)備坐標系:獨立于任何特定的設(shè)備,坐標取值范圍固定為0~1;特定設(shè)備坐標系:必須與輸出設(shè)備的尺寸和分辨率等相適應(yīng)。對視頻監(jiān)視器而言,屏幕坐標系滿足:15圖形顯示軟件

——概述常用術(shù)語幾何變換(GeometicTransformation)是指改變場景中一個圖形對象的大小、位置或方向。建模變換(ModelingTransformation)是利用按建模坐標給出的對象描述來構(gòu)成場景。觀察變換(Viewing

Transformation)是用來制定一種觀察和視圖在輸出顯示區(qū)域出現(xiàn)的范圍。16圖形顯示軟件

——概述圖形軟件的開發(fā)方法目的一個良好的圖形應(yīng)用軟件,應(yīng)該具備所需的圖形功能、友好的人機界面和良好的程序結(jié)構(gòu)。在開發(fā)階段便于設(shè)計和調(diào)試,在使用時易學易用,便于維護和移植。17圖形顯示軟件

——概述圖形軟件的開發(fā)方法1、子程序包以現(xiàn)有的高級語言為基礎(chǔ),擴充處理圖形的子程序包目前已有GKS、PHIGS、GL等多種圖形標準化程序包可供使用,開發(fā)者只需按規(guī)則調(diào)用所需的子程序,便可完成圖形的顯示、繪制和各種圖形設(shè)備的控制以及人機交互等這種方式在實際中使用得較多,所開發(fā)的軟件便于移植和推廣,但執(zhí)行速度較慢18圖形顯示軟件

——概述圖形軟件的開發(fā)方法,主要采用以下三種方式:2、高級語言選定一種高級語言,在處理圖形的語句和數(shù)據(jù)類型等方面進行擴充。目前普遍使用的C、VB、VC等高級語言已經(jīng)在圖形生成及控制方面進行了擴充,以具備較強的圖形處理功能。適用于中、小型應(yīng)用軟件的開發(fā),所開發(fā)的軟件比較簡練、緊湊、執(zhí)行速度較快,缺點是可移植性較差。19圖形顯示軟件

——概述圖形軟件的開發(fā)方法3、專用的高級圖形語言針對特定的設(shè)備配置,設(shè)計專用的高級圖形語言,可以達到最佳的效果。與簡單的命令語言相比,它的功能更強。與子程序包相比,它的執(zhí)行速度更快,效率更高。這種方式的缺點是系統(tǒng)開發(fā)量大,難以移植,主要用于專用圖形系統(tǒng)的開發(fā)。20圖形顯示軟件

——概述直線的生成算法在數(shù)學上,理想的直線是一條由無窮多個無限小的連續(xù)的點組成。21圖形顯示軟件

——概述直線的生成算法但在光柵顯示平面上,我們只能用二維光柵格網(wǎng)上盡可能靠近這條直線的像素點的集合來表示它每個像素具有一定的尺寸,是顯示平面上可被訪問的最小單位,它的坐標x和y只能是整數(shù),也就是說相鄰像素的坐標值是階躍的而不是連續(xù)的

22圖形顯示軟件

——概述直線的生成算法直線的掃描轉(zhuǎn)換,就是要找出顯示平面上最佳逼近理想直線的那些像素的坐標值,并將這些像素置成所要求的顏色。23圖形顯示軟件

——概述直線的生成算法由于一幅圖中可能包含成千上萬條直線,所以要求繪制算法應(yīng)該:1、最接近數(shù)學上的直線2、沿著線段分布的像素應(yīng)均勻3、畫線速度盡可能的快

24圖形顯示軟件

——概述像素不均勻的例子如右圖所示,對同樣長的線段,如果進行圖中的掃描轉(zhuǎn)換,就會因為斜率的不同,產(chǎn)生的像素個數(shù)不相等,這樣將導致像素亮度分布不均勻。25圖形顯示軟件

——概述直線的生成算法——逐點比較法逐點比較法就是在繪圖的過程中,繪圖筆每走一步就與規(guī)定圖形進行偏差比較,然后決定下一步的走向。如此重復(fù),用步步逼近理想線條的方法畫出規(guī)定的圖形。26圖形顯示軟件

——概述逐點比較法的執(zhí)行過程開始偏差判別畫筆走步偏差計算終點判斷(N)(Y)結(jié)束27圖形顯示軟件

——概述直線的生成算法——逐點比較法偏差判別:判斷畫筆的當前位置與規(guī)定圖形位置之間的偏差,以確定畫筆下一步的走步方向畫筆走步:畫筆在X或Y向走一步終點判斷:判斷畫筆的當前位置是否是規(guī)定圖形的終點偏差計算:計算畫筆在當前位置上與規(guī)定圖形之間的偏差28圖形顯示軟件

——概述直線的生成算法——逐點比較法在用逐點法生成直線的過程中,要對處于不同位置的直線和畫筆,規(guī)定一個合理的走筆方向,并討論偏差的計算方法。29圖形顯示軟件

——概述直線的生成算法——逐點比較法1)走向規(guī)定:把直線的起點設(shè)置在坐標系的原點,根據(jù)畫筆當前位置,規(guī)定它的下一步走向如右圖30圖形顯示軟件

——概述直線的生成算法——逐點比較法2)偏差計算規(guī)則:以所畫直線的斜率作為計算偏差的原始參數(shù)偏差值:=tg-tg

(P:筆當前位置)31圖形顯示軟件

——概述直線的生成算法——逐點比較法

3)第一象限的偏差計算=tg-tg=yp/xp-ya/xa=(xayp-xpya)/xpxa0筆當前位置在直線下方,應(yīng)該向+Y方向走一步0筆當前位置在直線上方,應(yīng)該向+X方向走一步因為xpxa0,故判斷的正負只需判斷xayp-xpya因此偏差:F=xayp-xpya32圖形顯示軟件

——概述直線的生成算法——逐點比較法4)用遞推法簡化偏差計算設(shè)筆的當前位置為P1,若F1=y1?xa–ya?x1<0(*)應(yīng)走+Y一步,假設(shè)到達P2,則x2=x1y2=y1+1則在P2處的偏差應(yīng)為F2=y2?xa–ya?x2=y1?xa–ya?x1+xa=F1+xa33圖形顯示軟件

——概述直線的生成算法——逐點比較法4)用遞推法簡化偏差計算否則應(yīng)走+X一步,則下一個點為x2=x1+1

y2=y1

則在P2處的偏差應(yīng)為F2=y2?xa–ya?x2=y1?xa–ya?x1-ya=F1-ya34圖形顯示軟件

——概述直線的生成算法——逐點比較法4)用遞推法簡化偏差計算根據(jù)以上的推導,只要知道F1,就可以連續(xù)推得F2、F3,并根據(jù)它們的符號確定畫筆下一步的走步方向初始條件我們設(shè)畫筆在直線段的起點,此時F1=0于是可歸納得:Fi≥0走+X一步,新偏差Fi+1=Fi–yaFi<0

走+Y一步,新偏差Fi+1=Fi+xa35圖形顯示軟件

——概述直線的生成算法——逐點比較法4)用遞推法簡化偏差計算F<0,走+Y一步F=F+xaF≥0,走+X一步F=F-ya36圖形顯示軟件

——概述直線的生成算法——逐點比較法5)其他象限的偏差計算公式就不再一一推導,過程是類似的,在此僅給出結(jié)果:

象限F≥0F<0走向偏差計算走向偏差計算1+XF=F-|ya|+YF=F+|xa|3-X-Y2+YF=F-|xa|-XF=F+|ya|4-Y+X37圖形顯示軟件

——概述直線的生成算法——逐點比較法6)終點判斷設(shè)置一個計數(shù)器,記錄下畫筆應(yīng)走的總步數(shù):N=X/S+Y/S

其中:X:直線段在X向的增量(X=|xa|)Y:直線段在Y向的增量(Y=|ya|)S:繪圖機步長故終點判斷為N=(|xa|+|ya|)/S;任何方向走一步后,N=N-1;直至N=038圖形顯示軟件

——概述直線的生成算法——逐點比較法根據(jù)以上分析,可以總結(jié)為:1、輸入直線段的始點(x0,y0)和終點(x1,y1),計算xa=x1-x0和ya=y1-y02、選定第一點為(x0,y0)并為Fk賦初值,即令x=x0,ya=y0,F(xiàn)k=03、顯示當前光點(x,y)4、根據(jù)Fk是否小于0,分別按遞推公式計算Fk+15、根據(jù)Fk+1的符號和當前光點所處的象限,選定下一光點的走向和坐標(x,y)6、重復(fù)上述第3-5步,總的迭代次數(shù)為N=|x1-x0|+|y1-y0|39圖形顯示軟件

——概述直線的生成算法——逐點比較法畫出直線段(0,0)~(5,3)40圖形顯示軟件

——概述直線的生成算法——數(shù)值微分法算法描述數(shù)值微分法即DDA法(DigitalDifferentialAnalyzer),是一種基于直線的微分方程來生成直線的方法。它的算法實質(zhì)是用數(shù)值方法解微分方程,通過同時對x和y各增加一個小增量,計算下一步的x、y值簡單的DDA法在直線的最大增量方向每次變化1,另一個方向則相應(yīng)地每次變化一個小于1的值,逐個計算出最接近于理想直線的光點的坐標。41圖形顯示軟件

——概述直線的生成算法——數(shù)值微分法算法描述設(shè)(x1,y1)和(x2,y2)分別為所求直線的起點和終點坐標,由直線的微分方程得:42圖形顯示軟件

——概述直線的生成算法——數(shù)值微分法算法描述可通過計算由x方向的增量△x引起y的改變來生成直線:xi+1=xi+△x(10-1)yi+1=yi+△y=yi+△x·m(10-2)43圖形顯示軟件

——概述直線的生成算法——數(shù)值微分法算法描述也可通過計算由y方向的增量△y引起x的改變來生成直線

yi+1=yi+△y(10-3)xi+1=xi+△x=xi+△y/m(10-4)44圖形顯示軟件

——概述直線的生成算法——數(shù)值微分法算法思想選定x2-x1和y2-y1中較大者作為步進方向(假設(shè)x2-x1較大),取該方向上的增量為一個像素單位(△x=1),然后利用直線的微分方程計算另一個方

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論