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