前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的計算機圖形學技術主題范文,僅供參考,歡迎閱讀并收藏。
中圖分類號:G642.0 文獻標識碼:B
文章編號:1671-489X(2017)04-0091-02
Abstract In view of the teaching contents of computer graphics course lay behind in digital media technology specialty. Can’t keep pace with professional and technical development. Analyzed the characteristics of the students and teaching status, puts forward a reform plan. Verified by implementing, has a good effect.
Key words computer graphics; digital media technology; teaching reform
1 引言
算機圖形學是計算機專業的傳統課程,是研究怎樣顯示、生成和處理圖形的一門學科[1],在傳統計算機相關專業中占有重要的地位。數字媒體技術專業是近年來的一個新興專業,其主要研究內容為使用數字技術,在各種不同媒體上生成顯示、加工處理圖形及圖像。故此,計算機圖形學可看作數字媒體技術專業的理論基礎課程,是此專業發源于傳統計算機相關專業的根基,應該占有相當重要的比重。但計算機圖形學課程理論性強、算法多、難度大,而數字媒體專業更偏重于應用和實踐性,該專業學生相比于傳統計算機專業學生在專業背景和理論基礎上有極大區別。要在數字媒體專業中更好地開展此課程,以達到更好的教學效果和質量,需要對傳統的課程內容做出研究和調整。
2 教學現狀及內容分析
數字媒體專業學生特點 數字媒體技術專業是融合了數字信息處理技術、計算機技術、數字藝術和網絡技術等的交叉學科和技術領域,要求學生具備良好的數字媒體技術和藝術基礎,能夠進行數字媒體作品的設計,熟練掌握數字媒體的制作基礎,同時具備堅實的數字媒體軟件系統開發能力。技術與藝術并重,既有豐富的藝術細胞,又有堅實的技術支持[2]。
由于各個學校的招生條件和教學計劃的不同,每個學校的學生素質及特點有一定的區別。但總體來看,此專業與其他傳統計算機專業學生的區別是明顯的,大體表現為:1)具有一定的藝術基礎;2)編程能力較弱;3)數學知識和功底較弱;4)思維更跳脫,對理論算法提不起興趣。
計算機圖形學傳統教學內容分析
1)緒論及圖形處理設備:了解學習過程中涉及的相關概念和知識,理解數字圖像的組成,了解圖形圖像在計算機中的表示方法,了解常用的顏色模型,了解圖形設備的工作原理。
2)基本圖形生成算法:直線、圓和橢圓的生成算法,區域填充的定義和算法,線型和線寬的處理方法,字符,反走樣等基本技術。
3)自由曲線和曲面:生成曲線和曲面的參數表示方法,插值和樣條,Bezier曲線和曲面,B-樣條插值生成曲線和曲面,有理B-樣條和NURBS曲線與曲面。
4)圖形變換與裁剪:圖形的平移、旋轉和縮放等基本變換,理解投影變換、裁剪的算法。
5)實體幾何造型:實體的定義和運算,實體的正則集合運算,實體的邊界表示、分解表示、掃描表示等方法。
6)分形幾何應用:分形圖形的生成方法,Julia集與Mandelbrot集,復平面域的Newton-Raphson方法,自然景物模擬。
7)真實感圖形顯示:觀察變換,消隱算法,整體和局部光照模型,多邊形的明暗處理,紋理貼圖,光線跟蹤算法等。
在上述所述理論教學之外,現行的實驗教學主要有兩種:1)采用MFC應用程序用C++語言編程模擬相關算法;
2)采用openGL圖形開發庫來模擬圖形學中算法的實現。
3 教學內容改革方案
可以看出傳統的計算機圖形學是一門理論性很強的課程,實驗課的主要目的是配合理論教學,加深對算法的理解。但是數字媒體技術專業從一開始就不是以算法研究為目的,而是以實際應用為主。因此,把課程內容向實用性的方向轉變就成為本次改革的重頭戲。
改革主體思路:以openGL圖形庫為基礎,將圖形開發融合到本課程的教學中;提高實驗教學所占比重;減少過偏過難的算法,減少算法程序描述的講解;加強圖形學繪制流水線的講解。
理論教學改革方案具體如表1所示。理論內容若是沒有實驗內容來配合,不會有好的教學效果。本次實驗教學方案改革具體如表2所示。理論和實驗兩個部分的學時比例變為1:1,大大加強了實驗的比重。此種方案相當于把openGL編程的內容完全融入計算機圖形學課程中,但又沒有完全放棄圖形學課程中的理論及算法部分,只是做了內容上的縮減,使教學內容更加實用化,應用性更強。
4 教學實施及其效果
教學改革不可能一蹴而就,在實際教學中總會有一些主觀或客觀的制約條件。實際執行時,將傳統內容逐步轉為如上改革之后的教學內容共用了3年時間,改革是一步步進行的,效果也是逐漸顯現的。很明顯,學生對于計算機圖形學的興趣越發濃厚,對此課程的評價也越來越高,課程考核的通過率也在逐年上漲。
5 結語
本文提出一種偏重于實際應用的數字媒體技術專業計算機圖形學課程教學改革方案,經教學實施,提高了課程教學質量,提升了學生的學習熱情,達到較好的效果。但在具體實施中也存在不完善之處,在下一步工作中需要完善教學案例,將此方案進一步細化,爭取更好的效果。
參考文獻
隨著教育改革的日益深入,為滿足社會對教育多樣化、多選擇的要求,南京市人民中學計劃2015年恢復“南京市匯文女子中學”的校名,恢復女校模式,希望能充分利用學校女性教育的優良傳統和辦學特色,有效擴大優質資源,形成自己的辦學風格,凸顯個性,在推進普通高中多樣化發展的道路上走出一條新路。
一、數學實驗室項目的建設
早在2011年10月,南京市教育裝備與勤工儉學辦公室和相關學校裝備建設人員在全市范圍內對人民中學、第三中學、第十三中學、田家炳高級中學、雨花臺中學等校的“數學實驗室”專項工作展開了多方位、多層次的調研工作。建設之初,為了數學實驗室建設的實用性與科學性,多個廠商在我校現場搭建真實環境,由師生及相關建設人員實地授課體驗。參加體驗的各校數學教師與信息中心人員開展了多次交流研討會,最終確定了我校數學實驗室的設備型號與建設方案。
2012年6月,經過南京市教育裝備與勤工儉學辦公室政府采購的公開招標,我校結合實際需求情況,確定了數學實驗室技術、產品建設的廠商。陳仲翔校長親自參與了數學實驗室的建設,提出了很多獨特的建設性指導意見。學校相關部門在建設過程中嚴把質量關,設計的實驗桌使用方便,物品收納柜美觀大方;安裝的計算機系統軟件穩定先進。學校信息技術中心與技術公司密切配合,先后開展了圖形計算器軟硬件使用方法與技巧、數學實驗室與課程整合案例分析、網絡教室教學管理軟件、交互式白板使用方法等方面的培訓與研討。
二、數學實驗室應用的探索與拓展
我校數學實驗室的計算機安裝了幾何畫板、超級畫板、三維立體幾何模型、Microsoft Mathematice等數學學科學習輔助軟件,還配備了數學立體幾何模型教具,為學生提供了探究數學知識的環境。為了方便圖形計算器走進課堂,實驗室特采用無線網絡教學,配備了無線路由器和接收器,打造出移動實驗室。此外,為開發數學室的資源,構建多樣化的實驗室,我們還配備了物理溫度敏感器,安裝了Google Earth幫助學生學習地理知識。
1.普及使用
圖形計算器是數學實驗室的核心設備,為了建成后的數學實驗室發揮最大功效,普及圖形計算器的使用,我們邀請了科技公司工作人員分別對全體數學教師、學生進行了培訓,除確保每位數學教師一臺機器,還定期向學生開放機器,鼓勵他們利用數學實驗室的設備進行探究和學習。我們的理念是“寧愿用壞也不能擺壞”,盡可能提高機器的使用率,發揮它的教學作用。
2.加強教科研活動
實驗室建設之初,筆者深入鉆研,帶領高二學生多次精心探究,謀求創新,首次嘗試用圖形計算器開設了關于三角函數的公開課。新穎的教學模式,活躍的課堂氛圍,讓各位教師體會到了圖形計算器的優越性,對數學實驗室的建設給予了大力支持。教研活動中,一些教師就數字數學實驗室的探究方法、軟件研發方向等提出了很多建設性的意見。為推動圖形計算器的教學,提高教師的信息技術應用水平,更新教學觀念,我校數學組教師還參加了全國課題“圖形計算器與高中數學教學整合研究”。在課題研究過程中,組內教師通過網絡學習和校際交流等各種形式積極參與到圖形計算器的研究工作中,并取得了階段性進展。我們希望數學實驗教學能激發學生“學數學、用數學、感受數學、研究數學”的興趣。
3.開展數學社團活動
本著以學生發展為本的思想,我校數學組利用數學實驗室開展了形式多樣的數學社團活動,如數學講座、數學知識競賽、圖形計算器培訓等。通過組織數學社團,激發了學生學習數學的興趣,磨煉了他們的意志,增進了同學間的友誼,數學愛好者和特長生的隊伍逐步擴大。經過多次圖形計算器的培訓,學生漸漸愛上了這個“口袋機”,圖形計算器拉近了數學與學生的距離,讓學生感受到數學的美和學數學的快樂。數學社團活動開展得有聲有色,活動中涌現了不少高手,他們借助圖形計算器創造了許多精美的圖形作品(如圖1所示)。值得一提的是我校陳舟同學在“卡西歐杯2013年全國高中數學圖形計算器應用能力競賽”中取得了第三名、南京市第二名的佳績。
三、數學實驗室的成效
抽象的數學符號,深奧的數學定理,常使學生對數學產生畏懼感。怎樣才能讓孩子們愛上數學呢?怎樣才能讓數學課堂獨具魅力、充滿生命活力呢?顯然,傳統的填鴨式教學模式已經不能適應教學的要求,我們需要探究新的教學模式。借助圖形計算器開展的數學操作性實驗給數學課堂帶來了生機和活力。通過自我探究、親自演示,學生見證的是數學這座大樓的建設過程而不是大樓本身,消除了學生對數學在認知上的神秘感和恐懼感。在實際使用過程中,我們深刻地體會到圖形計算器的優勢。
1.操作簡單,功能多樣,便捷可移動
圖形計算器具有代數運算、函數作圖和圖像分析、數據統計等高級功能。特別是函數作圖和圖像分析功能非常強大,以往用幾何畫板繪制圓錐曲線非常麻煩,但是利用圖形計算器只需輸入圓錐曲線的方程就可以繪制圖像,還可以分析圓錐曲線的焦點及其他基本性質。我校數學實驗室采用的是無線網絡教學,通過路由發射器和接收器可以將圖形計算器帶入課堂,提高了圖形計算器的使用率。
2.有利于“數形結合思維”的訓練
圖形計算器具有將學科知識概念由“隱形”轉向“顯性”的功能,這有利于培養學生感受、收集和處理信息的能力。圖形計算器有助于學生更好地理解函數的特性,理解圖形與代數表示法之間的關系。經過一年的培訓,學生基本熟練掌握了圖形計算器的使用,圖形計算器強大的功能讓他們震驚,他們在不斷發掘新功能,比如用機器畫美麗的圖案,繪制動態圖像等。
3.圖形計算器讓數學課堂更生動
高中的數學課堂,許多內容比較抽象,很難讓學生感受到數學在生活中的實用性。而圖形計算器給了學生一種直觀的新鮮感,大大刺激了學生的視覺感官,從而激發了學生的學習熱情,也改變了以往教師教、學生聽的教學模式,讓學生自己動手參與到數學實驗中,共同探究知識的由來,體會概念的本質。
圖形計算器不僅走進了數學課堂,更走進了學生的生活。嘗試圖形計算器教學后,在課間,班里鮮有發現孩子玩手機了,他們更多的是在探討圖形計算器的使用,相互比拼,看誰繪制的圖像更漂亮,看誰發現了新功能。更讓我們意外的是,這個“小口袋機”竟然促進了后進生的轉變,一些原本成績不太理想的學生為了探究圖形計算器的更多用途,發奮學習數學,并積極參加圖形計算器的各種比賽,學習成績和態度發生了很大的轉變。
關鍵詞:計算機 圖形學 應用
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2014)04(c)-0020-01
計算機圖形學(Computer Graphics,通常簡稱為CG)是一種使用數學算法將二維或三維圖形轉化為計算機顯示器的柵格形式的科學。簡單地說,計算機圖形學的主要研究內容就是研究如何在計算機中表示圖形、以及利用計算機進行圖形的計算、處理和顯示的相關原理與算法。一般的圖形可以由點、線、面、體等元素組成,還可以通過對圖形的飽和度、色相、明暗對比度進行調整;如果把三維圖形看成是由二維圖形在多維空間中變換而來的,那么計算機圖形學研究的就是這個變換過程是如何進行的;本文主要從計算機圖形學的應用領域以及前景兩方面進行簡要的分析。
1 計算機圖形學的應用領域
1.1 計算機輔助設計(CAD)領域
計算機輔助設計(CAD)是計算機圖形學最為廣泛的應用領域之一,它包括了土木工程、機械工業以及制造加工業等方面。概括起來總體分為以下幾個方面。
(1)人機交互系統方面的應用;通過精確的產品設計、系統的框架設計,最終通過反復的修改設計,從而輸出材質單以及加工流程和數據加工代碼。
(2)電子工業方面的應用;在這個方面,計算機圖形學具備了很大的優勢,因為大型的電子電路板不可能由簡單的人工手繪去完成,而計算機圖形系統不僅能完成這項任務,還可以在很短的時間內完成。
(3)航天工業方面的應用;美國波音公司的777飛機利用計算機輔助設計對機身進行整體設計以及建立模型,最后包括機身各零部件的組裝和模擬。
(4)三維建模方面的應用;通過計算機圖形系統可以很簡單的對二維信息向三維立體轉變,不過對三維圖形的重建主要是以多面體為主,任意曲面體的重建至今還是個難題。
1.2 科學計算的可視化應用
隨著科學技術的迅速發展,人們對復雜數據的理解和研究變得更加困難,在傳統不可見的方式下,很難對一些數據進行透徹的分析,在這個時候,計算機圖形學可以實現對數據的可視化。目前科學計算的可視化在各個領域應用很廣,尤其是在醫學方面最為廣泛;可視化技術讓醫用CT在掃描的時候,將對象數據轉為三維立體的效果,讓醫生更加直觀的看到患者的問題所在,還可以提供各項碰撞反饋,不過這項研究目前來講還很不成熟。
1.3 圖形的繪制與實物仿真
圖形的繪制與實物仿真最主要體現在仿真兩個字上,簡單的來說,就是把周圍事物、景觀、人等等真實的模擬出來,但是難點在于如何形象真實的體現這些對象,因此真實感很重要。對一個物體的模擬,包括了對物體的形狀,表面材質和紋理,光滑和粗糙程度等,這其中最難的是光照和材質紋理的模擬。經過計算機圖形系統的模擬,可以奇妙的讓原本毫無生機的對象瞬間變得栩栩如生,這方面的應用其未來可預見性的發展前景很好。
1.4 二維和三維動畫
我們生活中的很多對象都在無時無刻的運動著,所以動畫的制作可以給我們帶來很多生活上的樂趣。而傳統的二維動畫似乎已經不能讓人們為之一振,更具視覺沖擊的三維動畫在目前對我們來說,更加讓人期待。不僅僅是工業的需要,還是3D人工智能系統,都需要三維動畫的支持;如今的3D電影能夠給人帶來非常強烈的視覺沖擊,它的技術核心就是我們的計算機圖形軟件,例如3ds max、maya等,在一部3D電影里大量的使用了計算機圖形系統中的各種特效。除了電影還有電腦游戲里也大規模的采用了3D技術渲染,應用非常廣泛。
2 計算機圖形學的發展前景
由于圖形硬件的飛速發展,計算機圖形學也伴隨著同步發展,如今不管是工業還是民用行業對圖形系統的需求都非常高,而計算機圖形技術不僅能夠渲染出非常逼真的模擬對象,還能夠與高精度的圖形處理緊密結合,從而實現更加豐富的3D渲染世界。計算機圖形學還可以跟視頻處理軟件結合,增加真實感,例如應用在虛擬博物館中等。計算機圖形學在其不同的應用領域中都表現的非常出色,未來的發展前景一片光明。計算機圖形學如今已經成為演變成獨立的一門學科,它的應用方面之廣讓人驚嘆,例如:計算機輔助設計與工業制造;實物仿真以及3D動畫。它在我們的身邊處處可見,讓我們因為它而生活的更加絢麗多彩;除了這些,它還把可視化應用于天氣預報,更加準確的預報了天氣氣象;它還用于地質勘探,讓我們能夠挖掘更多的新能源;它還用于醫學方面,給人類的身體健康創造了新的時代;總而言之,計算機圖形學在應用方面給大家帶來的好處數不勝數。它不僅促進了人類物質水平提高,還給人類帶來了精神上的滿足。不過,計算機圖形學在一些方面的發展還并不成熟,更加迫切的需要圖形學工作者繼續努力,不斷的改善它的不足。計算機圖形學的發展前景非常廣泛,并且將在人類的生活中起到不可忽視的作用。同時,如果深入研究圖形學,需要很深奧的數學知識來輔助,而且每個細化的方向所需的知識也不一樣。我相信圖形學將來有非常好的前景。我曾經對第九屆中國計算機圖形學的大會做了些資料整理,觀賞了大師發表的題目,例如,幾何與工業建模、三維仿真與顯示技術、可視化與交互技術,他們都研究的很深入,這些方向前景也非常好,同時還發掘了圖形學某些方面算法的優化和研究,將更加利于圖形學發展,新時代的計算機圖形學將作為一門代表著核心科技的學科展示在我們眼前,它的發展不僅值得專業大師們的關注,更加值得我們所有圖形學愛好者們關注,我作為其中一員,將一如既往的關注計算機圖形學的發展。
3 結語
通過一段時間的學習,對計算機圖形學所涉及的方方面面都有了初步的了解,深入研究計算機圖形學,就會發現其所蘊含的知識點非常豐富,也很有深度,本文簡要的探討了下計算機圖形學的一些應用范圍以及發展前景,關于計算機圖形學的未來發展,應該是值得所有計算機研究者重視的一個重要研究方向。
參考文獻
關鍵詞:系統案例;教學方法;計算機圖形學
計算機圖形學是近年來發展最快的計算機學科方向之一,是計算機應用專業的必修課程。但在實際的教學過程中,按照傳統的教學方式,我們發現計算機圖形學涉及到大量的數學知識,包括各種生成算法、處理技術和顯示過程,涉及到數學模型和復雜的公式推導,在理解上要求具有比較強的空間想象力,學生理解上比較困難。本文結合二類本科院校培養具有一定創新能力的應用型人才的要求,根據十多年的教學實踐,提出了圖形系統案例教學方法,將計算機圖形學知識和實現圖形系統結合起來,從現有系統中找靈感,從計算機圖形學課程中學理論,搭建自己的圖形系統,使學生真正理解計算機圖形學的本質,達到理論與實踐雙豐收,取得了比較明顯的教學效果。
一、課程特點和教學模式
1.課程特點
(1) 計算機圖形學不僅涉及到圖形硬件、軟件和大量的實現算法,而且與微電子學、信息科學、幾何學、圖論學等專業學科密切相關,并在發展中逐步與圖像處理、模式識別、人工智能、計算機網絡和計算機語音處理結合起來,要求授課教師具有比較全面的知識結構,講解有所側重,合理取舍。
(2) 計算機圖形學需要用到大量的數學模型和算法。計算機圖形學作為圖形顯示和處理的一門學科,具有很深的數學理論基礎和實用技術。計算機圖形學的基礎是數學,任何圖形的顯示都必須首先構造出數學模型,然后再通過算法程序實現圖形的顯示和處理。另一方面,為了在計算機上顯示和處理復雜的圖形,要求人們不斷地學習和研究數學,構造精巧的數學模型和實現算法,這就是計算機圖形學的實質。但對于初學者來說,應當講授較少的數學知識,或者直接采用數學結論,而簡略中間繁瑣的數學推導過程。在講課過程中,如果過分注重圖形學所涉及到的理論知識、數學模型和構造算法,學生就會感到比較抽象和難懂。
(3) 計算機圖形學是一門實踐性很強的課程,不僅要求學量的理論知識,而且更多的是要求算法的實現,要求程序的編寫和調式能力,因此需要更加重視實驗環節。學習計算機圖形學的目的在于構建圖形系統,包括計算機圖形硬件的搭建和圖形軟件的編寫。計算機圖形學是設計AutoCAD、Photoshop、CoreDraw等圖形系統軟件的理論基礎。
學習計算機圖形學,要與使用圖形系統軟件區分開來。計算機圖形學是設計圖形系統軟件的基礎,而學習現有的圖形軟件則是為了進行計算機平面設計、動畫設計、影視制作、CAD等具體的應用領域。反過來,參考和學習這些現有的圖形系統軟件可以幫助理解計算機圖形學的知識和方法。
根據用戶和計算機圖形系統的關系,可以把利用計算機圖形學的用戶分為三類:一是圖形理論研究,二是系統設計程序員,三是圖形系統的操作員。
計算機圖形學的目標在于培養前兩種人才,即圖形理論研究與圖形系統實現者,研究圖形學新的理論和技術,編寫各種專業圖形處理軟件,品設計人員使用。
2.系統案例教學模式
案例教學作為一種教學手段已經得到廣大師生的認可。該教學法是在教師的精心策劃和指導下,根據教學目的和教學內容的要求,運用典型案例,將學生引入到特定實踐環節情境中,并以學生為中心對案例進行交互式討論和探索的過程。案例教學具有下面四個共同的特點:一是真實性,案例必須是真實可靠的事件;二是典型性,必須是包括特殊情境和具有代表性的問題;三是濃縮性,必須多角度地呈現問題,提供足夠的信息;四是啟發性,必須是經過研究,能夠引起討論,提供分析和反思。
系統案例教學法是以設計實際的系統為目標,制定系統總體框架,結合理論教學,布置相關實驗任務和實踐環節,最后將各個獨立的實驗程序整合在一起,搭建起一個小型實用系統。系統案例教學法要求學習目標要明確,方案設計要合理,理論與實踐要一致。針對計算機圖形學課程,采用系統案例教學法還要注意以下事項:
(1) 以學生為中心,充分發揮學生能動性。由于所定目標軟件系統功能復雜,而課堂教學時間有限,不可能面面俱到。因此,要充分調動學生學習興趣,發揮主觀能動性。學生是案例教學的主角,老師在講授理論基礎上,更重要的是啟發和輔導。
(2) 系統案例教學法是一種模擬系統實踐的教學過程。雖然類似的軟件系統市面上已經有很多,但我們的目的是學生模仿實現,所用到的理論知識在課堂上同步學習,加強學生對理論課程學習興趣,并結合學生自己的理解和體會,親自動手實現自己的系統。
(3) 系統案例教學又是一種動態的、開放的教學方式。課堂上講授的系統理論相同,但系統實現的方法可以不同,在系統實現的過程中鍛煉學生運用各種理論知識、綜合分析和解決實際問題的能力。
(4) 系統案例教學注重的是系統實現的過程,要的是結果,但這樣的要求也反過來促進學生對理論知識的學習,同時也鍛煉了學生實際動手能力。
二、系統案例教學方案實施
計算機圖形學課程內容包括了圖形學的基本概念、圖形系統和圖形標準、基本圖形生成技術、圖形幾何變換、曲線和曲面、真實圖形和計算機動畫等,這些內容是設計一個圖形系統必備的理論體系。為了實現系統案例教學,實施方案如下:
第一步:明確目標、搭建平臺。計算機圖形學第一章概述部分主要講解課程目標和目的、國內外的發展狀況和應用領域,加深學生對課程的認識。圖形系統和圖形標準則是實現圖形系統所用到的硬件設備和軟件系統,以及圖形系統的國際標準。這兩部分為學生明確學習目標、搭建系統平臺奠定了基礎。為了編寫圖形系統,在第三部分講解了Visual C++圖形程序設計,主要介紹Visual C++集成編成環境的使用、圖形設備接口、圖形程序設計方法、鼠標編程以及菜單設計等基礎,目的是通過對Visual C++的學習,掌握Visual C++圖形程序設計的方法,為計算機圖形學原理部分的算法實現提供程序工具和方法。
第二步:系統設計、分步實施。按照課程體系和實際圖形系統的要求,我們精心設計10個實驗項目,覆蓋了計算機圖形學大部分的知識點,包括:
(1) Visual C++圖形程序設計。主要學習Visual C++圖形程序設計的方法,掌握Visual C++集成編成環境的使用、圖形設備接口和常用圖形程序設計、鼠標編程、橡皮筋交互技術、畫刷與畫筆以及菜單設計等,使學生能夠熟練掌握Visual C++圖形程序設計。
(2) 直線的生成。理解直線生成算法思想,寫出實現程序;添加鼠標功能,實現交互式畫直線程序;將10個像素作為步距單位,編出Bresenham算法的示例。
(3) 圓與橢圓的生成。編寫中點畫圓法的掃描轉換程序,考慮原點在(x0,y0)處程序的改動;添加鼠標程序,實現交互式畫圓;編寫中點畫橢圓法的掃描轉換程序;添加鼠標程序,實現交互式畫橢圓;
(4) 區域填充算法。多邊形有序邊表算法程序設計;邊填充算法和邊標志填充算法;簡單的種子填充算法和掃描線填充算法;區域填充圖案程序設計;要求實現種子填充算法、掃描線填充算法和圖案填充算法。
(5) 裁剪算法。編碼裁剪算法程序設計;要求用鼠標畫線技術,實現交互式裁剪效果;
(6) 交互式技術和用戶接口。學習VC++菜單資源編輯器,菜單程序設計舉例;學習Autocad繪圖的基本方法,了解常用的交互式技術;
(7) 曲線與曲面;拋物線程序設計;Hermite曲線程序設計;Bezier曲線的算法實現;B樣條曲線的程序設計。要求加入鼠標和橡皮筋技術,實現交互式生成曲線,并且可以通過調整控制點來隨意修改曲線的形狀。
(8) 二維幾何變換。通過二維幾何變換的數學模型,編寫平移、旋轉、放縮、對稱變換;加入鼠標功能,實現交互式移動圖形;
(9) 真實圖形技術。實現一種消隱技術和光照模型。
(10) 計算機動畫。利用一種動畫技術,實現一個小型動畫。
每個實驗都詳細地列出了實驗目的、實驗任務、實驗步驟、實驗結果分析和實驗總結和思考,通過改進程序和算法,提高學生的思考問題和編程動手能力。
第三步:系統整合、實現系統。利用Visual C++菜單編程、工具欄和圖標技術,選擇實用的繪圖實驗程序,掛在累累菜單上,并設計出工具欄,就可以進行簡易的圖形繪制。
第四步:綜合評價,創新考核。我們學校開設的計算機圖形學是考查課(必修課),主講教師可以比較方便的安排最后的考核方式。按照系統案例法的思想,我們注重理論結合實踐,看重的是系統設計的過程和最后的結果,不能采用一張試卷定成績的方式,而是采用了50+30+20的考核方式,即最后的系統設計技術報告和系統軟件演示占50分,要求技術報告撰寫規范,總體設計和分步實施詳細,總結部分包括理論學習的知識點、系統實現的優缺點以及系統的擴展和展望等。平時的分步實驗結果和實驗報告占30分,督促學生課下及時預習和準備實驗,并寫好實驗報告。平時上課考核和作業占20分。這種考核方式可以將學生的考試壓力分散到平時,也可以保證系統案例教學的效果。
三、效果分析
經過三年系統案例教學方法的實踐,明顯地達到了以下教學效果:
(1) 提高了學生學習興趣。興趣是最好的老師,通過課程講解和引導、系統目標設計、分步實驗實施、學生小組研討等方式,激發學生對該門課程的學習興趣,進而引導學生積極主動的學習。
關鍵詞:計算機圖形學 實驗 教學改革 VC
中圖分類號:G420 文獻標識碼:A 文章編號:1672-3791(2014)10(c)-0155-02
計算機圖形學是研究通過計算機將數據轉換為圖形,并在專門的顯示設備上顯示的原理、方法和技術學科[1]。目前,計算機圖形學技術已經深入到人們生活的各個領域,例如:飛機、汽車外形設計、電影、電視廣告、游戲制作、天氣預報、醫藥醫療以及地質勘探等。因此,很多高校都越來越重視該門課,并把其列在教學計劃中。但是該門課程原理深、算法抽象、實踐性強。大部分學生在課程開始時抱著極大的興趣學習,但隨著算法的深入,雖然上課能聽懂算法,但是課后實現算法卻很困難,這樣一來,理論與實踐不能很好結合,而使學生覺得枯燥單調,學習的積極性與主動性逐漸下降,教學效果不理想。
1 教學中存在的問題
圖形學教學中會存在如下問題:一是實驗教材選擇不恰當;二是很多高校圖形學實驗都是基于Turbo C環境下的編程,因編程界面不夠友好,使用不方便,多數學生對它不感興趣。三是過分注重理論教學,實踐教學的時間遠比理論教學時間少;四是過分強調圖形學的數學基礎;五是實踐課程設置合理,但是實驗內容有的過于簡單,而有的又太難。以上五方面都會導致學生學習興趣不濃或厭學。針對此,對實驗課程進行改革是非常必要的。
2 圖形學教學改革措施
如何針對本校學生實際制定適合其學習的實驗方案尤其重要。通過筆者多年的教學實踐,我們可以通過計算機圖形學實驗的演示、驗證和開發,來鞏固學生對計算機圖形學所學知識的理解,同時加強學生的動手操作能力。可以從以下幾方面進行改革。
2.1 教材選取
目前,圖形學教材非常的多,大部分的經典教材中講解的知識較多、難度較大,學生學習較吃力。如何選用教材,使學生學到更多知識很重要。在教學的過程中,針對地方高校的特點,學生的基礎較差。筆者在教學中,把教學重點定位為二維知識的掌握;三維知識只作簡單的了解和介紹,以此來降低學生學習難度,提高學習興趣,為以后的三維知識的學習打好基礎。因此,在選擇教材時,盡量考慮偏重二維知識的、包括程序代碼的,利于學生上機實驗的教材。
2.2 編程環境選擇
針對Turbo C編程環境存在的問題,我們在實驗過程中可以基于Visual C++的MFC編程。因為VC開發環境是可視化的,編寫的程序執行結果明顯,學生有成就感,對完成實驗更有自信[2-3]。通過實驗,學生不但可以學習實用的編程語言,而且也促進其對新知識的學習。
2.3 實驗教學改革
目前,課程開展了九個實驗,實驗內容如表1所示,其中實驗類型有驗證性、設計性和綜合性三種。驗證性實驗是讓學生對理論課程學習的圖形學基本算法進行編程驗證;設計性實驗是一種探索性的實驗,不但要求學生綜合多種知識來設計實驗方案,而且要求學生能充分運用已學到的知識,去發現問題、解決問題,實驗中,學生自己選題、自己設計,在教師的指導下進行,以最大限度發揮學生學習的主動性;綜合性實驗是通過學生一段時間的學習,具有一定的圖形學綜合知識和技能,且實驗內容涉及到這些知識和技能的實驗[4]。
2.4 實驗項目說明
實驗1中,關鍵是熟悉VC的MFC編程環境,了解如何創建工程及添加消息以及 MFC繪圖函數的使用。
實驗2中將驗證直線生成算法。通過理論分析直接直線生成算法、DDA算法、Bresenham算法、中點畫線算法等,找到各算法的優缺點,對比各種算法運行的速度;然后通過上機實現上述算法,并比較各算法在生成同一直線時的效率。
實驗3中對比中點畫圓算法與Bresenham畫圓算法的實現機制及運行效率。
實驗4中主要是驗證課本中內點表示、邊界表示的4連通或8連通種子填充算法填充規則圖形(矩形、圓等)及不規則圖形(任意形狀各異的圖形)。實驗中,對于基礎好的同學,還可試著采用掃描線多邊形填充算法(選做)來填充一個簡單的圖形內部。
實驗5中主要是運用已學過的各種圖形學的知識來填充圓的內部。A.點到圓心的距離小于等于半徑;B.種子填充法;C.Bresenham畫圓法;D.用改進的Bresenham畫圓算法;E.中點畫圓算法;F.改進的中點畫圓算法等。并對比各種算法在填充圓的內部時的差異。(見表2)
實驗6主要是驗證Cohen-Sutherland直線裁剪算法。實驗主要是基于矩形窗口的直線裁剪,對于三類型直線裁剪的正確性進行驗證:一是直線完全在矩形窗口內;二是直線完全在矩形窗口外;三是直線與矩形窗口有交。其他直線裁剪算法的驗證可選做。
實驗7中,可針對生成的一個簡單圖形實現其二維變換。例如三角形的比例、平移、旋轉變換等。
實驗8中,主要是實現課本中的Bezier曲線生成算法。若能正確生成Bezier曲線,可以結合圖形變換知識和平面曲線知識實現的正葉線、正葉線蝴蝶結等圖形的生成。
實驗9中,可以結合本學期的學習情況,利用所學的圖形學知識,發揮想象力,設計一個圖形學作品。例如:雪人,火車等。
3 結語
從文中的實驗教材、實驗教學環境以及實驗教學內容的選取以及多年的教學經驗,可以看出在計算機圖形學實驗課程教學中,首先要加強理論與實踐相結合,要進行培養方案修改,加大實驗課的比例;其次要針對學生的特點,找到適合當前學生學習的方法和實驗內容進行教學。經過改革后,教學效果較好。
參考文獻
[1] 伏玉琛,周洞汝.計算機圖形學――原理、方法與應用[M].武漢:華中科技大學出版社,2003.
[2] 廖方茵,丁凰.計算機圖形學實驗教學的改進[J].北京電力高等專科學校學報,2009(5):2-3.
【關鍵詞】圖形圖像;處理技術
中圖分類號:TP39文獻標識碼:A文章編號:1006-0278(2012)01-094-01
圖形圖像處理技術課程在圖形圖像制作專業課程體系中,既是一門基礎課,也是一門專業課。計算機圖形學是借助計算機來研究圖形表達、處理圖像、顯示生成的學科。歷經30多年的發展,計算機圖形學成為現代應用科學中最活躍的分支之一,并得到廣泛的運用。
一、計算機圖形圖像處理的基本概念
計算機圖形圖像處理是指把由概念或數學描述所表示物體的幾何數據或幾何模型,用計算機進行顯示、存儲、修改、完善及進行相關有關操作的過程。圖形圖像處理包括的主要內容有:1.幾何變換,如平移、旋轉、縮放、透視和投影等;2.圖像數字化、圖像編碼、圖像增強、圖像復原、圖像分割和圖像分析等;3.曲線和曲面擬合;4.建模或造型設計;5.隱線、隱面消除;6.明暗處理;7.貼圖紋理;8.色彩設計。
二、計算機圖形系統的組成與功能
(一)計算機圖形系統的組成
計算機圖形系統由硬件設備和相應的圖形圖像軟件系統兩部分組成。高質量的計算機圖形離不開高性能的計算機圖形硬件設備。圖形系統硬件通常由圖形處理器,圖形輸出設備和輸入設備組成。圖形處理器是圖形系統結構的重要部件,是連接計算機和顯示終端的紐帶。圖形處理器具有存儲和處理圖形的功能,而且能完成大部分的圖形函數計算,這大大減輕了CPU負擔,提高了系統的顯示能力和速度。隨著計算機系統、圖形輸入輸出設備的發展,計算機圖形軟件也不斷地更新和完善,目前有許多支持計算機圖形技術的軟件系統。如各種子程序包、圖形函數庫、甚至是專用的圖形系統。隨著圖形系統的發展,提出了圖形軟件標準化的問題。為實現程序的可移植性,開發出了面向設備的驅動程序包或面向用戶的圖形生成及管理程序包。
(二)圖形系統的功能
圖形系統的設計和研制是計算機科學和工程領域的重要內容。作為一個圖形系統,至少應具有計算、存儲、輸入、輸出、對話等五個方面的基本功能。計算功能:實現設計過程中所需的計算、變換、分析等。存儲功能:存放(形體的)幾何數據、形體間的關系,并可對數據實時檢索、維護。輸入功能:輸入形體的幾何參數及各種命令。輸出功能:可顯示過程中的狀態,修改后的結果,并可硬拷貝及輸出。對話功能:通過圖形顯示器及相應人―機交互設備直接進行人―機通信。用戶通過顯示器觀察設計結果和圖形,通過選擇拾取設備,對不滿意部分作修改。系統還可追溯以前的工作步驟,對用戶操作執行的錯誤給予必要的提示和跟蹤以上五種功能是一個圖形系統所具備的基本功能,至于每種功能中有哪些能力,則因不同系統而異。
三、計算機圖形學的發展與應用
(一)計算機圖形學的發展
計算機圖形學的研究起源于美國麻省理工學院, 20世紀50年代初到60年代中期,麻省理工學院積極從事計算機輔助設計和制造技術研究。它證明了交互式計算機圖形學是一個可行的、有用的研究領域,從而確立了計算機圖形學作為一個嶄新的學科分支的獨立地位1964年,孔斯提出了用小塊曲面片組合表示自由曲面,使曲面片邊界上達到任意高階連續的理論方法,稱孔斯曲面。此方法受到工業界和學術界極大重視。
(二)計算機圖形學的應用領域
1.計算機輔助設計與制造是計算機圖形學在現代工業界應用最為廣泛和流行的工具。計算機圖形學被廣泛應用于建筑設計、室內施工圖設計、機械產品設計。包括飛機、動車、汽車、船舶的外形設計和發電廠、模具廠等的功能布局。在電子工業設計中,計算機圖形學應用到大規模集成電路、印刷電路板、電子線路和網絡分析等方面發揮的優勢十分明顯。
2.計算機圖形化的用戶接口。一個好的圖形化用戶界面能大大提高軟件的易用性,隨著Apple公司圖形界面操作系統的推出,特別是微軟windows應用操作系統的普及,標志著圖形學已經融入到計算機的各個領域。
3.地形地貌和自然資源圖。國土基礎信息是國家經濟系統的重要組成部分。利用這些存儲的信息可繪制平面圖、生成三維地形地貌圖,為高層次的國土整治進行預測和提供決策,為綜合治理和資源利用開發研究提供科學依據,在軍事方面也體現著重要價值。
4.計算機動畫和藝術設計。用于藝術創意和設計的軟件很多,如二維平面的應用程序CorelDraw, Photoshop, Paintshop,三維動畫建模和渲染軟件3D MAX, Maya等口在現代各行各業中應用廣泛,發揮著重要作用。
四、圖形與圖像的區別與聯系
(一)數據來源不同:圖像數據來自客觀世界:圖形數據來自主觀世界。
(二)處理方法不同:圖像處理方法包括幾何修正、圖像變換、圖像增強、圖像分割、圖像理解、圖像識別等:圖形處理方法包括幾何變換、開窗和裁剪、隱藏線和隱藏面消除、曲線和曲面擬合、明暗處理、紋理產生等。
關鍵詞計算機圖形學調查法案例教學法教學改革中圖分類號:G424文獻標識碼:A
信息與計算科學專業作為理學的一個熱門專業,其培養目標是培養具有良好的數學知識,掌握信息科學和計算科學的基本理論和方法,受到科學研究的初步訓練,能運用所學知識和熟練的計算機技能解決實際問題,能在科技、教育和經濟部門從事研究、教學和應用開發和管理工作的高級專門人才。這就需要學生具有較強的綜合素質。①②與其他專業相比,信算專業具有一定的數學基礎和計算機知識,善于發現問題,具備一定的創新意識,但是動手能力較弱,創新性不強,綜合運用所熟悉的數學知識和信息知識的能力不高。計算機圖形學(以下簡稱圖形學)作為信算專業的一門選修課,是一門理論、技術與應用相結合的技術應用性課程。該課程是2001年美國計算機學科教程和2002年中國計算機科學與技術學科教程的核心課程之一。③④⑤對于提高學生的動手能力,培養學生的綜合素質大有裨益。
1 計算機圖形學所存在的問題
信算專業的大多數學生具有學習圖形學的動機和欲望,但目前對于圖形學實驗課程所能提供的具有動手、創新的環境有限,學生無法充分發揮自己的學習潛力,同時難以提高自己的創新能力。同時學生也不善于利用現有的資源和條件,更不能創造出自己所需要的資源和條件。具體表現為:
(1)傳統的教學內容。目前的圖形學課程教學主要以課堂講解、傳授知識為主。在教學過程中學生的個性,一直沿用相同的的大綱、教材和考試方式,在這種情況下,學生的知識結構和思維方式也很容易與老師相同,缺乏創新、缺乏創見。同時,對于學生的積極性有很大影響。
(2)實驗教學模式比較單一,教學效果不夠理想。傳統的實驗教學側重于驗證性的實驗教學,從實驗的思想到實驗算法的確定,基本上都是由教師事先講解好,學生只是被動的接受和模仿,讓學生自己思考的東西較少,很多學生只是盲目敲擊代碼,并不了解為什么這么做,不利于學生創新能力和綜合素質的培養。
(3)對學生評價考核機制還不夠科學完善。目前評價學生的標準主要是考試成績,因而在一定程度上導致學生片面追求考試成績,忽視其它能力尤其是實驗動手能力和創新能力的培養。
2 教學改革的主要內容
2.1 改革課堂教學模式
課堂教學是教學的基本組成形式,學生能力的培養也必須滲透到圖形學的教學過程中。教師既要傳授知識,又要培養學生的動手能力、創新能力、實驗能力等等。同時以此為基礎,要結合學生不同的認知水平和生活體驗,創設新的教學情景導入新課,激發學生學習的欲望。在教學中,營造一個鼓勵學生發言的課堂氛圍。采用多種多樣的課堂教學形式,鼓勵學生提出自己的看法,讓學生自覺、主動地學習,以提高學生的創新能力。加強圖形學與微分幾何、數據結構、概率論與數理統計等各學科之間的交叉綜合,有利于學生綜合素質的提高;同時融合學科前沿知識,增大課堂信息量,激發學生的創新精神。
2.2 改革實驗課教學模式
針對目前《計算機圖形學》實驗中內容比較單一、編程環境比較舊的問題,使得多數學生為了驗證理論教學中學到的算法,剛實驗成功一個算法會比較有成就感,但是對后面的實驗會在某種程度上失去興趣,感覺枯燥無趣,對它不感興趣。充分利用理學院實驗室的儀器設備和師資力量,探索和完善實施新的實驗教學的方法。
2.3 改革和完善學生的考核體系
評價是教育管理中實施控制的特殊手段,是教育管理的重要環節。傳統的培養模式并不利于培養學生的動手能力,主要原因是學生考核過程中采用統一的閉卷考試方式,不能反映出學生的真實的水平和能力,尤其是創新能力和實驗能力很難在一張試卷中進行全面考察。因此我們可以采用多樣化的考試方式,以及相對比較自由的考試時間,或不采用考試形式考評學生,如通過獨立撰寫專題報告、課堂演講、撰寫相關的學術性文章、參與相關的科研項目以及相關的程序設計大賽等多種形式進行評價。
3 實施的步驟與方案
(1)通過對2007級、2008級學生進行調查,了解學生為什么選修圖形學這門課程?希望通過該課程學到什么?以及學生比較擅長的編程語言,給學生創造良好的編程環境,使得學生先利用自己熟悉的語言實現結果。
(2)通過網上查詢及實地考察,借鑒國內外著名大學的經驗,結合理學院信算專業的專業特色對教學內容進行改革,使得教學內容與時俱進,與當前的SIGGRAPH中的熱門圖形學專題相結合,開闊學生的視野。
(3)完善網絡課程以期協調好“教師教”與“學生學”的關系。采用多樣化的教學方法,從圖示內容的漸進性到圖形的欣賞性,再到圖形的交互性循序漸進,同時將多媒體教學與程序現場演示相結合。
(4)通過課堂實踐完成將傳授知識與培養能力相結合,采用“以點帶面”的方法,每個算法在班內選擇1~2個代表學生,講述自己的算法,修正其編程過程中遇到的問題,以及其他同學有可能遇到的問題,將該過程集結成錄像上傳到網上共享。
4 教學效果
通過對于2007級、2008級信算專業的學生進行教學改革,我們發現與2006級相比,學生對于實驗算法的理解更加深入,成績優秀的學生比例提高了15%,考試中對于考察算法的題目學生的得分率比較高,多數學生對于計算機圖形學的認識有了進一步的提高。
注釋
①陳國軍.工科《 計算機圖形學》 教學改革探索[J].中國石油大學勝利學院學報,2009.23(2):81-83.
②張榮華.高校“計算機圖形學”實驗教學改革探析[J].中國電力教育,2007(3):134-136.
③張瑞秋等.計算機圖形學發展現狀與教育改革[J].機械管理開發,2007(4):6-8.
關鍵詞:計算機圖形學;直線生成算法;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 結束語
本文主要總結了在計算機科學與技術、軟件工程等相關專業《計算機圖形學》課程本科教學中直線生成算法的教學體會。基于直線生成算法在本課程中的重要性,通過闡述和對比四種直線生成算法的異同,設計出了適合計算機科學與技術、軟件工程等相關專業《計算機圖形學》課程本科生教學的思路,并給出了相關實驗課程開展的良好建議。對于《計算機圖形學》課程本科教學有一定的借鑒作用。
參考文獻:
摘要:本文介紹了筆者針對“計算機圖形學”課程教學中存在的問題所進行的“14+4”教學改革的實踐。
關鍵詞:計算機圖形學;教學研究;計算機圖形生成系統;OpenGL
中圖分類號:G642
文獻標識碼:B
“計算機圖形學”課程傳統教學模式的重點是基本理論和算法的講解,學生在學習本課程過程中只是了解了基本圖形的生成,而對于三維圖形的生成和幾何變換、曲面的生成、消隱算法、光照模型的模擬等理論不知如何去實現,針對這一現象,筆者提出以下幾點改革,供大家共同探討。
1計算機圖形生成系統
結合本課程教學內容,我們開發了計算機圖形生成系統,該系統除了實現課本中講解的基本算法外,還可實現三維圖形的生成與幾何變換、曲面的生成、消隱算法、光照模型的模擬等。使學生在學了本課程以后,不僅能實現簡單圖形的生成,還可以實現復雜的圖形。
此系統可實現教材中的基本算法,如DDA和Bresenham的直線生成算法、圓的Bresenham和中點生成算法、橢圓的生成、任一多邊形的生成、種子填充算法、掃描線填充算法、直線的Cohen_surtherland裁剪算法、曲線曲面的生成等。
對于比較抽象的算法,采取先講理論,再講程序,使學生能理解這些理論用計算機言怎樣去實現,從而加深理解。
另外本系統對各個部分進行了歸類講解:
(1) 系統可生成基本三維圖形,如球體、橢球體、圓柱、圓錐、任意多面體等,在講解相關理論后,再演示和詳細講解程序,可以使學生比較容易理解。例如可以把球體、橢球體、圓柱、圓錐歸為一類講解。先講解一個球體的生成程序,程序用球體的參數表達式去實現,其中用到了投影變換、三維形體的幾何變換、屏幕坐標系的變換、簡單的反向面消隱算法,學生理解后,再把錐體、橢球體的參數表達式告訴學生,讓學生試圖生成錐體、橢球體或與球體相近的其他形體。對于多面體的生成,利用邊界模型和表面模型分別表示一個四面體,把理論與程序中的數據結構相結合,比較具體,學生易于接受,這樣學生就可以對任意多面體怎樣利用實體構造方法去實現了。
(2) 對于三維形體的幾何變換上,可以用兩種方法來實現:物體不變,視點位置變換;視點位置不變,物體發生幾何變換。在教學過程中,應用一種三維形體,如任一四棱錐來用兩種方法實現這種變換效果,并講解兩種算法的實現程序,給學生布置一道相似的作業,讓學生嘗試實現。
(3) 在消隱算法的講解和實現上,因為在三維圖形的生成程序中已經讓學生了解了簡單的反向面消隱法,所以在這部分內容把Z-buffer算法和掃描線算法的理論講解結合實現程序講解,學生比較容易理解。
(4) 自由曲面的生成,利用Bézier曲面的DeCasteljau生成算法生成雙三次曲面,利用B樣條曲面的Deboor算法,生成雙三次B樣條曲面,并生成NURBS曲面,對之進行幾何變換。
(5) 簡單模擬光的反射、環境光的漫射效果,以及對二維、三維圖形的紋理映射技術。
(6) 對于幾何造型方面,造型方法結合程序講解,效果較好。比如分形造型、邊界模型、表面模型等,結合理論,講一個實現程序,學生不僅可以更容易理解,還可以過到觸類旁通的教學效果。
2基于OpenGL的課件
目前本課程的實驗只是使用某種高級語言環境(如Turbo C ++)作為上機實習的平臺,而當前比較流行OpenGL、Direct等開發工具,學生并不能夠在Turbo C ++試驗中獲得未來就業環境下真實需要掌握的編程知識。OpenGL的這些能力為實現逼真的三維渲染效果、建立交互的三維景觀提供了優秀的軟件工具。OpenGL集成在Windows的內核中,VB、VC ++均可直接調用,初學的學生也能利用OpenGL的圖形處理能力設計出高質量的三維圖形以及三維交互軟件。所以,筆者在本課程的課件中,每一部分的章節后面,都要講解在OpenGL中怎樣實現,如畫線、幾何變換、消隱、紋理映射、曲線和曲面的生成等,展示相應的程序并講解程序。這樣可以拓寬學生的知識面,提高學生的就業機會。例如(1)圖形生成算法,OpenGL提供了定義點的函數,利用這個函數可以方便地向學生演示基本圖形生成算法的基本原理。(2)幾何變換。調用OpenGL的三個變換函數glTranslate3( )、glRotate3( )和glScale3( ),實質上相當于產生了一個近似的平移、旋轉和比例矩陣。(3)投影變換。OpenGL中只提供了兩種投影方式,一種是平行投影,另一種是透視投影。OpenGL平行投影函數共有兩個:一個是void glOrtho(GLdou2ble
left, GLdouble right, GLdouble bottom, GLdouble top, GLdou2ble near,GLdouble far),另一個函數是void gluOrtho2D (GL2double left, GLdouble right, GLdouble
bottom, GLdouble top)。OpenGL透視投影函數也有兩個:一個是void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far),另一個函數是void gluPerspective(GLdouble fovy, GLdou2ble aspect, GLdouble zNear, GLdoube zFar),利用這些函數就可以容易地實現透視投影的效果。(4)曲線曲面的生成。計算機圖形學中,所有的光滑曲線都采用線段逼近來模擬,而許多有用的曲線在數學上只用少數幾個參數(如控制點等)來描述。OpenGL提供生成Bezier、B樣條、NURBS曲線和曲面的函數。OpenGL曲線坐標計算采用的是void glEvalCoord1{fd} [v] (TYPE u),如果是二維曲面的話,上述的函數名改變為對應的二維版本就可以了。(5)真實感圖形生成。真實感圖形繪制是計算機圖形學的一個重要組成部分,在OpenGL中設置光源顏色和對象本身顏色的函數為glLightfv()、glMaterialfv(),調用這些函數舉一些案例,使學生不僅能學到基本的圖形理論,還能自行開發基于OpenGL的幾何變換、投影、曲線曲面生成、光照明模型的建立、紋理映射技術等圖形,大大提高了學生的動手能力,使學生消除計算機三維圖形編程的神秘感,激發了學習的興趣。
3“14+4“的課程改革方案
由于本課程是一門實踐性比較強的課程,同時也為了使學生具有圖形開發的創造能力,本課程在教學過程中更適合“14+4”教學模式,即在教學計劃中,14周用于理論教學,4周用于做課程設計。學生可以運用自己所學圖形學知識設計一些大的繪圖程序,例如二維圖形幾何變換系統、三維圖形幾何變換系統、實體的幾何造型、二維或三維紋理映射技術的實現、面消隱算法的實現、分形圖形技術、應用OPENGL生成一三維形體或實現圖形學中相關算法、數字圖像處理技術等。學生在課程設計過程中加深了對圖形學這門課的理論知識,鍛煉了算法實現技巧、提高了編程能力,教學效果良好,甚至有些學生也能開發出效果較好的圖形系統。
4后續建設的設想:
針對當前計算機圖形學的發展以及市場上流行的許多圖形圖像處理軟件,如Flash、3Dmax、Maya、Authorware、Dreamweaver等,可以在幾何造型或光照模型、紋理映射等理論的講解上結合這些軟件的實現過程來講解,一方面可以滿足學生渴望掌握這些軟件的心理,另一方面可以使本課程的講解更加形象、生動和易于理解,也拓寬了本課程的應用范圍。
參考文獻
[1] 孫家廣. 計算機圖形學[M]. 北京:清華大學出版社,1998.
[2] 吳濤. 計算機圖形學教學改革探討[J]. 福建電腦,2007,(5):199-201.