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