周雅翠 吉林建筑大學(xué)電氣與計(jì)算機(jī)學(xué)院
基于B/S模式的《計(jì)算機(jī)圖像學(xué)》教學(xué)演示系統(tǒng)開發(fā)
周雅翠 吉林建筑大學(xué)電氣與計(jì)算機(jī)學(xué)院
計(jì)算機(jī)圖形學(xué)是一門專業(yè)基礎(chǔ)課,對于普通本科學(xué)生的理解和掌握有一定難度,特別是在學(xué)時(shí)有限,學(xué)生基礎(chǔ)薄弱的條件下,對于圖形生成和處理算法是成為計(jì)算機(jī)圖形學(xué)的教學(xué)難點(diǎn),為此開發(fā)計(jì)算機(jī)圖形學(xué)的可視化教學(xué)平臺,是解決目前計(jì)算機(jī)圖形學(xué)教學(xué)中的難題的最佳途徑。本系統(tǒng)采用B/S模式,具有演示圖形學(xué)算法的同時(shí),還可查看對應(yīng)的算法代碼的特點(diǎn),讓學(xué)生更加生動形象地理解算法,提高教了學(xué)質(zhì)量。
計(jì)算機(jī)圖形學(xué) 算法可視化 教學(xué)演示 基本圖形元素
計(jì)算機(jī)圖形學(xué)是利用計(jì)算機(jī)研究圖形的表示、生成、處理、顯示的學(xué)科。目前,國內(nèi)大多數(shù)高等院校的相關(guān)專業(yè)都開設(shè)了計(jì)算機(jī)圖形學(xué)這門課程,在計(jì)算機(jī)圖形學(xué)這門課程中本科生必須掌握的內(nèi)容有直線的掃描轉(zhuǎn)化,圓弧的掃描轉(zhuǎn)化,多邊形的掃面轉(zhuǎn)化和區(qū)域填充,區(qū)域剪裁,反走樣等。在教學(xué)過程當(dāng)中,圖形生成和處理算法是計(jì)算機(jī)圖形學(xué)的基礎(chǔ),算法的理解和掌握是該課程的教學(xué)難點(diǎn),構(gòu)建計(jì)算機(jī)圖形學(xué)可視化教學(xué)平臺,是目前教學(xué)的迫切需求。本文針對《計(jì)算機(jī)圖形學(xué)》教學(xué)演示系統(tǒng)進(jìn)行設(shè)計(jì)與開發(fā),力爭實(shí)現(xiàn)算法演示與解讀代碼同步,讓學(xué)生更好地理解抽象算法,提高教學(xué)質(zhì)量。
在計(jì)算機(jī)圖形學(xué)中,圖形一般由點(diǎn)、線、面、體等幾何元素以及灰度色彩、線型、線寬等非幾何屬性組成。計(jì)算機(jī)圖形學(xué)包含著極其廣泛的內(nèi)容,如圖形硬件、實(shí)體造型,圖形交互技術(shù)、以及計(jì)算機(jī)可視化、自然景物仿真、計(jì)算機(jī)動畫、虛擬現(xiàn)實(shí)等。
B/S模式(Browser/Server,瀏覽器/服務(wù)器模式),是起源于WEB之后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,瀏覽器是客戶端最主要的應(yīng)用軟件,用戶通過瀏覽器訪問互聯(lián)網(wǎng)。B/S模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。B/S模式主要是利用了不斷成熟的瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript...)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本??蛻魴C(jī)上只要安裝一個瀏覽器(Browser),服務(wù)器安裝SQL Server、Oracle、MYSQL等數(shù)據(jù)庫。瀏覽器通過Web Server同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。
鑒于培養(yǎng)方案的調(diào)整,導(dǎo)致教學(xué)理論學(xué)時(shí)縮減。本系統(tǒng)不僅能夠動態(tài)演示圖形元素的生成,也可同步查看的算法代碼。系統(tǒng)有兩個運(yùn)行窗口,一個是演示圖形內(nèi)容,另外一個窗口是瀏覽對應(yīng)生成圖形的主要核心代碼。所有演示內(nèi)容都必須具有點(diǎn)擊清屏功能,圖形演示窗口內(nèi)的圖形才會清空,這樣有利于圖形的相互比較,尤其適用于同一種圖形的不同生成算法。
一般計(jì)算機(jī)圖形學(xué)算法主要教學(xué)內(nèi)容主要包括:(1)二維圖形生成—DDA算法、Bresenham直線、中點(diǎn)畫圓、Bresenham畫圓、中點(diǎn)畫橢圓;(2)二維填充算法—X掃描線填充算法、種子填充算法;(3)圖形變換(二維和三維)—平移變換、縮放變換、旋轉(zhuǎn)變換、對稱變換、錯切變換、復(fù)合變換;(4)二維裁剪算法—點(diǎn)裁剪、Cohen-Sutherland直線裁剪、Sutherland-Hodgeman多邊形裁剪;(5)曲線曲面構(gòu)造—Bezier曲線、B樣條曲線、B樣條曲面等;(6)分形藝術(shù)—二叉樹生成、Koch雪花生成、SP三角形、分形樹、分形圖像等算法。
DDA算法和Bresenham算法是計(jì)算機(jī)圖形學(xué)中繪制直線的兩種常用算法。
計(jì)算機(jī)圖形學(xué)教學(xué)演示系統(tǒng)主要分為兩部分,分別是只需要兩個控制點(diǎn)和部分需要多個控制點(diǎn)。對于多邊形填充需要判斷構(gòu)成的多邊形是否合法,如果不合法則不能顯示。
3.1 計(jì)算機(jī)圖形學(xué)算法實(shí)現(xiàn)
本系統(tǒng)采用面向?qū)ο笏枷?,結(jié)合圖形生成任務(wù)和界面響應(yīng)任務(wù)相互獨(dú)立的策略,利用VC++的MFC類框架開發(fā)。由于學(xué)生具有VC++的程序設(shè)計(jì)基礎(chǔ),因此,降低了上機(jī)的難度。
系統(tǒng)主要有五大模塊:基本概念模塊、基本圖形元素生成與實(shí)現(xiàn)模塊、提高部分模塊、計(jì)算機(jī)動畫技術(shù)與軟件能模塊、練習(xí)模塊。本節(jié)就五大模塊的功能進(jìn)行詳細(xì)的分析與解說。
3.2 系統(tǒng)實(shí)現(xiàn)結(jié)果
本論文研究的《計(jì)算機(jī)圖形學(xué)》教學(xué)演示系統(tǒng)可對計(jì)算機(jī)圖形學(xué)中的算法進(jìn)行演示。通過設(shè)計(jì)和開發(fā)《計(jì)算機(jī)圖形學(xué)》教學(xué)演示系統(tǒng),生成圖形元素,并能跟蹤生成過程,生動形象。
計(jì)算機(jī)圖形學(xué)成功的應(yīng)用到社會發(fā)展的各行各業(yè),《計(jì)算機(jī)圖形學(xué)》課程是一門對理論和實(shí)踐要求都很高的課程《,計(jì)算機(jī)圖形學(xué)》教學(xué)演示系統(tǒng)不僅可以夯實(shí)學(xué)生的基礎(chǔ)理論知識,還可以培養(yǎng)學(xué)生解決實(shí)際問題的能力。開發(fā)的基于B/S模式的《計(jì)算機(jī)圖形學(xué)》教學(xué)演示系統(tǒng),具有演示圖形生成,同時(shí)查看相應(yīng)的算法的功能,并提供較全面的、便利的算法可視化學(xué)習(xí)和實(shí)驗(yàn)方法,能有效地幫助學(xué)生理解圖形學(xué)中較為抽象、復(fù)雜的算法,達(dá)到提高課程教學(xué)質(zhì)量的目的。
[1]李洪江,桂子娟.計(jì)算機(jī)圖形學(xué)在電力系統(tǒng)中的應(yīng)用[J].科技風(fēng),31111,11:68-69
[2]孔令德,計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(Visual C++版)[M].清華大學(xué)出版社,2008年4月
周雅翠,1962—,女,吉林省長春市人,本科,副教授,研究方向:計(jì)算機(jī)應(yīng)用技術(shù),計(jì)算機(jī)公共課教法研究。