摘要:對本科生計算機圖形學(xué)課程的進行思考,把研究與教學(xué)有機結(jié)合起來,從教學(xué)理念、教學(xué)方法、教學(xué)內(nèi)容、知識結(jié)構(gòu)等方面論述研究型教學(xué)的實施要點,把培養(yǎng)學(xué)生的創(chuàng)新能力和實踐能力作為研究型大學(xué)教育改革的核心。針對計算機圖形學(xué)在農(nóng)業(yè)領(lǐng)域的廣泛應(yīng)用,在內(nèi)容上增加圖形學(xué)在農(nóng)業(yè)、地理信息系統(tǒng)等領(lǐng)域的應(yīng)用知識,使該課逐漸形成有農(nóng)業(yè)特色的專業(yè)基礎(chǔ)課。
關(guān)鍵詞:計算機圖形學(xué);研究型教學(xué);算法
計算機圖形學(xué)是研究如何利用計算機來顯示、生成和處理圖形的原理、方法和技術(shù)的一門學(xué)科,在計算機輔助設(shè)計制造、科學(xué)計算可視化、地理信息系統(tǒng)、虛擬農(nóng)業(yè)等領(lǐng)域有著非常廣泛的應(yīng)用,是計算機、地理信息系統(tǒng)、電子工程、機械設(shè)計等本科專業(yè)一門重要的專業(yè)基礎(chǔ)課,也是許多后續(xù)課程(圖像處理、模式識別、多媒體技術(shù)、虛擬現(xiàn)實、計算機視覺等)的基礎(chǔ)課程,在教學(xué)計劃中占有重要地位和作用。
培養(yǎng)學(xué)生的創(chuàng)新和實踐能力是研究型大學(xué)教育改革目標(biāo)的核心。通過該課程的學(xué)習(xí),不僅使學(xué)生能系統(tǒng)地獲得計算機圖形學(xué)的基本知識、必要的基礎(chǔ)理論和常用的圖形生成算法,同時能提高學(xué)生的綜合素質(zhì),使學(xué)生具備一定的研究和創(chuàng)新能力。另外,隨著近幾年信息技術(shù)在農(nóng)業(yè)領(lǐng)域的廣泛應(yīng)用,在農(nóng)業(yè)遙感、地理信息系統(tǒng)、農(nóng)作物模擬和仿真中涉及大量的計算機圖形算法和技術(shù)。因此在這門課的講授內(nèi)容上增加了一些和遙感、地理信息系統(tǒng)、虛擬農(nóng)業(yè)技術(shù)相關(guān)的圖形基礎(chǔ)和算法,并結(jié)合教師的研究成果和科研工作的進展,及時將其增加到教學(xué)內(nèi)容中,使這門課程逐漸形成有農(nóng)業(yè)特色的專業(yè)基礎(chǔ)課。
課程改革決不僅僅是教學(xué)內(nèi)容的更新,更為重要的是學(xué)習(xí)方式、思維方式轉(zhuǎn)換以及新教育技術(shù)的應(yīng)用。這需要我們從“知識型教學(xué)”轉(zhuǎn)換成為“研究型教學(xué)”,即以知識為載體,傳授本學(xué)科的方法論,注重學(xué)科發(fā)展,提升教學(xué)中學(xué)生思維能力、交流溝通能力等持久性綜合能力的培養(yǎng)。
1研究型教學(xué)的實施方案
研究型教學(xué)是以提高學(xué)生的綜合素質(zhì)和創(chuàng)新研究能力為目標(biāo)的。為了達到這個目標(biāo),我們從跟蹤學(xué)科前沿能力、發(fā)現(xiàn)問題能力、理論聯(lián)系實際能力、文獻閱讀能力等以下7個方面來綜合培養(yǎng)學(xué)生的能力[1],如圖1所示。
圍繞這幾方面的能力,具體做法是強化基礎(chǔ)、突出實踐、重在素質(zhì)、面向創(chuàng)新。我們主要在以下幾個方面展開了創(chuàng)新性的教學(xué)改革研究。
1.1像計算機工程師那樣去思考和解決問題
本課程教學(xué)理念為:“以應(yīng)用為背景、以理論為主線、以算法為核心、以合理先進的教學(xué)方法為手段、以提高學(xué)習(xí)興趣和創(chuàng)新能力的培養(yǎng)為目標(biāo)”。
學(xué)完這門課程,學(xué)生應(yīng)掌握兩個技能并達到一個目標(biāo),兩個技能是:1)學(xué)生能編寫小規(guī)模的圖形程序(這里的小并不是貶義,只是代表你有能力做事的規(guī)模而已);2)掌握的第二個技能是有能力來理解別人編寫的程序。因此要能寫、能讀程序。
最終的目的是開啟學(xué)生從其他領(lǐng)域中提煉概述,并研究出如何將其轉(zhuǎn)入計算機圖形領(lǐng)域的能力。通過圖形學(xué)算法的提出背景以及發(fā)現(xiàn)、發(fā)展和完善過程的講解,對學(xué)生的思維進行訓(xùn)練,提高學(xué)生面向問題的求解能力,培養(yǎng)學(xué)生的科研素質(zhì)。
在教材的選取上,不局限于一本教材[2-4],而是選用國內(nèi)較有影響的幾本教材作為參考書。注重基本原理和概念的講解。因為圖形技術(shù)的發(fā)展日新月異,新的技術(shù)和算法層出不窮,學(xué)生學(xué)習(xí)的技術(shù)幾年后可能會過時,但基本的原理和概念是長期不變的。
1.2突出講授圖形算法中蘊含的思想
計算機圖形學(xué)課程的主要內(nèi)容就是講授圖形生成、顯示、處理的算法。那么,一個普通、常規(guī)的圖形算法是如何通過改進和完善變成一個優(yōu)秀算法的?
算法分析是一種理論研究,是關(guān)于計算機程序性能和資源利用的研究,重點是性能。我們是在學(xué)習(xí)如何計算機程序運行的更快。算法還涉及到其它資源,但我們的關(guān)注點主要還是在性能上。
例如,直線生成算法是計算機圖形學(xué)較底層的一個算法。該算法的性能嚴(yán)重決定著圖形生成的效率。因為當(dāng)完成一個動畫算法或真實感圖形算法時,直線算法可能被幾十萬、上百萬次地反復(fù)調(diào)用,因此這種算法要求效率要高。在加、減、乘除、開方、三角函數(shù)等運算中,加法是最快的運算,其中整數(shù)加法又快于浮點加法。因此像畫直線這種底層算法,能夠減少一個乘法都是一個了不起的事情。
從講授通過直線方程的畫線算法到數(shù)值微分(DDA)算法、再到中點畫線算法,最后到Bresenham算法。一步步給學(xué)生展示了一個開始需要一個乘法和一個加法的普通直線算法,是如何通過改進和完善其性能,把乘法演變一個浮點運算加法,又把浮點加法變成整數(shù)加法的一個精彩過程。計算機科學(xué)問題的核心就是算法。
學(xué)術(shù)大師們在提出、改進和完善算法的過程中所體現(xiàn)出來的一些閃光的思想正是我們所要深刻認識和領(lǐng)會的。什么是創(chuàng)新?這些閃光的思想就是真正的創(chuàng)新!
在講授其他一些圖形算法如多邊形的掃描轉(zhuǎn)換和區(qū)域填充、裁剪算法、消隱算法等時,并不強調(diào)學(xué)生掌握和實現(xiàn)算法的具體細節(jié),更重要的是闡述這些算法所蘊涵的一些創(chuàng)新思想,像增量思想、編碼思想、圖形連貫性思想、分而治之思想等。這些思想不僅用在圖形學(xué)算法中,而且還用在了數(shù)據(jù)挖掘、人工智能等領(lǐng)域。
1.3算法講解與程序演示相結(jié)合
計算機圖形學(xué)課程具有很強的實踐性,上機編程實驗是其重要環(huán)節(jié),基本目標(biāo)是將學(xué)生的計算機操作能力、分析能力、設(shè)計能力與編程實踐結(jié)合起來,引導(dǎo)學(xué)生由淺入深地掌握計算機圖形學(xué)基本理論和算法。
為了讓枯燥的算法講解變得生動起來,作者在教學(xué)手段上充分發(fā)揮圖形學(xué)自身特點,將許多算法的原理用Flash做成動畫片嵌入到教學(xué)幻燈片中,采用生動形象的動畫算法講解,使學(xué)生對抽象的圖形學(xué)算法不僅有一個直觀的了解,而且還調(diào)節(jié)了課堂氣氛。許多同學(xué)在看過演示之后,不僅對算法有了更為深入的了解,還紛紛躍躍欲試,想要做出更好的程序來,這極大地激發(fā)了學(xué)生自己動手編程實踐的欲望。這些課件對于提高學(xué)習(xí)興趣、增強算法的理解性具有很大的作用。
我們安排了8~10個上機編程實驗,內(nèi)容包括畫直線圓弧算法、區(qū)域填充算法、編碼裁剪和梁友棟裁剪算法、二維、三維變換算法、透視變換算法、Bezier曲線算法、B樣條算法和簡單光照模型的實現(xiàn)。學(xué)生通過這些算法的編程實現(xiàn)并改進一些重要算法, 既可以增強對算法本身的理解,也可感受編程的樂趣。
2教學(xué)與科研相結(jié)合
2.1教師科研與教學(xué)相結(jié)合
科研是提高課程教學(xué)質(zhì)量的源動力。將科研成果引入教學(xué),一方面豐富了教學(xué)內(nèi)容,提高了學(xué)生的學(xué)習(xí)興趣;另一方面,也培養(yǎng)了學(xué)生的科研創(chuàng)新能力。
我們主持和參與的國家科技基礎(chǔ)條件平臺中國數(shù)字科技館項目“虛擬農(nóng)場體驗區(qū)”、科技支撐項目 “面向農(nóng)民科技培訓(xùn)的人機交互式三維可視化平臺研究”、虛擬農(nóng)場等課題中都使用到了圖形算法和技術(shù),通過課題引導(dǎo)學(xué)生將圖形學(xué)中的各類知識集成到引擎中,面向二次開發(fā)和快速開發(fā),大大提高了學(xué)生對圖形學(xué)技術(shù)的理解和實踐動手能力。
2.2教學(xué)與專業(yè)文獻閱讀相結(jié)合
一門學(xué)科的內(nèi)容終歸是不可能全部在課堂上講授完的,以“授人以漁”為己任的教師也沒有必要這樣做。在網(wǎng)絡(luò)時代沒有絕對的老師,所有老師必須成為學(xué)生。同樣,在網(wǎng)絡(luò)時代也沒有絕對的學(xué)生,所有的學(xué)生必須學(xué)會做自己的老師。
為了培養(yǎng)學(xué)生研究創(chuàng)新的能力,除了把教師自己的科研成果介紹給學(xué)生,更重要的是培養(yǎng)學(xué)生跟蹤學(xué)科前沿的文獻檢索、文獻閱讀與文獻綜述能力。
基于期刊的影響力和SCI影響因子等標(biāo)準(zhǔn),我們選擇國內(nèi)外一流期刊20余種,國內(nèi)期刊如《計算機輔助設(shè)計與圖形學(xué)學(xué)報》、《地理學(xué)報》、《計算機圖形圖像學(xué)報》等;國外期刊如《Computer Graphics》、《IEEE Computer Graphics and Application》、《International Journal of Geographical Information Science》等。相對來說,這些權(quán)威的期刊發(fā)表的文章基本上都是高質(zhì)量的文章。除了從這些期刊里選出一些和計算機圖形學(xué)算法有關(guān)的高質(zhì)量文獻以外,還搜集一些有關(guān)計算機圖形經(jīng)典算法的經(jīng)典文獻,主要是一些具有里程碑式的文獻!這些經(jīng)典的文獻猶如文學(xué)界的世界名著,長久不衰,他們的貢獻直到今天都無可忽略!最新文獻猶如現(xiàn)代流行小說,要與時俱進,了解計算機圖形學(xué)領(lǐng)域的一些最新進展。
要求每個學(xué)生在這門課程的學(xué)習(xí)期間,能夠閱讀至少2~3篇中文文獻和1~2篇英文文獻(既閱讀世界名著,也要瀏覽現(xiàn)代流行小說)。這樣既提高了學(xué)生的英語閱讀能力,了解該領(lǐng)域的熱點和前沿進展,又使得學(xué)生能領(lǐng)會大師們的研究思路、邏輯推論和技術(shù)方法。
通過兩屆學(xué)生的實驗,教學(xué)取得了良好的效果。盡管他們只是大二的學(xué)生,但已經(jīng)有幾位學(xué)生對教科書上的一些經(jīng)典算法在性能上做了進一步的改進,提高了算法的效率,撰寫的幾篇學(xué)術(shù)論文被國內(nèi)外學(xué)術(shù)會議錄用。
3結(jié)語
在研究型課程教學(xué)中,教師的作用發(fā)生了變化:教師不再是“講臺上的圣人”,而更多地起“場外教練”的作用[5];他們不僅僅傳授知識,而是遵循認知規(guī)律,以學(xué)生為中心,設(shè)計教學(xué)過程、提供教學(xué)資源、提供學(xué)習(xí)建議,對整個學(xué)習(xí)過程進行控制,包括在關(guān)鍵環(huán)節(jié)上對學(xué)生進行啟發(fā)、激勵、引導(dǎo)和指導(dǎo)。教師的戰(zhàn)略目標(biāo)都是為了幫助學(xué)生們能像一個計算機科學(xué)家一樣去思考。換句話說,希望賦予學(xué)生一種能力,讓學(xué)生可以用計算機做他想做的任何事。
參考文獻:
[1]