前言:中文期刊網精心挑選了計算機圖形學課程范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
計算機圖形學課程范文1
關鍵詞:計算機圖形學;實驗;教學研討
中圖分類號:G642 文獻標識碼:B
計算機圖形學是一門理論與實驗并重的學科。從理論方面看,該學科主要涉及與圖形相關的概念和算法,和數
學、物理等相關學科的關系緊密,學起來有一定的難度。而實驗是理論教學的深化與補充,是抽象轉化為具體的方式,是晦澀難懂的公式變為活生生畫面的過程。通過實驗,不僅可以培養學生綜合運用所學知識解決實際問題的能力,而且對于建立學生自信心、培養學生興趣也起至關重要的作用。學生對該課程是既喜歡又擔心學起來難度太大,如何上好第一次課,改變學生的態度,如何安排教學內容和實驗環節,使學生既易于接受又能反映計算機圖形學的基礎知識和最新知識。本文針對這些問題,結合教學中的實際情況淺談一下自己的看法和體會。
1課程內容介紹
在多數人的印象中,計算機圖形學和其它專業課相比較,數學公式太多,難以學習和理解。但是由于它的諸多應用非常具有吸引力,尤其它是大家所感興趣的游戲和動畫的基礎,很多學生又想接觸它。如何加強學生的這個念
頭,第一次課非常關鍵,它在很大程度上決定了學生是否選學這門課。圖形學的理論雖然抽象,但是所表示的內容卻形象,可以以此作為突破口。我們知道被稱為“圖形學之父”的Sutherland博士論文答辯時,將所研究的內容制作一部電影,邊放映邊講解,大獲成功。所以我覺得可以從一個動畫短片或游戲片段出發,將所涉及的圖形學知識融會貫通起來。因為在沒學習圖形學之前,學生很難建立圖形學知識和游戲動畫之間的聯系。他們只知道圖形學理論很抽象,游戲動畫很容易吸引學生眼球,而且也知道它們之間的關系很緊密,但具體有什么聯系卻不是很清楚。我們可以從此出發,引出圖形學的相關知識,讓學生在不知不覺中了解圖形學,接受圖形學。這樣輕松建立了相關知識點與實際應用的聯系,也解答了學生學有何用的疑問。
現以動畫短片《棋逢敵手》(Geri's Game)為例來說明如何引出圖形學內容。該短片講述的是Geri老頭在公園跟自己下棋的事,故事情節生動,動畫效果惟妙惟肖,很具吸引力。學生非常感興趣,這是怎么做的,采用什么技術,Geri老頭是怎么得到的等等一系列問題。我們便可以問題為導向一一解釋給學生。Geri老頭采用的是一種稱為Catmull-Clark的細分曲面造型技術,在造型之前需要準備數據,所謂巧婦難為無米之炊,一般這樣的數據是先建立一個實物的模型,然后通過三維激光掃描儀獲取的。三維掃描儀掃描實物的表面數據,其數據量大,而且帶有噪音,所以需要做去噪,簡化等處理。簡化后得到Geri老頭的表面骨架,然后再采用細分曲面造型技術獲取光滑逼真的模型。細分造型是一種逐層加細技術,如圖1所示,圖1(a)-(c)是不同層次的效果。從中可以看出圖(c)圖形的光滑效果最好,而圖(a)最差。但是圖(c)的數據量最大,這就需要根據不同情況選擇不同的圖形,如圖2所示,當圖形距離我們較遠時可以選擇精度不高的(a)圖形,而較近時選擇(c)圖形。在游戲動畫方面,對速度要求高,而對圖形逼真性的要求相對低,這時可以選擇數據量小的圖形。這樣通過圖形展示給學生以感性的認識,一方面易于接受,易于理解,另一方面也能增加學習的興趣。另外,形象逼真的圖形采用真實感繪制技術,場景遠近變化利用了圖形變換的知識等等。一個短篇,基本上把圖形學的相關內容都包括了,我們還可以再結合其它一些具體生動的圖形動畫介紹給學生。實際上,在圖形學授課的各個環節,為了調節枯燥的數學公式,都可以演示一些相關內容的圖形,也所謂的多媒體教學,在這方面,圖形學應該更有優勢。
2理論與實踐并重
對計算機圖形學這樣的專業課而言,理論的學習離不開實踐,實驗是非常重要的一個環節。抽象的理論,乏味的數學公式,如果不和實驗結合,學生是體會不到學習樂趣的。通過實驗,所學的知識得以鞏固,枯燥的算法與生動的圖形之間建立聯系。學生的興趣也是通過實驗建立起來的。每次實驗報告,我都會要求學生寫下心得體會,從報告可以看出,多數學生能夠在實驗中找到快樂,能夠通過實驗建立自信心,成就感。他們說做實驗很受鍛煉,知識掌握的也更牢固。當然有的學生也提到,做實驗是一件非常辛苦的事情,特別是沒有思路或者找不到錯誤時,真的很痛苦。但是成功后的滿足,特別是做出來的那一瞬間,那種心境別人無法體會。
由于計算機圖形學是專業限選課,學時不多。我們一般安排32個上課學時和16個實驗學時。為了增加學生的知識面,我們的實驗是在Sun工作站Solaris操作系統下采用gcc編譯器進行,編程時調用OpenGL庫中的圖形函數。通常安排4個學時熟悉這些內容。這樣根據剩余學時安排五個小實驗:直線生成、裁剪、幾何變換、曲線生成以及真實感圖形繪制,還有一個綜合性實驗:做一個簡單的圖形系統。題目的要求隨著難易程度變化。直線生成算法比較簡單,學生編寫的程序應具有通用性,適用于任何直線。裁剪算法是為了確定顯示區域內的圖形,實驗一般要求實現線段裁剪算法,算法易于實現,考慮到易操作性,采用交互式的畫線方式,即以鼠標點擊繪圖區的位置確定線段的起點和終點,其中涉及消息映射和屏幕坐標到世界坐標轉化等相關知識。幾何變換幾乎在每個圖形系統或圖形應用軟件都有使用,其主要包括旋轉、平移、縮放以及復合變換等內容。學生對三維圖形更感興趣,尤其是較復雜的圖形。在做該實驗時,通常先介紹一些三維圖形的相關知識,包括幾何圖形表示、存儲形式以及讀文件操作等,一般以簡單的OBJ數據文件為例。然后讓學生實現三維圖形的幾何變換。另外,考慮到該實驗包括幾個操作,增加了菜單選擇功能。曲線曲面也是圖形學的核心內容,生成方法有兩種:一種是逐層遞推的方法,另一種是根據參數曲線定義。學生根據自己的理解選擇不同的方法實現。在曲線生成的基礎上,增加鼠標拖動控制點改變曲線曲面形狀的功能。真實感實驗是為了增加學生學習的興趣,通過調用OpenGL的庫函數做出一些漂亮的效果,讓學生感覺到圖形學功能很強大,一些看似復雜的效果實現起來也簡單,只需調用OpenGL中現成的庫函數。綜合性實驗報告我也鼓勵學生做一些自己感興趣的東西,比如有的學生對游戲很感興趣,基礎也較好,想做一個小游戲,我是完全許可的。應該來說,安排的實驗任務重,覆蓋內容多,在有限學時內完成這些實驗是不可能的,需要學生在課外做許多準備工作。而且,有些知識點較難,學生難以消化。針對這種情況,實驗部分也分了解和掌握兩種情況,這樣做的一個目的就是想增加學生的知識面。
3教學內容安排
計算機圖形學知識更新快,內容深而廣,如何在有限的學時內安排教學內容,使講解的知識難度適中,既兼顧基礎知識又可以反映計算機圖形學的最新成果和技術,同時,既兼顧理論又兼顧實驗。另外,在學生可以接受的情況下盡可能介紹三維知識。
我們的教學內容主要分這幾部分內容:光柵圖形學,圖形變換,幾何造型,真實感圖形繪制。而且,各部分內容貫穿OpenGL的相關知識。前兩部分比較基礎,內容相對簡單,課時盡可能安排緊湊,理論講的相對深入。但是對于幾何造型,尤其是曲線曲面造型部分,內容的深淺需要根據學生情況來把握。曲面難度較大,一般只介紹大致的思路及做一些演示。對于曲線,如果講得比較深入,對于基礎不好的學生來說也難以接受。我曾嘗試采用分段多項式的形式推導B樣條基函數,不少同學聽得很費力,甚至影響后面知識的學習?,F在講這部分內容時,我只是介紹基函數的由來,告訴學生基函數是根據曲線的性質和定義推導出來的,不是隨隨便便指定的,這樣學生比較容易接受。實際上,無論Bezier曲線或B樣條曲線,都是曲線造型技術中的經典算法,但也存在缺點。目前比較流行的曲線造型技術是細分算法,它有很多很好的性質,如多分辨率,應用簡單等。由于其比較新,很多教科書中尚未介紹。一般我從應用層的角度將三次B樣條細分和四點插值細分等典型算法介紹給學生,介紹他們的特點以及實現技術。真實感圖形繪制部分,涉及數學、物理、心理學等方面的知識,理論較深,不太適合本科生學習。但由于其做出來的圖形太漂亮,很具吸引力。而且,用OpenGL的庫函數實現并不難,所以這部分內容我一般是介紹一些基本概念,然后做一些程序演示。一方面增加學習的興趣,另一方面讓他們意識到,有些知識盡管理論比較深,但由于有現成的類似OpenGL庫函數這樣的技術支撐,也容易實現。很多東西并不是想象的那么神秘,那么可怕。
4結語
計算機圖形學是一門理論內容深,應用范圍廣的課程。本文就如何組織教學內容談了自己的見解和體會,目的在于提高學生學習興趣,讓學生在易于接受的情況下學到更多有用的知識。實踐表明方法具有一定的可行性,普遍學生反映,通過課程的學習體會到了圖形學的博大精深,增加了圖形學的學習興趣。但也有部分同學感覺有些內容講解不夠深入,難以理解。所以,如何在有限的學時內更好地組織教學,還有待進一步探討。相信通過學習、思考和實踐可以做得更好。
參考文獻:
[1] 唐榮錫,汪嘉業,彭群生. 計算機圖形學教程(修訂版)[M]. 北京:科學出版社,2000.
[2] 周開進,王志剛. 計算機學科與數學的強相關性及其對專業教育的影響[J]. 中山大學學報論叢,2002,(6).
計算機圖形學課程范文2
>> “計算機圖形學”教改研究與實踐 “計算機圖形學”課程教與學 計算機圖形學實驗課程改革探討 “計算機圖形學”課程建設探究 計算機圖形學課程教學思考 論“計算機圖形學”課程的學習 “計算機圖形學”課程教學探討 計算機圖形學課程雙語教學感想 計算機圖形學的發展及應用 《計算機圖形學》教學探索與實踐 計算機圖形學教學與實踐 淺析計算機圖形學、計算機視覺與可視化技術 計算機圖形學與圖形圖像處理技術探討 計算機圖形學與圖形圖像處理技術淺析 計算機圖形學與圖形圖像處理技術 信息與計算科學專業計算機圖形學課程教學改革實踐 面向游戲開發方向的“計算機圖形學”課程建設探討 信息與計算科學專業《計算機圖形學》教學之探討 系統案例教學方法在計算機圖形學課程中的應用 《計算機圖形學》課程雙語教學實施的研究 常見問題解答 當前所在位置:.
[3] 孫迪,余勝泉. 建構基于學習對象的網絡課程教學設計模板[J]. 開放教育研究,2005,11(2):71-77.
The Exploitation and Application Research of Web-based Course of Computer Graphics
DU Hui, SHU Lian-qing
(ZheJiang institute of media and communication, Hangzhou 310018, China)
計算機圖形學課程范文3
關鍵詞 計算機圖形學;圖形學理論教學;圖形學實踐教學
中圖分類號:G642.44 文獻標識碼:B
文章編號:1671-489X(2016)04-0162-03
Teaching Research of Theory and Practice in Course of Com-puter Graphics//LIAO Bin, HU Jinlong
Abstract Through analyzing the main problems in the course of computer graphics, the teaching reform of the computer graphics course is proposed about theoretical teaching and practical teaching. We divide the course of computer graphics into theory course and practice course, and make the theory course of computer graphics become the pre-course for the practice course of computer graphics. Students’ learning interest is stimulated and their ability to contact the theory with practice is improved through integration the theory and practice of the computer graphics course.
Key words computer graphics; graphics theoretical teaching; graphics practical teaching
1 引言
計算機圖形學是研究如何利用計算機生成、處理和顯示圖形的原理、方法與技術的一門學科[1]。它以圖形用戶界面和可視化技術為典型應用,是信息技術中不可缺少的部分。近年來,國內外大學逐漸將其列為計算機應用類課程中的專業課。現在,計算機圖形學已經在諸如影視動漫、軍事仿真、醫學圖像處理、氣象等科學可視化領域獲得成功運用,在帶來經濟效益的同時,也給計算機圖形學的發展提供了機遇與挑戰。
本文通過分析計算機圖形學傳統教學中存在的問題,提出改革思路。在教學中,將課程設置為理論教學與實踐教學兩門獨立課程,針對理論教學與實踐教學分別進行教學設計,轉變傳統教學中實驗教學的附屬性質,使理論知識為實踐教學鋪路,增強教學效果,促使學生積極動手操作、思考,促進新舊知識的結合,通過教學過程的探索與總結,增強計算機圖形學的教學效果。
2 計算機圖形學課程教學中存在的問題
傳統的計算機圖形學教學重點一般側重于考核學生對知識點的掌握[2],課程實踐所占比例較低。然而計算機圖形學課程本身的特點不適于傳統的教學模式,若仍采用傳統教學模式,不僅不利于維持學生的學習興趣,更不利于學生發現問題、解決問題能力以及創新能力的培養。
計算機圖形學教學內容與學生的學習興趣 傳統的計算機圖形學內容主要有[3]計算機圖形系統概述、二維圖形生成和變換技術、三維圖形生成和變換技術、真實感圖形生成技術、計算機動畫技術與實踐。該課程入門階段需要的數學知識主要涉及代數、三角學和線性代數,數學原理與圖形的結合在理論教學中占據了一定比重。
傳統的計算機圖形學教學目標側重于培養學生對計算機圖形學理論知識的了解與掌握,在教學內容的設置上主要強調圖形學知識、概念的系統性與整體性,重點是概念解釋與原理講解,體現為大量的公式推導。
未進入圖形學教學前,學生對該課程的理解主要分為兩類:一類認為該課程主要講述游戲開發,學完本課程后就可立即完成諸如游戲編程、動畫設計、特效處理等任務;另一類認為是藝術設計,主要為廣告傳媒等行業服務。實際上,在本科階段開設的計算機圖形學課程,通常立足于計算機圖形學科的入門,教學內容主要是理解與掌握基本的圖形繪制原理及其實現算法,能進行基本圖形的程序設計。由此,圖形學課程認知的不全面將導致學生學習興趣的下降。學習內容的枯燥、教學內容與現實應用的巨大落差會導致部分學生的學習興趣隨課程的深入而進一步下降。
計算機圖形學課程實驗的設置 計算機圖形學的實驗內容主要集中于基本圖形算法的實現,需要學生運用高級程序語言進行編程,然而作為專業基礎課程學習的此類高級程序設計課程,往往以基本知識、程序設計、數據組織三方面為主要內容,一般不涉及圖形庫編程接口(API)。這導致在本課程的實驗教學時,需要針對授課學生原先所學的高級程序語言,補充對應的圖形庫編程知識,這使得實際的有效實驗學時被縮減,而且增大了學生實現算法的難度,以至于進一步加劇了理論與實踐脫節的現象。
3 理論教學與實踐教學的改革方法與目標
在大學本科第7學期開設計算機圖形學課程,并將其分為理論課與實驗課兩門課程,兩門課程單獨核算成績。其中,理論課為32學時,2.0學分;實驗課為16學時,0.5學分。在理論課程完成后開始實驗課程,計算機圖形學的實驗不再是傳統教學中對理論課上知識點的簡單重復與驗證,而是對所學知識的綜合運用與深化。由此,需要合理選擇理論課教學內容,以完成與實驗課程的銜接。同時,設計合適的實驗項目使學生掌握課程基礎知識,提高學生的動手能力,以提升計算機圖形學的教學質量。
理論課教學內容設計 計算機圖形學技術在快速發展,與之相適應,圖形學課程的教學也發生變化[4]?,F階段,在計算機圖形學教學中主要有3種教學體系,大致分為理論為主、編程為主、問題為主。
1)理論為主是傳統的教學體系,強調對計算機圖形學理論的理解與掌握,以公式推導為主要呈現方式,國內外此類教材有Floey的《計算機圖形學原理及實踐――C語言描述》(原書第2版)、孫家廣的《計算機圖形學》等。
2)編程為主的教學體系側重于培養學生初步掌握一種典型的圖形學API,以圖形學使用者的角度講授計算機圖形學所需的理論與概念,去除非必需的數學原理與公式推導。國內外此類教材有Donald的《計算機圖形學》(第四版)、徐文鵬的《計算機圖形學基礎(OpenGL版)》等。
3)問題為主的教學體系的教學目標著重于培養利用計算機圖形學知識建立與用戶交流的能力,從而實現問題的圖形化建模并解決問題。相應的教學內容既涵蓋了圖形學中的基本概念和技術,也涉及了實現這些概念和技術的圖形學工具,然而重點在于介紹如何使用計算機圖形學知識來解決實際問題以及如何有效地進行結果展示。Steve Cunningham的《計算機圖形學》是此類教學體系的典型教材。此類問題為主的教學體系近年來在美國興起。
在本科教學中,考慮到學生前期課程的設置與掌握情況,采用結合OpenGL實現算法的編程為主的教學體系。在實際教學中,既要保證計算機圖形學基本概念、理論的完整講述,也為后續的實踐課程做鋪墊,有針對性地介紹圖形支撐軟件,使學生在掌握圖形學基本知識的同時,能夠在一定程度上自主實踐,保持與激發學生的學習興趣。
實驗課教學內容的設計 計算機圖形學傳統教學中的實踐一般使用C++來實現相關算法[5],實現難度過大,導致學生沒有時間和興趣去完成[6]。實踐教學的本意是對理論教學的鞏固、完善與提高,為實現理論與實踐教學的平穩銜接,在實踐教學環節中采用OpenGL作為圖形算法接口,讓學生有針對性地完成若干實驗項目。
OpenGL是一個工業標準的三維計算機圖形接口軟件,其具有的功能基本上涵蓋了圖形系統要求提供的所有功能。此外,OpenGL具有的跨平臺性、可擴展性、繪制專一性、網絡透明性等特點使其應用廣泛,降低了對學生編程能力的要求,且由于其開源的特性,使得學生可通過參考其中的算法實現獲得編程能力的提高。
結合圖形學的實際應用與學生的實踐能力,設置如表1所示的實踐項目。
4 小結
計算機圖形學隨著計算機理論與技術的進步、社會應用的需要而有了迅速發展,是理論與實踐并重的學科,對教學有較高要求。本文從計算機圖形學的學科特點出發,分析了計算機圖形學傳統教學中存在的問題,提出將理論與實驗相融合的教學思路,改變傳統教學中實驗教學的附屬地位,從實踐的角度出發,在理論教學中進行概念、理論向實踐的平穩過渡,一定程度上降低了學生完成課程實驗的難度,激發了學生的學習興趣。從教學效果來看,本文提出的教學方法取得較好的成效,同時對計算機專業的類似課程也具有一定的參考意義。
參考文獻
[1]徐文鵬,王玉琨.計算機圖形學基礎(OPENGL版)[M].北京:清華大學出版社,2014.
[2]杜利峰,李竹林.基于OpenGL的計算機圖形學教學改革探索[J].電子設計工程,2012(13):6-8.
[3]王汝傳,黃海平,林巧民,等.計算機圖形學教程[M].3版.北京:人民郵電出版社,2014.
[4]劉貴松,房秀芬,陳文宇.基于計算思維能力培養的計算機圖形學知識體系[J].實驗科學與技術,2015,13(2):
160-162.
計算機圖形學課程范文4
摘要:本文分析了“計算機圖形學”課程的學科特點和當前的教學形式,指出了當前教學過程中所面臨的問題,從而提出了一些新的教學思路和方法。實踐表明,這些方法對提高課程的易理解性、學習趣味性和教學質量有明顯的作用。
關鍵詞:計算機圖形學;教學改革;教學實踐
中圖分類號:G642 文獻標識碼:A
“計算機圖形學”是大部分院校計算機專業或相關專業中的一門重要課程。本課程的教學目的是使學生掌握計算機圖形系統軟硬件技術以及圖形生成、處理、輸出的基本原理和方法,培養學生利用計算機解決圖形問題的程序設計能力,為開發圖形軟件打下必要的基礎。
1計算機圖形學的教學現狀
計算機圖形學是建立在傳統的圖學理論、現代數學和計算機科學基礎上的一門新興學科。該學科綜合了計算機科學、數學、物理學等其它相關學科的知識,而且學科發展日新月異,新的應用領域不斷拓展,這使計算機圖形學具有學科內容豐富、理論性強、算法眾多、實踐性強這幾方面特點。
學科內容豐富和理論性強造成該課程講授起來比較枯燥;同時,傳統地講授教材上的理論將使學生感到該課程難于理解、難學、學習積極性和主動性受到影響,整個學習過程基本是被動接受。
目前,國內的計算機圖形學課程教學基本取材于幾本經典的教科書,這些教科書重點講述計算機圖形學的算法。許多算法為了追求高效率從而精益求精,算法本身構思獨特且實現精巧,但也導致了算法本身及其實現都難于理解;而且傳統的授課方案側重于強調算法實現的數學基礎。這種強調圖形算法基礎的教學方案適合于數學基礎優秀的學生,但對本校這樣的工科類院校,學生往往被一些必須掌握的算法所困擾,從而對該課程產生畏難心理。
計算機圖形學這門課程實踐性強的特點則要求學生具有較強的動手操作能力和編程能力,從另外一個方面來說,要求老師有更強的實踐能力。如果理論與實踐互動性不夠,容易造成學生實踐動手能力薄弱。
通過以上分析,可以看出在計算機圖形學中采用傳統的課堂上講授理論,課下讓學生去做實驗的教學方式很難達到預期的教學效果,急切需要探討新的教學思路和教學方法。
2計算機圖形學課程的教學改革
本校針對現有教學中的不足,在總結多所知名大學在該門課程教學經驗基礎上,制定了計算機圖形學的教改目標和教改方案,具體認識和做法如下。
2.1教學內容的組織
以教學大綱為依據,從學生的實際情況出發,以課堂講授為主,上機實驗為輔的方式組織教學內容。其中課堂講授48學時,上機實驗16學時。以講清基本原理和概念為第一目標,以培養學生圖形學算法的設計能力、圖形軟件的開發能力為原則,合理安排課堂教學內容。
根據學生的接受程度,教學內容首先注重基礎,強調基本概念、基本原理;其次突出重點,對一些要求掌握的算法,要仔細分析,強調其基本思想。只要算法的基本思想掌握了,算法的實現就容易理解,對相關算法就可舉一反三、觸類旁通;再者教學內容中應該介紹一些當前的研究熱點,使學生了解學科發展情況,也同時增加課堂教學的趣味性;最后在教學內容中應該注意理論與實用軟件之間的關系,適當介紹計算機圖形學理論、算法在流行的圖形設計和動畫制作軟件(如AutoCAD、3DMAX等)中的應用,促進理論學習和實用軟件使用之間形成互動。
根據以上原則,本校在2005屆計算機專業本科生中,采用了清華大學出版社出版,孫家廣主編的《計算機圖形學》作為基本教材。同時引進國外一流大學的先進教材Donald Hearn, M. Pauline Baker編寫的Computer Graphics(C Version)作為教輔資料,其中引用了一些最新的圖形學研究成果,在彩頁中體現了幾乎亂真的圖形效果。
2.2教學方法的選擇
在講授必須掌握的基礎算法之前,強調啟發式教學,提出課前思考題。這些思考題可以引導學生預習和自學,減輕課堂負擔,使課堂教學目標清晰,任務簡化。如在講授多邊形裁剪算法之前,應思考多邊形由線段構成,是否可用已學過的二維線段裁剪算法逐邊裁剪多邊形?如果不能,原因如何?應如何解決?
在講授同類算法之后,對解決同一問題的算法進行比較,強調對比性學習。如區域填充中,應對漫水法填充、邊界填充算法、掃描線種子算法進行比較,說明其相同之處皆為在填充過程中搜索新種子點,不同之處在于搜索新種子點的方法不同。通過對比學習,學生在學習過程中不再孤立學習一種算法,而是同時掌握一類算法,為后續的掃描轉換填充算法打下基礎。
2.3教學手段的應用
在計算機圖形學課堂教學過程中,本校采用多媒體教學與傳統教學方式相結合。為了充分發揮圖形圖示、動畫演示的作用,主講教師精心制作了計算機圖形學多媒體教學課件。在該多媒體教學課件中,對教學內容的各個知識點間用超鏈接進行鏈接,引入音頻、視頻等媒體信息,既增加了教學內容的連貫性,又使課堂教學變得生動有趣。
為了合理利用網絡,拓展教學空間,主講教師開設了自己的個人博客,在網上列出與課程相關的權威網絡資源。在保留傳統的面對面交流的基礎上,學生可以通過網絡與教師、同學討論問題;教師則可以根據學生的反饋意見,及時了解學生的學習現狀,調整下一步的教學方式。
除了網上討論答疑外,教師根據學生的意見還采取了MSN、QQ 等學生喜愛的交流方式。通過這種網上交流,一方面使同學們不知不覺中利用課余實踐學習鞏固了圖形學知識,擴展了知識面;另一方面也兼顧了圖形學的教學大綱和同學們的興趣。一般說來,教學大綱強調基本的概念算法,而學生則對如何生成各種漂亮的圖形效果感興趣,將如何基于圖形學算法使用工具軟件生成圖形效果的資料放在網上,在課堂上就可以集中精力講授算法理論。通過網上交流,給學生提供了一種獲取知識的新渠道,這對于剛讀完兩年大學,已初步具備自學能力的大三學生而言,效果較好。
2.4上機實驗的分配
計算機圖形學涉及大量圖形造形、圖形生成和變換的算法,上機實驗必不可少,應該結合課程特點設計實驗內容,強調學習、研究和實驗的有機結合,鼓勵創新性。通過實驗,發現問題,解決問題。
本校根據學生的實際情況,把實驗環節分為必做的課內驗證性實驗、課內設計性實驗、選做的課外創新性實驗,并且要求學生將自己實現的各類圖形算法統一到一個整體框架中。到課程結束時,每個學生都完成了一個具有自己特點的小型交互型計算機圖形系統。在這個過程中,學生不僅學習了計算機圖形學的各種算法,而且培養了學生的學習興趣。
在上機實驗過程中,由于本校學生在開設計算機圖形學這門課程之前并沒有學習過GUI編程,往屆學生的上機實驗都是基于Turbo C環境下的編程練習。由于TC的陳舊性和古板性,多數學生對它并不感興趣,因此在2005屆學生上機實驗之前,本校教師將計算機圖形學中的上機實驗移植到VC、VB、C++ Builder等可視化的編程環境上來。這一方面讓同學們學習編程時有與時俱進的感覺,另一方面又能學到新的內容。
2.5算法演示系統的設計
計算機圖形學算法中涉及到較復雜的公式推導,在理解算法時要求有比較強的空間想像能力。為了幫助同學們更好地理解算法,本校組織畢業生在主講教師的幫助下制作了“計算機圖形學算法演示系統”,該系統利用Visual C++ 6.0結合OpenGL進行開發。
由于該系統主要用來進行輔助教學,而一般程序實現速度快,且操作的像素人眼看不見,這樣的程序用于課堂講解,雖然可以提高同學們的學習興趣,但同學們看不到算法的具體實現過程。為了解決這個問題,本系統以放大的可見點模擬人眼看不見的屏幕像素,并且以動畫的形式完成計算機圖形學中各種算法的實現過程。系統中每一種算法都被設計為一個獨立的類,各種算法根據其分類被組織在相應的菜單下,通過菜單調出設置參數和控制程序的對話框。采用該算法演示系統后,在學習相關算法時,同學們可以清楚地看到算法的分步執行結果,幫助同學從直觀角度理解各種抽象算法,極大地提高了學生的學習興趣,增強教學效果。
2.6課后習題的安排
課后習題對于幫助學生預習和自學, 激發學生興趣等方面有重要作用。由于計算機圖形學這門課程的特殊性,課后習題較少,因此根據課程教學需要,在參閱著名計算機圖形學教材的基礎上,本校教師經過收集整理,設計編寫了教學輔助材料《計算機圖形學習題集》,目前已基本成型,并在2005屆學生中試用。
在設計習題的時候要精心設計和選擇,特別避免作業形式單一、難度較大,否則就會使學生產生畏難情緒。注意循序漸進、難易適度。注重基礎,注意多層次(如基礎知識、算法設計和綜合應用題等)、多形式(如判斷題、選擇題、填空題、簡答題、算法設計題和綜合應用題等),使學生得到全面的訓練。習題應注意啟迪學生的思維, 培養獨立思考的能力。
在每章習題的最后,都是這章內容的學習小結,要求學生回答:通過這一章的學習,掌握了哪些知識?哪些沒有聽懂?對老師有沒有更好的建議等等。字數不限,但必須回答。從教師的角度出發,這種小結有利于了解學生的心理動態,了解自己的授課得失,有利于進一步改進教學質量;從學生的角度出發,這種小結客觀上促進了學生進行課后復習,鞏固了課堂效果,而且內容靈活,可長可短。
2.7教學過程的考核
重視教學的過程化管理與考核是保證教學質量的重要手段。對課堂、作業、實驗等環節進行有效的管理,及時發現和糾正每一環節中存在的問題。應該在過程中解決教學中的問題,不能讓其積累起來,避免學生感到課程的難學,以致學習積極性下降。
過程化管理和考核體現在評定學生的課程成績時,全面考核各重要教學環節(如上課、作業、上機實驗、期末考試等)的學習情況,應充分重視平時的學習情況,鼓勵在平時作業、上機實踐中獨立思考,并有所創新的學生。對于平時作業,上機實驗中存在的抄襲現象,教師要求學生用電子郵箱提交作業,兩份完全雷同的作業,按照提交時間先后次序判斷抄襲者。對于上機過程中,第一個完成的同學或者實現方法有所改進的同學都給予加分獎勵。每次作業、上機實驗都要給出等級,各環節的學習情況都有逐一的評定成績,并按比例記入到課程的總成績中。
3小結
通過本校2005屆教學效果和往屆學生教學效果的對比分析,在試卷難度相同的情況下,2005屆計算機本科生圖形學考核平均成績提高5%,且成績分布更趨向正態分布;網上評教系統表明,在2005屆本科生中,學生對計算機圖形學的畏難心理有較大的降低,僅有一人反映學習過程中聽不懂,難度很大,這說明學生的學習興趣和學習信心有一定的提高。從對比結果可看出本文所提出的方法有一定的實效,同時對其他課程也有一些參考意義。
參考文獻
[1] 唐澤圣. 計算機圖形學基礎[M]. 北京:清華大學出版社,2003.
[2] 吳元斌. “計算機圖形學”教學的幾點體會[J]. 安康師專學報,2004,(16):119-121.
[3] 孫家廣. 計算機圖形學[M]. 北京:清華大學出版社,1998.
[4] 楊長強. “計算機圖形學教學演示系統”的設計與實現[J]. 教育信息化,2006,(3):41-43.
Research and Practice of Teaching Reformation of Computer Graphics
Duan Jiang
(College of Information Science and Engineering, Nanjing University of Technology, Nanjing 210009, China)
計算機圖形學課程范文5
摘要:“計算機圖形學”是計算機專業的一門非常重要的基礎課程,但在教學中存在很多問題,本文總結了兩種結合方式的教學方法,分析和探討了其在教學中的應用。
關鍵詞:計算機圖形學;教學方法;教學與實驗
中圖分類號:G642
文獻標識碼:A
1引言
“計算機圖形學”在計算機科學與技術專業的一門基礎課,其課程涉及圖形硬件設備、圖形系統、交互技術、基本圖形生成算法、幾何變換、真實感圖形生成等內容。在筆者的教學實踐當中發現教學過程中普遍存在以下兩個問題。
1.1理論知識掌握方面
由于“計算機圖形學”具有較強理論性,部分算法比較抽象不易理解。所以學生在學習的時候很難將抽象算法與具體的三維圖像結合起來,經常表現出畏難情緒。
1.2實踐能力培養方面
由于“計算機圖形學”課程的教學主要精力放在了圖形的基本概念和算法原理的講解上,上機實踐環節滯后;另外,現在大部分的教材中仍然是以Turbo C作為上機實習的平臺,但是由于Turbo C再實際應用中早已不作為開發工具使用,學生并不能夠在實驗中獲得未來就業環境下真是需要掌握的編程知識,需要二次學習才能適應社會的需求。
針對以上問題,給出以下解決方案。
2理論講解與具體開發工具的使用相結合
圖形通常由點、線、面、體等幾何元素和灰度、色彩、線型、線寬等非幾何屬性組成。如何在計算機中表示圖形以及利用計算機進行圖形的計算、處理和顯示的相關原理與算法,構成了計算機圖形學的主要研究內容。目前,大部分《計算機圖形學》教材都是以計算機圖形學的基本概念、基本理論、基本原理及經典算法作為主要內容,以豐富學生的基礎知識,培養學生的獨立研究能力。然而,在微型計算機日益普及的今天,隨著計算機科學及技術的發展,出現了很多功能完善的圖形軟件標準和圖形軟件,如何利用他們培養學生的學習興趣,提高實際應用的能力,則是當今教學的重點。
為了能夠更加廣泛地接觸和學習圖形軟件,筆者在以Turbo C語言作為開發工具來介紹基本圖元的經典畫法的同時,將OpenGL引入到計算機圖形學的學習中。
OpenGL是近10年來發展起來的一個性能卓越的、通用共享的三維圖形標準,已得到廣泛應用。OpenGL提供十分清晰明了的圖形函數,所以圖形繪制可以通過它的各種函數來實現。OpenGL具有標準型、穩定性、可擴展性、可縮放性、易用性、可靠性和可移植性等特點。與其他圖形程序包相比,OpenGL應用程序代碼行數少,又封裝了有關基本硬件的信息,因此在很多領域都得到廣泛的應用。
在教學過程中,為了讓學生對“計算機圖形學”中所講解的知識能夠更好的理解和掌握,可以從三個步驟來進行講解:
2.1理論講解――基本概念、原理及算法
理論講解過程中,我們可以把OpenGL與之結合起來。例如:我們在講解直線的掃描算法時,首先介紹經典的中點繪制直線算法和Bressman算法,通過這兩個算法的原理的介紹可以使學生了解到在計算機中怎樣以像素作為處理單位來實現直線的繪制。然后,我們可以介紹一下OpenGL中對直線進行繪制的方法,從而體會兩種開發工具的相同和不同之處:
(1) Turbo C:Bressman算法實現直線的繪制
voidBresenham_Line (int x1, int y1, int x2, int y2,int color)
{
intx, y, dx, dy, dk, i;
dx = x2 C x1;dy = y2Cy1;dk = dy C dx;
x = x1;y = y1;
for (i = 0; i
{ putpixel (x, y, color);
x=x + 1;
if(dk
dk=dk+2*dy;
else
{y = y + 1; dk = dk +2*dyC 2 * dx; }
}
}
(2)OpenGL實現
glBegin ( GL_LINES );
glColor3f(1.0,1.0,0.0);
glVertex2f(-11.0,8.0);
glVertex2f(-7.0,7.0);
glEnd();
在Turbo C中需要具體的算法和參數實現對像素逐個處理從而形成一條直線;在OpenGL中我們只需要給出直線的坐標、屬性的數據就可以得到一條直線了。這樣學生就可以了解到直線的繪制原理,以及在實際開發中具體實現發法,有效地把理論知識與實際應用結合起來,達到了較好的教學效果。
2.2多媒體演示――各種圖元、概念、算法的實現和變化過程
由于“計算機圖形學”這門課程中的很多理論知識比較抽象不容易理解,特別是需要學生具有較好的三維空間的立體感,才能更好的理解所學的知識,例如對坐標變換、投影變換等部分的概念的理解,對很多學生來講都很難理解,為了達到更好的教學效果,可以將OpenGL引入到課程學習中,通過OpenGL的對應函數的多媒體演示,幫助學生更好地掌握這部分知識。在介紹了基本的變換中的平移變換、縮放變換和旋轉變換的概念時,在計算機圖形學中我們一般是通過二維的圖形來幫助學生理解,如圖1~3。
OpenGL多媒體演示見圖4。
在OpenGL中分別使用glTranslatef()來表示平移變換,三個參數分別表示在三個坐標平移的距離;glRotatef()用來表示旋轉變換,一個參數表示旋轉地角度,另外一個參數表示旋轉軸的坐標;glScalef()表示縮放變換,三個參數表示在三個坐標軸方向的縮放比例。這里,通過多媒體可是課件,通過鼠標來控制參數的值,根據參數值的變化,顯示效果也會隨之變化。通過這種三維的動態多媒體課件的演示,可以使學生更好的理解三種變換,同時對OpenGL中對應的函數及其參數的具體含義有了更好的掌握。
2.3具體應用――原理算法的具體應用
在完成前兩個步驟的基礎上,可以通過一些小的應用程序或游戲程序的演示,將其中對應的圖形繪制方法的應用提煉分析出來,這樣可以使學生對所學知識的具體應用有較直觀的認識,為其將來的進一步學習和實踐打下基礎。
3教學與實驗相結合
“計算機圖形學”是一門實踐性很強的課程,但在目前,普遍存在的現象是“計算機圖形學”課程的理論教學內容存在著一定孤立性,與上機實踐聯系并不緊密;因此,有必要加強學生動手能力的培養。為了確保計算機圖形學課程的教學質量,應該選用目前市場上比較流行的圖形開發環境作為學生的實踐環境,同時也要注重課堂知識的消化,因此理論知識的對應實驗也不能輕視。筆者認為應將兩者有效地結合起來才能達到更好的效果。
為了能夠幫助學生更好地理解理論知識,更好地提高動手能力,實驗部分可以分三部分進行:
(1) 基礎實驗:主要完成各種理論講解過程中學習的代碼實現,編程環境為Turbo C。
(2) 提高實驗:以Visual C++ 和OpenGL作為開發環境,進行實踐動手能力的培養和訓練。
(3) 體驗實驗:以3D Max作為開發環境,進行圖形圖像軟件開發的體驗實驗。
基礎實驗可以幫助學生更好地理解基本的理論和各種基本圖元的經典算法。
提高實驗可以提高學生理論聯系實際的能力,能夠使學生更多地接觸實際開發中所使用的工具和開發環境,為將來的工作打好基礎。
體驗實驗中的3DMax是圖形開發的具體產品,通過對其的使用和接觸,可以讓學生感知到計算機圖形學的應用情況。
通過基礎實驗、提高實驗和體驗實驗的結合練習,不但可以提高學生的編程能力,而且加深了學生對所學知識的了解和認識,使學生對“計算機圖形學”的實際應用有了感性的認識。
4結語
“計算機圖形學”是計算機學科的主要基礎課程之一,但由于各種原因,學生學起來有一定的難度,這給授課的教師帶來相當大的挑戰?!坝嬎銠C圖形學”的教學是一個復雜的系統工程,它會涉及到諸多方面的問題,以上所述僅僅是筆者授課過程中得粗略總結,有不妥或不足之處,敬請大家批評指正。
參考文獻:
[1] 張曦煌,杜俊俐. 計算機圖形學[M]. 北京郵電大學出版社,2006,8.
[2] OpenGL體系結構審核委員會等. OpenGL編程指南(第4版)[M]. 人民郵電出版社,2005,4.
[3] 陳元琰, 張睿哲, 吳東. 計算機圖形學實用技術(第2版)[M]. 清華大學出版社,2007,3.
Teaching method discussion of Computer Graphics
XUE Chun-yan
( XiamenUniversity Tan Kah Kee college)
計算機圖形學課程范文6
關鍵詞:計算機圖形學;直線生成算法;DDA算法;Bresenham算法
中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2015)23-0072-02
Teaching Experience of the Straight Line Generation Algorithm in Computer Graphics
JI Jie
(College of Computer and Electronic Engineering, Hunan University of Commerce, Changsha 410205, China)
Abstract:"Computer graphics" is an important course in the major of computer science and technology, and the straight line generation algorithm is one of the key points in teaching of this course. In this paper, we analyse the characteristics of several line generating algorithm, describe the key and difficult points of theory teaching and practice teaching,summarize the teaching experience.It has some reference for the teaching of the straight line generating algorithm in computer graphics.
Key words: Computer graphics; straight line generating algorithm;DDAalgorithm; Bresenham algorithm
計算機圖形學是計算機科學中一門重要的分支研究方向,主要研究將二維或三維的圖形通過數學算法轉換為計算機輸出設備中的光柵形式。《計算機圖形學》這門課程是計算機科學與技術、軟件工程等相關專業在本科高年級教學中一門重要的專業課,在教學計劃中占有重要地位和作用。學習本課程旨在使學生掌握基本二維、三維圖形生成和變換技術算法、真實感圖形生成算法、計算機動畫技術的基本方法和原理,并通過編寫計算機程序加深對圖形學基本理論知識的理解,提高理論指導實踐的動手能力,為學生今后學習其他相關課程和進行相關方面的研究夯實基礎。
1 直線生成算法的教學重要性分析
計算機圖形學中的圖形可分為二維圖形和三維圖形,在坐標系中,三維圖形可以通過一系列的投影變換得到二維的平面圖形,所以說,二維圖形的生成是三維圖形生成的基礎。
各種無論多么復雜的二維圖形,實際上都是通過直線段和曲線段組成的。在理論上,絕對光滑的曲線是繪制不出來的,曲線段經過微分之后可以轉換成細微的短直線段。例如,一個較復雜的曲面,可能是由成千上萬條很短的直線組成的。所以,可以說所有圖形都是以直線段的生成為基礎的,而直線段生成質量的好壞和速度的快慢也直接決定整個圖形生成的質量和速度[1],所以直線生成算法的學習顯得尤為重要。因此,在《計算機圖形學》的教學中,直線生成算法是教學重點之一,并且是學生們接觸到的第一類圖形生成算法。
2 幾種經典直線生成算法分析和回顧
由于顯示設備的柵格性質,圖形顯示器是由一個個排列有序的像素點構成的,一條直線就是由一些像素點組成的。無論分辨率的大小,像素點之間還是存在一定距離的,而直線在圖形學中是不存在厚度的,所以一條直線不可能剛好經過所有的像素點(平行于x軸、y軸以及斜率為45度的直線除外)。直線生成算法是計算出與該直線靠近的像素點,并繪制出來的過程。在教學中,主要給學生們介紹以下幾種直線生成算法:
1)中點生成算法:以第一象限為例,假設當前像素點P已經確定,那么下一個像素點只能是正右方的點P1或者是右上方的點P2,另M為P1和P2的中點,若直線與P1P2所在垂直線的交點在M的上方,則P2離直線比較近,應選為下一個像素點;否則應取P1位下一個像素點[2]。
2)逐點比較算法:逐點比較算法主要運用于繪圖儀中,其主要思路為:在繪圖的過程中,每繪制一個像素點,就與規定圖形進行比較,然后決定下一個像素點的位置。同樣以第一象限為例,如畫的直線為OA,當前畫筆的位置為M,以OM和OA之前的斜率之差來計算偏差δ,若δ0,則表示筆在直線OA的上方,應該往+x方向走一步[1]。
3)數值微分(DDA)算法:這是一種基于直線的微分方程來生成直線的方法。設(x1,y1)和(x2,y2)分別為直線的端點坐標,選定x2-x1和y2-y1中較大者作為步進方向,假設x2-x1比較大,則取x方向每次的增量為1個像素點,通過直線的微分方程,求出相應的y值,并四舍五入取整之后作為下一個像素點輸出[1]。
4)Bresenham算法:這種方法最初是為數字繪圖儀設計的,但同樣也適用于光柵圖形顯示器。其基本思想是:過各行各列的像素中線虛擬的柵格化出一組網格線,直線與網格線的生成一系列交點,通過計算與該列中像素點的偏差距離e,并判斷偏差的符號來找到最近的像素點。以通過原點(0,0),且斜率k∈(0,1)的直線為例,則偏差e≥1/2的直線,下一個像素點應該x加1,y+1;偏差e
3 教學的開展和體會
1)教學思路和過程
筆者對于計算機圖形學中直線生成算法的教學思路,總體分為四步走:首先,讓學生了解直線生成算法的統一特點,即在圖形輸出設備所給定的有限個像素矩陣中,確定最佳逼近于該直線的一組像素,從直線的起點開始,通過判斷尋找下一個最接近直線的像素點,一直到終點;第二步,讓學生具體了解算法的基本思路及具體實現的數學推導過程,判別函數、誤差項的生成過程;第三步,通過習題的演算和練習加深對算法的理解;最后,理論指導實踐的過程,上機操作將算法形成代碼,運行后得出結果。
2)教學重點和難點
在以上的教學過程中,第二步是教學的難點。因為這四種直線生成算法涉及大量的數學模型和算法實現,對于計算機專業的學生,數學基礎相對薄弱,學生在理解算法的基本思路上掌握得還不錯,但對于學習算法具體實現的數學推導過程就只能被動的聽課,很難主動地去進行推導,尤其是為了判別函數或者誤差項的計算簡單,常常需要進行各種推導變換及除法消除等操作。
由于課時有限,以上的四種算法不可能面面俱到,因此在教學安排中,中點生成法和逐點比較法做簡單闡述,DDA法和Bresenham法則作為重點講述。DDA法雖然效率不高,但比較直觀,方便通過實例讓學生了解每一步分解過程,通過改進之后使得算法中只包含加法和取整,適合硬件實現。Bresenham法是計算機圖形學領域使用最廣泛的直線生成算法,且算法很簡單,速度也相當快。認真掌握這兩種算法能幫助學生后續學習圓和曲線生成的算法奠定基礎。
3)實驗課程的內容安排
計算機圖形學中涉及理論知識、數學模型和構造算法,一般比較抽象和難懂。為了加深對書本理論知識的理解,加強本科學生動手能力的培養,從而突出實踐性和實用性,計算機圖形學重點的算法都安排了上機實驗。實驗平臺環境為Visual C++,因為Visual C++是集編輯、編譯、運行、調試于一體功能強大的集成編程環境。且MFC將圖形設備接口(GDI)的設備描述表(DC)封裝在C++類中,程序員可以通過調用專門的GDI函數來進行圖形程序設計。
直線生成算法的實驗任務安排了實現DDA畫線程序和Bresenham畫線程序。DDA算法程序邏輯簡單,學生理解較為輕松,原本DDA算法中含有浮點運算和取整運算,不利于硬件實現,但改進后的DDA算法只含有加法運算和取整運算,雖然效率不高,但硬件實現起來變得方便。通過分支語句結構可以實現判斷x和y方向增量較大者作為步進方向,通過語句int(x+0.5)或者int(y+0.5)可以實現四舍五入取整的操作,通過循環語句可以實現從起點到終點像素點的繪制。Bresenham算法程序相對復雜,關鍵點在于區分直線位于不同的象限,判斷條件有所不同,具體用程序實現的時候,會需要進行直線區域的變換。大部分的學生能夠在課程規定的時間內完成DDA算法和Bresenham算法的程序實現,基礎較好的同學還能完成中點生成算法及逐點比較法的程序實現。
之后的教學中圓弧、橢圓、曲線的生成都牽涉到用短的直線段來逼近曲線,實踐證明,學生較好掌握了直線生成算法后,對后續的學習奠定了良好的基礎。
4 結束語
本文主要總結了在計算機科學與技術、軟件工程等相關專業《計算機圖形學》課程本科教學中直線生成算法的教學體會。基于直線生成算法在本課程中的重要性,通過闡述和對比四種直線生成算法的異同,設計出了適合計算機科學與技術、軟件工程等相關專業《計算機圖形學》課程本科生教學的思路,并給出了相關實驗課程開展的良好建議。對于《計算機圖形學》課程本科教學有一定的借鑒作用。
參考文獻: