前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的計算機圖形學論文主題范文,僅供參考,歡迎閱讀并收藏。
摘要:本文多方面系統論述了學習“計算機圖形學”課程的必要性,分析了該課程的學習沒有受到人們重視的原因,指出系統學習該課程是讀者掌握數據計算類型的程序系統設計基本方法與計算機仿真入門的有效途徑,使讀者對“計算機圖形學”課程的學習有一個正確的認識。
關鍵詞:計算機圖形學;計算機仿真;科學計算;程序設計基本方法;可視化
中圖分類號:G642
文獻標識碼:B
1 “計算機圖形學”的學科特性
所謂“計算機圖形學”是計算機仿真(即按模型計算以生成圖像)與科學計算(即通過在計算機上建立模型并模擬物理過程來進行科學調查和研究)的一種基本形式,是研究圖形數據模型在計算機內部的產生、設計與構造過程,它是顯示圖形不可分割的前提(這相當于畫家作畫之前,對繪畫作品的設計思想、表達方式、繪畫構思、作品內容與結構等的創作與思考過程;只有當這個繪畫作品設計方案成熟之后,畫家才動筆繪畫);而圖形顯示是用點、線、面、色彩、紋理等可視化的數學方式表達這種數據仿真計算結果的數學含義、或表達仿真過程中各種實體仿真模型與場景效果的物理含義的一種直觀表達方式。參考文獻[1,2]已向讀者證明這一結論,只有這樣,才能較好的理順“計算機圖形學”課程的授課關系,使讀者建立用計算機生成圖形的完整概念。
我們用這一指導思想主導“計算機圖形學”教育20多年,并用“計算機圖形學”的授課內容解決了多年來國內計算機程序設計課程沒有解決好的計算可行性(可計算性的實現前提)這一教學難題,使該課程成為初學者學習計算機程序設計基本方法、認識圖形數據模型構造與顯示的一般規律、進行可視化應用程序開發三位一體教學目的的最佳選擇,并有效地彌補了從算法語言、數據結構到軟件工程之間關于應用程序編程系統訓練與計算機仿真等教學環節的缺失。這種教學方法使“計算機圖形學”的教學內容完全納入了計算機科學的教育體系,同時使“計算機圖形學”與“數據庫”、“網絡通信”這三門課程成為現代計算機應用程序的三個基本特征(數據計算、數據存儲與檢索、數據聯網通信)的典型代表,由此轉變了“計算機圖形學”課程的教育觀念與教育思想。在教學過程中,作者曾遇到學生們提出的多種學習問題,今整理成文,以饗讀者。
2學習“計算機圖形學”的原因與重要性
為什么要學“計算機圖形學”,這是計算機專業選修“計算機圖形學”課程的讀者關心的首要問題。眾所周知,計算機科學是處理信息技術(IT)的一門學科,通信科學是傳輸信息技術的一門學科。對于信息技術而言,常用于表達信息數據含義的4種方式分別是①數字與字符方式表述;②圖形方式顯示;③播放聲音表述;④用機械力表達(即把電信號轉換成機械運動)。這4種表達信息數據含義的方式又稱信息數據的多媒體表達方式(即多媒體技術)。其中,用圖形顯示這種方式表達信息數據的含義符合人們觀察了解事物運動規律的習慣,而且信息容量大,直觀方便,同時是人們獲得外部世界信息來源的主要依據;也就是說信息數據的可視化是信息技術與計算機科學發展的一種潮流與必然趨勢。隨著計算機工業的發展與進步,實際應用課題與現代程序設計對信息數據的可視化處理要求已經越來越高,這就要求人們深入研究并掌握圖形顯示的一般規律,才能更好的為計算機信息數據的可視化服務。
按現代教科書對“計算機圖形學”的新定義,“計算機圖形學”代表了計算機應用學科的一個重要發展方向――科學計算、計算機仿真、計算機輔助設計、信息數據的可視化、動畫與游戲、虛擬現實、數字娛樂,其編程應用還涉及程序設計方法。它們代表了當今計算機技術的發展潮流與應用水平,是解決計算機專業人才出路的有效途徑之一;而“計算機圖形學”是該方向的公共基礎課程,是目前國內計算機本科教育應當加強的內容。顯然,僅僅靠學習計算機程序設計語言、數據結構、編譯原理、操作系統、數據庫、軟件工程、形式語言與自動機理論等課程還不能完全使學生的能力直接達到開發這些應用軟件的目的,因為原則上這些課程是為用戶使用計算機的計算功能而系統量身打造的軟件使用工具(數據結構、軟件工程除外),它們的教學目的是為用戶掌握并研制這些軟件工具服
務、而不是為用戶使用這些軟件工具系統地開發應用程序而開設的課程。計算機專業主要沿這條主線向前發展:研究、設計、制造計算機硬件設備,為用戶使用計算機的計算等功能提供一切便利的手段、方法與軟件輔助工具,這包括總結用戶使用計算機的基本類型與模式,而對于復雜且很難全面概括使用計算機的方法等、則留給一般用戶自己解決,這或許是計算機專業本科課堂教學沒有介紹對數據計算類型的應用軟件系統開發要遵循的基本規律與發展模式的原因之一,“計算機圖形學”的教學正好可以彌補這個缺陷。
由于計算機教育本身并不能直接提供認識世界、改造世界的能力,加之我國沒有掌握具有國際競爭能力的計算機硬件與系統軟件的核心開發技術,這使中國大量的優秀人才在計算機專業上的最后發展受到了嚴重制約。而“計算機圖形學”的仿真方法為計算機專業人員的發展提供了這樣一種新的學習方法與重新選擇的機遇,它能為計算機專業人員學習其他行業的專業知識(即學習新專業的物理、數學方法)、成為其他行業的專家助手,進行新行業系統仿真與系統設計以獲得新生;由于各行業都有各自的研究領域與待解決的研究問題、研究方法與理論研究模型等,當用計算機仿真的方法對這些研究課題進行輔助研究,并用圖形等可視化的方法表達計算機仿真研究的中間結果與最終成果時,這將使計算機的應用走向深入。
科學研究的目的就是探索未知世界、認識世界、改造世界、造福于人類自己,而“計算機圖形學”的教育正是遵循這樣一條主線:通過物理實驗認識待解決問題的本質,并用數學模型的方法來描述這種物理現象的變化過程,從而達到用計算機程序設計的方法來仿真光線在自然界中的傳播,以及光線在照相機中傳播而生成圖像效果,這類物理仿真過程是科學研究方法中的一種基本形式,這種科學研究方法的教育思想(包括人文精神)是國內計算機專業本科課堂教育所欠缺的(計算機專業往往專注于數理邏輯思想的基礎訓練)――即“計算機圖形學”的教育,不僅拓展了計算機專業人才的知識領域,也為其畢業增加了就業渠道,同時能培養計算機專業人員的基本科學研究素養,這正是目前國內計算機教育改革所追求的目標之一。
需要說明,全日制普通本科教育是普適教育,它需要建立各專業自己的知識框架,學習基本的概念,了解基本的范疇,明確其發展方向,計算機專業也是如此。本科教育重在基礎,提高本科教育質量與水平并非拔高與創新,而是要做到全面、均衡的發展,除要求學生掌握本學科專業已成熟的系統理論知識外,還需培養學生用學科的基本思想與方法獨立自主分析問題、解決問題的能力,這種理論與實踐相結合的教育方法,能確保學生今后得到穩步的發展。“計算機圖形學”就是培養學生利用計算機、數學、物理等學科的系統知識解決實際應用問題能力的一種有效方法,這樣培養的學生才能適應社會競爭與選擇的需求;只有在研究生階段,通過再次系統學習、閱讀原著與相關論文并參與項目開發等活動,達到全面提升對學科的認識能力,并向某一個研究方向發展、去探索未知世界的變化規律、解決前人沒有解決好的難題、逐步走入學術研究的殿堂(即創新教育);當然人們也能在日后的工作中慢慢積累這種工作能力。
文獻[2,3]系統論述了“計算機圖形學”課程在計算機科學教育中的作用與地位。目前很難找出一門具有像“計算機圖形學”類似重要性與多樣性的其它計算機本科專業基礎課程,能使讀者正確掌握數據計算類型的計算機應用程序設計的基本方法,并使計算機這一工具直接服務于社會,這是我們應該重視“計算機圖形學”教育的根本原因。
3學習“計算機圖形學”的方法
由于“計算機圖形學”屬于計算機應用軟件的范疇,因此,數據計算類型的應用軟件的設計方法就是學習“計算機圖形學”應該遵循的原則。就“計算機圖形學”課程的學習而言,它要求:
(1) 全面掌握程序設計語言的特性與數據結構的基本內容,是實現“計算機圖形學”編程的基礎。
(2) 掌握建立解決實際應用問題的數學模型與軟件系統的概念,是計算機程序設計的兩個關鍵點。軟件系統是一個能自動運行的綜合執行程序,它能從輸入、存儲、運算處理、輸出等方面全面處理用戶在某個領域中提出的諸多數學模型并完成其模型描述數據的加工任務,使用戶很容易明確這種軟件的組成、功能與使用范圍。一般利用二維圖形的簡單性,可以較完整的介紹二維圖形軟件系統這一概念。軟件系統的概念是目前程序設計語言與數據結構課程中所欠缺的關鍵內容。
(3) 正確的認識“計算機圖形學”與計算機仿真的相互關系。“計算機圖形學”的重點與難點在三維圖形的數學模型研制(包括照相機模型,燈光模型,顏色模型,照明模型,物體的幾何模型,物體表面的材質與紋理模型等)與模型描述數據的構造上;由于計算機圖形學追求像照相機拍照一樣的三維真實感圖形顯示效果,這決定了要在計算機中使用物理學仿真的方法(仿真光線在自然界中的傳播所產生的顯示效果或把這種傳播效果映射至物體的表面上)才能達到這一目的,這自然需要讀者對相應的物理知識有個基本的了解才能進行。
(4) 需要了解一些計算機仿真的基礎知識,以確保“計算機圖形學”的物理仿真教學過程不會出現偏差。
計算機仿真的主要過程分系統、模型、編程實現(仿真算法)、評估四個步驟。這里①系統是指相互關聯又相互作用著的研究對象的有機組合,它決定了被研究考察對象的組成與邊界范圍。②計算機仿真一般可以用數學模型(簡稱模型)的方法代替實物研究對象,事實上模型也可以是對現實世界的事務、現象、過程或系統的簡化描述,但它反映了實際問題最本質的特征和量的關系。目前“計算機圖形學”所述的模型多限于對所研究對象的物理性質、運動變化規律等特性的一種數學描述,它使人們能解釋那些難以直接觀察到的事物的內部構造、事物的變化以及事物之間的關系――即模型描述了現實世界中有顯著影響的因素和相互關系。但這種描述有一定的使用條件與限制范圍,研究的目的不同,對該研究對象的數學模型的描述方法以及模型的種類會不一樣。③仿真(編程實現)就是在模型上做實驗,從理論上測試構建的理想系統的動態行為特性,以評估系統的效能。④系統的用途不一樣,評估的方法也不同,人們往往用事先約定的一組指標來評估仿真系統的結果;當所得仿真結果沒有達到預期的理想效果時,人們往往不斷改進仿真模型與仿真算法。例如計算機圖形系統,用途可以是顯示三維圖形,查看它的真實感逼真顯示效果就是人們主要關心的問題;模型的運動與操作(如游戲),看它的操作性與故事情節等如何表達用戶的情感與智能(簡稱好玩)就是人們關心的主要問題;機械設備的綜合運動與仿真,考察所設計的復雜設備的工作性能就是人們關心的主要問題;電氣系統的系統仿真,能考察系統工作參數如何設計以滿足用戶的不同需求;作戰系統的仿真模擬,能考察作戰人員的訓練水平、武器性能、指揮作戰方式對作戰進程的不同影響與作戰效能,等等。
(5) 努力把圖形學所介紹的各種模型與算法(算法是對模型描述數據的加工與變換處理的步驟與方法,“計算機圖形學”中的主要算法有各種線段圖形的生成與實面積多邊形的填充算法、著色算法、消隱算法、紋理映射算法、陰影算法,光線跟蹤算法與輻射度算法)都編寫成程序代碼,這使讀者能直接體驗自己的學習效果,也是其它課程不容易做到的。編程時要考慮算法的復雜度,特別是按照軟件系統的方法把編寫的程序代碼組成一個系統整體,這是形成成熟商品軟件很重要的前提。顯然,此時軟件系統中的各種數學模型反映了仿真系統中研究對象之間的相互關系。
(6) 掌握“計算機圖形學”打造的繪圖工具,是可視化應用軟件編程的重要基礎。用“計算機圖形學”知識研制的工具常用的有OpenGL與Direct3D等三維圖形標準,虛擬現實建模語言VRML。而三維動畫與CAD等軟件可以看成是“計算機圖形學”為影視制作、游戲建模與計算機輔助設計部門打造的專業計算工具。僅把圖形標準與計算機繪圖等應用當作“計算機圖形學”很不完備,因為它不能在課堂教學中向讀者正確、完整、系統地展示計算機圖形學學科發展的基本規律,并人為地割裂了計算機圖形數據模型的構造與顯示這兩個過程。
(7) 學會看中英文專業雜志等參考資料,這些參考資料記錄了學科的發展歷程與學科當前的研究熱點(一本教科書不可能全部包含這些內容),且是一種更重要、復雜、深入的學習研究方法,也是目前國內本科教育的弱項(因為國際上最新的研究成果多用英文發表)。只有這樣,才能跟蹤計算機圖形學的最新發展并站在學科發展的前沿、才能開闊人們的視野并有所鑒別,便于讀者日后針對用戶的多種需求展開開創性創新或針對已有成果的不足、提出修補與改進等漸進性創新等學術研究活動。
(8) 勇于參與課程實踐與項目開發,是鞏固、檢驗所學知識、提高實際動手能力的好方法。實際軟件開發工作往往是多種知識的綜合應用,它需要對實際處理事務有一個比較透徹的了解(用戶需求報告)、并建立這些待解決問題的數學模型與系統流程后才能有效進行(按照軟件工程的方法組織實施)。
只有把自己開發的軟件做成有效商品、服務于社會,才能使所學的知識轉變成生產力,才能使自己得到升華;同時也應注意把自己的心得與研究成果總結發表,與人共享;還應參加學術活動,注意留意不同學術流派之間的觀點、思想、方法與學術動態,取長補短,形成自己的風格,廣結人緣,相互交流,為學科建設添磚加瓦。
(9) 一本計算機圖形學教科書的容量使其只能介紹計算機圖形學發展歷程中產生的最基本、最經典的模型與算法,這些內容是人們耳熟能詳的物理原理與相對簡單的數學知識在計算機中的綜合應用,太復雜的計算關系因會影響圖形的顯示速度而一般不采用;目前計算機圖形學教科書的理論體系已成熟且“計算機圖形學”的教學內容已經構成了一個大系統,這使“計算機圖形學”的教學過程變得簡單、容易。
4目前國內“計算機圖形學”教育未受到重視的原因分析
既然如此,為什么目前人們感覺“計算機圖形學”教育的受重視的程度不如數據庫與網絡通信等計算機應用軟件呢?筆者認為其原因之一在于:這是因為“計算機圖形學”造就的工具即圖形標準的特殊應用環境要求限制了它在很大一部分應用程序中的具體應用;三維圖形標準目前僅僅在游戲領域獲得了商業上的成功,一些應用軟件不調用圖形標準也能自己繪圖;國內的計算機應用程序可視化的開發要求暫時還較低;關鍵是作為學科領頭羊的美國人目前還沒有把“計算機圖形學”課程作為計算機本科專業的核心課程,這是因為他們對“計算機圖形學”課程的本質與其在計算機學科中的作用與地位認識不到位所致,美國人圖形學這種教育現狀(目前多以圖形標準的原理講授為主)和局限性與美國人在3D游戲、計算機動畫、計算機輔助設計等應用軟件的開發上執世界牛耳之地位不相稱。
當然,早期計算機圖形學教科書編寫內容、體系的不夠成熟,也影響了人們對“計算機圖形學”課程的認識與學習的積極性。例如僅停留在數學公式與算法的層面上介紹二維、三維圖形的生成而不注重其建模思想與方法的介紹,且人為的把物體幾何模型的構建與其圖形顯示分解成“計算機輔助幾何設計”與“計算機圖形學”這兩門課程,這直接導致圖形學課程教學內容缺少被處理的圖形顯示對象,加之計算機課程與圖形學的教育又沒有軟件系統的概念,這樣安排雖然能滿足圖形標準等商業軟件的發展需求,但卻很難讓初學者全面掌握“計算機圖形學”學科系統性的概念、思想和方法與學科發展的基本規律――用數學模型的方法指導編程實踐,在計算復雜性可接受的條件下,針對已有成果中存在的不足,不斷用新的數學模型與仿真算法等方法對其進行改進,使圖形學的數學仿真過程不斷的逼近現實物體模型(包括剛體、軟體、流體、氣體)的構造、運動、變形、切割和拼接與反光效果的顯示這一真實的物理變化過程。即初學者沒有用計算機生成圖形的完整概念,這也是以往人們認為計算機圖形學課程難教、難學的主要原因。
由于“計算機圖形學”的繪圖原理不像數據庫軟件那樣,數據庫的功能可以被所有的應用程序所調用;也不像通信軟件那樣,所有要聯網的計算機都離不開通信技術與網絡技術,而計算機顯卡工業、3D游戲、計算機動畫、計算機輔助設計等產業的市場份額小于數據庫與計算機通信等產業的市場份額,即應用軟件的商業價值決定了它們在人們工作與學習中的地位。
參考文獻:
[1] 魏海濤. 計算機圖形學(第2版)[M]. 北京:電子工業出版社,2007.
[2] 魏海濤. 科學的構建‘計算機圖形學’的教學內容,促進計算學科的全面發展[J]. 計算機教育,2008,(10).
摘 要:本文通過全面論述計算機圖形學的知識結構體系與它在計算機科學教育中的作用與地位,提出把計算機圖形學列入計算機專業的核心課程,以彌補“高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)”與“高等學校計算機科學與技術專業公共核心知識體系與課程”中對計算理論“能行性”教育的缺失與應用軟件編程系統訓練的不足。
關鍵詞:計算機圖形學;計算機教育;核心課程;軟件系統;應用開發
中圖分類號:G642 文獻標識碼:B
1 引言
2006年,國家教育部高等學校計算機科學與技術教學指導委員會編制出版了“高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)“(以下簡稱”新專業規范“)[1],該“新專業規范”指出:由于計算機專業是全國在校人數最多、高校開設專業最多的專業,這導致計算機類專業畢業生目前出現就業困難,其主要原因還是計算機人才的培養滿足社會需要的針對性不夠明確,導致了人才結構上的不合理。解決方法是分類培養、使計算機專業的學生能有相對優勢的知識結構,高校教育應該為計算機專業現在的畢業生增加專業特色、增強就業競爭優勢,等等。并由此提出了“高等學校計算機科學與技術專業公共核心知識體系與課程”(以下簡稱“核心課程”)[2]。無疑,這對全面規范并提高國內計算機教育的整體水平具有非常大的指導作用。通過認真學習研究這些內容之后發現,究竟應選擇哪些課程作為計算機的公共核心課程供全國各行業人員作為學習計算機的基礎知識,以及一些課程的教學內容應該如何安排,才能做到既拓展計算機專業學生的知識領域、又能增加學生畢業后的就業渠道等,這些都是大家不斷思考的問題。而計算機“核心課程”的選擇似乎對上述已有問題的解決幫助不夠,而增加計算機圖形學的教育對解決這些問題是一個值得借鑒的好方法,理由如下(不妥之處,請批評指正)。
2 計算機圖形學課程列入核心課程,彌補本科教學計算能行性教育的缺失
作為具有全國指導意義的“新專業規范”,應該為計算機教育在多個行業方向的發展奠定基礎,而抽出它們所共有的基礎課作為計算機本科教育的核心課程,但現有的“新專業規范”的公共“核心課程”[2]只有
程序設計
離散數學
數據結構
計算機組成
計算機網絡
操作系統
數據庫系統
等7門課程內容,而把“計算機圖形學”課程排斥在核心課程之外,這顯然不利于計算機應用的全面發展,不利于計算機動畫、游戲、圖形標準、計算機仿真、計算機輔助設計與制造等計算機應用軟件行業的全面發展,會縮小計算機本科生畢業之后的就業面,也與制定“新專業規范”的初衷相悖。
什么能被自動計算一直是計算機界探討的主題之一[8],那些確切能用計算方法解決的問題如何設計才能被計算機自動計算簡稱計算的能行性(可計算性的實現前提),而程序設計與數據結構這兩門課程是計算機編程的基礎,它們作為計算機的公共核心課程是必須的。但這兩門課程(該“程序設計”課程實為計算機程序設計語言+語句的簡單應用,“數據結構”講授程序加工的數據如何配合算法進行有效管理安排、以實現算法的功能)并沒有從理論上解決計算機程序根據什么原則才能進行有效設計、以及程序如何構成系統后才能最后自動解決用戶提交的計算問題,這是國內“程序設計”課程多年來懸而未決的老大難題。其原因在于:講授程序設計語言時,學生還沒有數據結構方面的知識,而數據結構本身既不講模型方法、又不講解軟件系統等概念,同時這兩門課程也缺少具有復雜計算模型的大規模實用軟件編程的整體訓練內容與方法,若把這些缺失的內容都加入到教學中,則一無足夠的課時、二是改變了授課的性質。所以,從算法語言的角度介紹程序的設計方法是不完備的。
對于這個問題,計算理論早已從計算的機理與實現上予以解決。但計算理論的內容一般只在研究生階段講授,且計算理論是研究生的一個專業方向、即使該理論在研究生階段講授、學生理解也有一定難度,而把這套理論方法直接用于實踐以解決實際應用問題難度更大[9]。即現有成熟的程序設計理論與方法沒有通過適當的載體引進本科課堂教學中是現行教育政策最大的不足,而計算機圖形學是直接從應用軟件開發的角度闡述計算的“能行性”問題(見下述),當其列入計算機的核心課程后,既能彌補上述計算理論教育中缺失的一環,也能有效彌補上述7門核心課程中計算機應用軟件編程系統訓練不足的尷尬。事實上,GPU(圖形處理芯片)與CPU在PC機上的發展并駕齊驅,證明計算機圖形學是計算機科學中不可缺少的重要研究領域,可這些沒有在“核心課程”[2]中得到有效的體現令人不解。
3 計算機圖形學的知識結構體系
3.1 計算機圖形學的研究對象、研究方法與基本教學內容
計算機圖形學的最終目的就是用計算機程序的方法在計算機顯示器屏幕上生成圖像效果,特別是生成類似照相機拍攝的三維圖像。而照相機拍攝三維圖像是一個具體的物理過程,它的基本原理是光線在空間物體之間相互傳播,當光線被物體表面反射并被照相機接收后形成的顯示效果。由于人們能從二維照片上光點的亮度與大小判斷出物體表面該點距照相機的相對遠近,故人們常稱這種圖像為三維圖像。用計算機程序的方法生成具有高度真實感的圖形就是對上述物理過程的一種近似仿真模擬得到的效果。為了達到這一目的,人們根據仿真方法的要求,建立了仿真過程需要的各種模型(包括照相機模型,燈光模型,顏色模型,照明模型,物體的幾何模型,物體表面的材質與紋理模型),通過①模型數據的輸入(交互輸入、編程輸入、文件輸入等)、②數據的存儲與管理(系統參數文件、圖形模型數據文件、規格化圖形數據文件、物理顯示設備的圖形顯示文件)、③數據的運算處理(物體的幾何變換、全剖切運算、集合運算、三維重建算法、物體的各種變形運算等)、④數據的輸出(各種線段圖形的生成與實面積多邊形的填充算法、著色算法、消隱算法、紋理映射算法、陰影算法,光線跟蹤算法與輻射度算法)等4個處理過程,用系統編程設計的方法實現其圖形顯示[7]。
這里照相機模型描述了三維空間中的點、線、面等圖形投影轉換成二維空間中點、線、面等圖形,并調用二維圖形的生成算法生成二維圖像,同時裁剪超出顯示范圍的三維圖形、便于圖形的正確顯示。燈光模型與顏色模型描述了光線產生的根源、點光源的空間幾何分布、光線在空間中的傳播方向與衰減規律,光線的色彩屬性、亮度計算方法與合成色的變化規律等內容。照明模型描述了物體表面反光或透光能力的計算方法。物體的幾何模型描述了一個物體的點線面等幾何尺寸與大小。材質特性描述了各物體表面對各種性質光線的反光與透光能力的大小。紋理模型直接描述了物體表面各點的顯示細節與像素值。著色算法確定了用何種插值算法填充多邊形網格表面、使其顯示效果是多邊形網格效果或是一張光滑的曲面效果。消隱算法確定顯示物體表面的各個可見表面與邊線,不顯示其被遮擋的不可見的表面與邊線。紋理映射算法就是把一張照片映射至物體的表面上(又稱貼圖),而這個照片既可以是實際照相機拍攝的三維照片,也可以是用數學模型描述并動態產生的結果。在場景中,由于某些遮擋物的存在,光線不能直接照射到某些物體的表面,使得這些表面反光(透光)的亮度暗于被光線直接照射物體表面的亮度;觀察的角度不同,所見這種陰影效果的形狀與大小不一樣;陰影算法即在場景圖中統一繪制這種陰影顯示效果與非陰影顯示效果。光線跟蹤算法、輻射度算法就是仿真光線的傳播過程以達到最后生成所需的圖像效果。
事實上,在計算機圖形學的應用領域中僅研究這些模型還不夠,還要用程序設計語言與數據結構的知識把它們都轉換成一個個可執行的算法,并用系統編程的方法把這些算法構成一個軟件系統整體,才能方便各種圖形的生成。而在這個軟件系統中生成圖形的第一步是構造多種物體的幾何模型與形狀(物體的幾何變換、全剖切運算、集合運算是用簡單物體構造復雜物體的有效工具之一,三維重建算法是用點、線、面等元素恢復物體外殼的幾何形狀),在統一的世界坐標系中確定它們的位置與朝向,再逐一確定物體表面的材質特性與紋理效果等,使這種多物體造型(稱場景造型)滿足實際應用的需要。第二步是設置燈光與燈光的特性,設置照相機模型等。第三步是在上述二步的基礎上,統一用光線跟蹤算法或輻射度算法生成上述場景造型所對應的三維圖像效果(又稱渲染)。
應注意:
① 試圖精確的構造現實世界中所有物體、特別是具有復雜結構或微小結構或細微動態變化物體的幾何模型既不現實、其代價也太大,人們總是想用其它的方法來代替,這就是所謂分形描述、粒子描述建模等多種其它建模方法的來源;
② 完全按照物理學上光線的傳播方法來生成圖像太費時間,光線跟蹤算法、輻射度算法事實上是對物理光線傳播方法的一種近似。這個近似程度一般由圖像顯示的真實感與計算的復雜度來確定。
③ 在上述場景造型的構造過程中,若物體運動或變形,燈光改變照射的范圍、朝向、亮度、色彩,照相機改變拍攝的方向或跟蹤拍攝,此時若連續拍攝(即渲染)三維空間場景效果,就形成了多幀圖像,連續播放這些多幀圖像就是計算機動畫。
④ 所謂圖形標準就是把上述的照相機模型、點光源的燈光模型、顏色模型、簡單的照明模型、著色算法,以及點線面、多邊形網格模型等模型與算法用硬件實現,并由圖形標準提供軟件接口方法調用這些硬件功能;當用戶向該圖形標準提供上述模型的描述數據與材質、紋理描述數據之后,計算機就能用硬件加速的方法實現在顯示器中高速生成點線面、多邊形網格,以及光照效果的表面、紋理效果等圖形。目前的圖形標準本身并不負責物體幾何模型的構造,也不負責管理各種模型數據等。現圖形標準主要以紋理映射算法為主,暫時還沒有用光線跟蹤或輻射度算法以實現三維圖形的實時顯示。可見圖形標準僅是計算機圖形學部分研究成果的具體實現。
⑤ 若能在上述場景造型中,讓各種物體實時運動(照相機與燈光是具有其它功能的物體,它們也有幾何形狀,也能與人、動物等角色(多關節物體)一樣進行各種運動),并能接收用戶的交互操作、且這種運動過程具有故事情節性,同時這種多物體運動的效果能在計算機顯示器屏幕中實時生成顯示,這種計算機動畫就是3D游戲(人類社會活動的仿真)。3D游戲另一個難點在于復雜游戲引擎的構造――即如何構造并管理游戲場景的模型數據(包括聲音與人工交互操作等),使整個游戲畫面達到實時顯示的目的。事實上,3D游戲可以看成是計算機多媒體技術與虛擬現實技術在商業上的降級簡單應用。
⑥ 物體的幾何造型、變形與運動是計算機動畫的一個難點,比體這個概念更復雜的是流體與場的模型構造、顯示,它們能描述更廣泛一類的物理現象,如臺風的變化過程、風洞的實驗效果、物體表面的應力變化現象、環境中熱傳遞效果的變化、地質勘探結果的可視化顯示等,一般人們把這些問題歸納在“科學計算的可視化”課程中講授,因為這些流體與場的模型構造等需要比較深的數學知識。但是,一旦這些流體與場的幾何數據模型確定之后,人們就能用圖形標準顯示它們。
⑦ 計算機輔助設計CAD與計算機動畫的區別:在CAD中,也需要構造物體的幾何模型并顯示這些物體的構造效果,更重要的是還需要用數控機床把這些設計出的物體零件加工制造出來,故它對物體的幾何模型要求特別高、特別是其誤差控制,因為多個零部件組成的精密加工機床等最后影響加工的精度都與各個物體模型的誤差精度相互關聯。顯然,在CAD領域中,也有零部件之間的聯動等多種運動需要精密控制(機械運動與仿真)。與物體幾何模型要求相比,CAD領域中物體的顯示要求可以放低些。而在計算機動畫中,相對而言,對物體幾何模型的要求低,例如物體的外表面可以不封閉,只要這個不封閉的外殼表面破綻不被照相機拍攝到就可以了;但計算機動畫對最后渲染的圖像顯示質量的真實感效果要求很高。
⑧ 二維圖形與三維圖形的區別:這兩者的區別除了其數學模型一個是二維的、一個是三維的之外,更大的區別還在于二維圖形學只能從數學上研究圖形的基本規律(點、直線、曲線、平面與形狀,位置,運動與變形,色彩等)、以及圖形的模型構造與顯示方法;利用二維圖形的簡單性,可剖析計算機二維圖形系統的組成,即軟件系統是一個能自動運行的程序,它能從輸入、存儲、運算處理、
輸出等方面全面處理用戶在某個領域中提出的諸多數學模型并完成其模型描述數據的加工任務,使用戶很容易明確這種軟件的組成、功能與使用范圍。三維圖形學卻可以用數學模型的方法研究自然界中的多種物理現象,由此探討大自然中多種物理現象的變化規律,并能用圖形顯示的方法來表現這種變化過程,這種方法正是人們探索自然并進行科學研究所倡導的基本方法之一。因此,從三維圖形學的基本教學研究內容可知,用圖形方式(可見的點線面、色彩、紋理)顯示各種物理現象的變化過程只是一個表面現象,關鍵的是要掌握這種變化過程的物理機理并能用數學模型的方法全面正確的描述這種變化(即用圖形的方法表達計算機信息數據的含義非常適合人們觀察自然、了解自然現象與變化規律,而計算機的信息描述數據是由具體的各種物理變化過程確定的),即掌握計算機仿真與科學研究方法才是學習計算機圖形學的真諦,也即用計算物理學的基本思想能統一傳統意義上計算機圖形學與計算機輔助設計學科中的基本研究內容。計算機專業的學生有了這種方法后,再深入其它各應用學科領域,努力掌握其物理原理、科學實驗與數學模型方法等知識,并與行業專家相互配合,計算機與計算工具就在各專業領域的科學研究與系統設計上大有用武之地了。
綜上所述,可以給出計算機圖形學如下定義:
計算機圖形學屬于計算機應用軟件的研究范疇,它主要通過物理原理與數學方法,建立描述自然景觀(虛幻世界)的幾何數據模型與顯示圖形的物理數學模型,以達到用程序的方法把這些模型的描述數據通過算法轉換成在計算機顯示器中顯示自然景觀圖像的目的。本質上,用計算機生成三維真實感圖形就是用數學模型的方法仿真光線在物體之間相互傳播而產生的顯示效果或把光線傳遞的效果即照片映射至物體表面上所產生的顯示效果。
國內計算機圖形學教育工作者已認識到計算機圖形學在計算機學科教育與科學研究中的重要性,并于2001年公開出版計算機圖形學教材支持上述觀點[10]。但由于這些觀點沒有引起國內計算機界制定政策的主流階層人士的關注,相反,從2000年開始,計算機圖形學的內容卻從全國范圍內的計算機專業等級考試中消失,這不能不說是國內計算機教育的一大損失。
而計算機圖形學的授課關系見4.1節。
3.2 “新專業規范”中,計算機圖形學的教學內容有待改進
“新專業規范”中計算機圖形學的教學內容主要放在計算機圖形標準的使用上,核心內容只有圖形標準、照相機模型,圖形顯示設備與輸入設備,前期課程要求計算機程序設計語言與離散數學,并只安排8個課時來講授這些內容,其它的內容作為選修內容(這包括各種圖形的生成算法、物體幾何模型的描述方法,計算機動畫,可視化,虛擬現實,計算機視覺,人們對色彩的主觀感受、如何用色彩方式表達設計作品的主題思想,等等)。這種教學安排能使學生掌握圖形標準的使用、以及照相機模型的應用,很容易導致學生誤認計算機圖形學就是在顯示器上繪制各種圖形這種認識偏差。
這種教學安排不當之處如下:
首先,計算機圖形學的前期課程應該是程序設計語言與數據結構。實際上,不學離散數學并不影響學生編寫圖形學的各種應用程序;但不學數據結構,則編程困難;而且授課學時數太少。
其次,圖形標準自成體系,但它不能構成一個完全自動運行并具有圖形數據輸入、存儲、運算處理、輸出等處理全流程功能的軟件系統,它往往需要用戶在應用軟件中向圖形標準輸入模型數據并調用其各函數才能出現所需要的圖形顯示效果。初學者原指望學了計算機圖形學,就知道象3DS MAX與OpenGL等軟件中是如何編寫程序并實現各種動畫圖形的顯示,但授課結果卻令人失望。
第三,由于初學者一般缺少對計算機圖形學的全面了解,缺少對計算機圖形學的研究對象與研究方法的認識,也沒有圖形系統的概念,該“新專業規范”授課大綱中雖有物體幾何模型的描述方法但缺少在圖形系統中具體建造物體幾何模型等實例;另大綱中授課內容的邏輯關系非常不順暢(例如把計算機視覺作為計算機圖形學的一部分對待并講授值得商榷,雖然人們期待從計算機視覺圖像中獲得圖像的模型描述數據并一直朝這個方向努力,但計算機圖形學與計算機視覺的研究方向與研究方法畢竟有很大的區別),也沒有總結出計算機圖形學的核心概念,且對計算機圖形學的認識仍停留在圖形學由各種算法的集合所組成的認識層面上,很難正確體現計算機圖形學在科學研究中的重要作用。若授課內容掌握不當易使教學與學習迷失方向,或再次導致計算機圖形學課程被計算機專業邊緣化,這也是多年來國內同行反映計算機圖形學難教難學的原因之一,這顯然與當今計算機圖形學在計算機科學中的發展潮流相悖。
第四,圖形標準只是計算機圖形學部分研究成果的具體實現,當初國外為什么會選擇圖形標準而不是選擇計算機動畫為案例作為講授計算機圖形學課程的主要內容,作者認為可能有以下原因:
① 歷史的原因:因為圖形標準是計算機圖形學最早、最成熟的研究領域,后才有CAD、游戲與動畫等;且圖形標準在各個行業都有廣泛的應用,而CAD、游戲與動畫是一個具體的專業方向,教學難度大。
② 商業發展的需要:圖形標準用硬件實現后,已經成為個人計算機的標準配置,這就促使人們更加專注圖形標準的發展。
③ 國外的教學體系不一樣:美國的計算機工業、圖形學產業與計算機教育均位于世界領先水平,但全美國并沒有強制性的計算機教育指導大綱,可是美國各校的計算機教育各有特色,他們對計算機的各個方面都有涉及、且各種層次的計算機課程都有,這種寬松的教育體制有利于科技成果與教育的創新培養。以圖形學課程為例,若你需要繼續深造,它還有許多圖形學的選修課、提高課程(如計算機輔助幾何設計、數字幾何處理、曲面造型與設計、CAD、計算機動畫、游戲、計算機程序設計方法等等)以及最新的學術論文等待著你、直至讓你從這種授課體系中走向學科的最前沿與商業開發――即雖然他們的某一門基礎課不一定很完美,但他們可以從完整的授課體系中,讓你掌握計算機圖形學等計算機應用學科的全部內容;但這也同時留下了因為課程劃分過細,使人不容易一下掌握學科內容的全貌而留下遺憾。可是國內的計算機教育與國外不一樣,首先,國內的高校沒有條件開設那么多的計算機選修課;其次,若是全國性的計算機教學指導大綱不全面、不權威的話,就會在計算機學科的發展道路上留下無可挽回的遺憾。
④ 出于知識產權的保護,美國沒有一本書的教學內容是一樣的(包括CC2005中關于計算機圖形學的知識結構體系的論述),這固然便于知識創新,但卻不利于優秀知識的繼承與傳授,結果使得每本新書的內容與體系都不一樣且龐雜,這對初學者是一個極大的負擔,需要教師認真抽取眾多書籍的有效內容,成系統后傳授給學生,才能有效的提高學生的學習效率,2000年以前國內外計算機圖形學的教材內容與體系的不夠成熟,也是造成國內計算機圖形學授課不能得到有效重視的原因之一。
⑤ 由于以上原因,美國人并沒有把計算機圖形學作為計算機學科的核心課程,這使得美國人的計算機圖形學課程的教育落后于其計算機圖形學等商業軟件開發等應用,這是一個不爭的事實(在美國,教材與授課基本上是老師的個人作為,商業軟件的開發是團隊作為并有經濟利益作為支撐,它能不斷發展并自我完善)。也有很多國際人士認識到計算機圖形學的教育出現了問題[4],顯然,仍把計算機圖形學定義為在顯示器上顯示各種圖形是過于簡單,這是沒有正確地把計算機圖形學學科的發展規律引入教育部門、忽視計算機圖形學在各行業領域中的具體應用與需求的一種表現。因此,全面認真研究美國人在計算機教育與計算機工業的發展規律、商業軟件開發等多種優缺點,再針對國內計算機教育中存在的不足,提出解決問題的方法應該是國內計算機教育界值得深思的問題;顯然,僅用跟蹤所謂國外先進的教學方法與理念也有不全面的地方。
4 計算機圖形學課程在計算機科學教育中的作用與地位
4.1 計算機圖形學是計算機應用軟件編程思想系統訓練的重要基礎課程
數據計算、數據存儲與檢索、數據聯網通信是現代計算機的三個最基本的應用。在這三者中,對于數據存儲,一般有數據結構課程與數據庫系統軟件分別介紹其基本原理與大規模數據的系統管理等軟件應用;對于數據聯網通信,一般有通信技術、計算機互聯網等課程、WinSocket技術等介紹其基本原理與實現方法;對于數據計算,一般有算法語言、編譯原理、自動機理論等課程介紹其原理,計算機科學與技術專業追求的目標是:用形式語言與自動機理論,通過形式化和模型的建立,構建系統,進行模型計算。但這些內容抽象、內容難以理解、難以直接應用解決實際應用問題[9],計算機專業的本科生學習這一方法尚有一定難度,非計算機專業的學生更不會接觸編譯原理與自動機理論等,這就造成一般學生在學習計算機進行編程計算的問題上存在知識缺陷,而計算機圖形學課程的授課正好可以有效的解決這個問題。
國內新一版的計算機圖形學的授課方法[7]:首先,以二維圖形為例,從理論上全面解決了圖形系統軟件的構建方法以及圖形數據處理流程的全過程,使初學者牢固的樹立起軟件系統的概念;其次,為了用計算機仿真的方法在顯示器中生成三維真實感圖形效果,建立了描述各種物理現象的多種數學模型(見上述),這些數學模型的描述數據都能通過圖形模型數據文件的方式保存在計算機圖形系統中供系統內部程序調用,以仿真方法生成三維圖像。也就是說,①系統與模型的數學與形式化的描述方法;②按系統數據處理流程,用算法語言與數據結構等知識把模型數據的處理方法全轉換成一個個程序,以實現其數據處理的全過程等任務;③編程實現時,需根據計算機的配置與用戶的經濟要求,合理考慮所選算法的復雜度(或選擇優化算法實現圖形功能);這三者是計算機編程計算的基本步驟與要求,是實現可計算性的三個條件――即計算機圖形學既成功探索了一般典型的計算機應用軟件系統開發的基本規律,又用可視化的方式表達了其程序數據運算處理的最后結果,這為該課程成為初學者學習計算機程序設計方法的首選課程之一奠定了基礎。
若沒有計算機圖形學等編程課程的系統訓練,計算機初學者一般只能通過實際大型軟件項目的學習與訓練(或繼續深造),通過自我總結與提高,才能全面地掌握這種編程與數據計算等知識,而這種機會不是人人都具有的,其付出的代價也將是巨大的。例如現在一般計算機本科專業的學生雖然能熟練的掌握3ds max軟件的操作使用,但不清3ds max軟件是如何編制而成,就是現階段本科教育存在缺陷的具體表現。
通過數據結構的學習,使學生明白:算法+數據結構決定程序設計;但計算機圖形學的授課能使學生進一步明白:算法不是從天上掉下來的,它們是由用戶解決實際問題建立的物理數學模型、并抽象出模型描述數據之后,提出處理其數據模型的基本方法與步驟;而數據結構是記錄該模型的描述數據、以及根據算法的需要構造而成、以配合保存各種中間加工數據或最后加工結果;編程者只有把這些解決問題對象的多種模型編寫成軟件系統之后,才能完滿的完成程序設計的任務――即計算模型及對模型的變換與運算處理方法決定了程序設計的算法與數據結構。
4.2 計算機圖形學的教育體現了計算機學科的科學性
計算學科是指通過在計算機上建立模型并模擬物理過程來進行科學調查和研究。該學科是對信息描述和變換算法的系統研究,主要包括它們的理論、分析、效率、實現和應用[6]。在目前所見的計算機教材中,只有計算機圖形學是按照這種理論體系組織教學內容的。這些教學內容是人們耳熟能詳的物理原理與相對簡單的數學知識在計算機中的綜合運用,是計算機學科科學性的具體表現之一――只有把計算工具直接應用于科學研究中,這種計算工具與方法具有科學性才有說服力,而計算機仿真是科學研究中常用的一種有效方法,復雜的數學計算又是仿真建模的基礎,從這個意義上講,仿真與復雜的數學計算等都是科學研究中重要的研究方法之一。這樣,該課程就很好的解決了“新專業規范”中人們對“數字科學計算”的認識不統一而導致該課程的教學內容與要求不詳等問題,很好地使計算機的應用回歸其本來面目;
4.3 用圖形方式表示計算機信息數據的含義,比用數字符號方式表示其含義更高級、更自然,也是計算機科學研究的對象之一
用文字符號方式描述客觀世界是對客觀世界的一種抽象,是對客觀世界的一種不完整的描述;而人們感受客觀世界最自然、相對全面的是用眼睛觀察客觀世界,它可以較準確的確定客觀世界中物理現象的存在與變化規律,這個方法運用于計算機中,就是用圖形方式表示計算機信息數據的含義,這種表示方法比符號方式表示信息數據的含義復雜,表示的信息量大,對計算機的硬件要求高。在計算機的多媒體信息表達方式中,圖形方式是處理過程最復雜的、也更符合人們的觀察習慣。故用圖形方式表達信息數據是一種表達信息數據含義的高級表達方式。
現代計算機的應用,不僅是數值計算與數據管理、還表現在工程設計中,人們用圖形方式來表達設計人員的設計思想、設計方法,以及設計作品的體系結構與功能等,它能充分表達設計人員的形象思維方式,這種表達方式不僅要求能用計算機表達出來,而且要求計算機能接受人們用這種方式向計算機輸入數學模型,這些都是計算機科學面臨的新課題。例如古代三國時期,諸葛亮造木牛流馬搬運糧草,史書雖然有文字記載其構造方法,但后人卻無法復原這種運輸工具。在沒有實物的情況下,只有用圖形方式表示該運輸工具的基本構造方法才能使后人復原這種古代的運輸工具。對于這類復合結構的復雜物體與運動形式即使用幾何數據對它詳細描述,若不借助圖形方式來表示其幾何形狀與結構等信息,人們對它的理解也會發生困難,這就是現實中用符號方式描述與圖形方式描述(抽象描述與形象描述)信息含義之間的差別。經驗告訴我們:在計算機中,信息數據的描述方法不同,往往導致編程的方法與效果也不同,若我們不進行這種方式的培訓,就會落后于計算機時代的發展。
4.4 掌握計算機配置的常用工具,是計算機應用的必要條件
傳統計算機學科的授課內容,并不直接講解如何進行科學計算等問題,而是為解決復雜的科學計算等問題提供軟件服務工具、方法與手段等。例如,從大量應用中(包括軟件編程),找準、預測用戶的需求;然后,從中抽象其具有共性的方法與難題,并把它們上升為理論,最后把這種理論開發成工具與系統方法,供用戶使用;操作系統軟件、匯編語言與編譯系統、高級語言與編譯系統、軟件工程的概念與方法、面向對象的軟件開發語言等都是這樣逐漸發展起來的;同樣的思路,為了計算機的應用,人們開發了辦公自動化軟件、數據庫系統軟件、網絡瀏覽器、三維圖形標準等各種工具,等等,用戶用這些工具能更高效率的開發應用程序。但是,這種授課方式卻把用計算機解決科學計算等應用問題留給具體的應用部門與用戶對應用軟件的具體開發,而課堂教學一般缺少這方面的系統實例,這也是導致目前計算機本科生應用軟件系統開發能力弱的原因之一。
但當計算機學科發展到用可視化軟件開發應用程序,而計算機的基礎教育卻忽視這種發展潮流與技術進步(現有的計算機公共核心課程沒有計算機圖形學的內容),這只能使我們的應用軟件的開發水平仍停留在上世紀70年代的字符表現水平上。因此,計算機本科教育中,使學生掌握計算機配置的常用工具是計算機應用的必要條件,這當然包括讓學生掌握計算機三維圖形標準這個有用工具。
4.5 計算機圖形學是嫁接多學科的橋梁,是科學研究思維能力訓練的延續與有效方法之一
大學的教育,除了要求學生掌握一門專業的系統基礎理論知識與應用外,關鍵是要掌握“根據任務與需要,學會從中發現問題、分析問題、提出解決問題的方法,建立解決問題的數學模型,直至用物理實驗或軟件編程的方法解決發現的問題”這種工作能力以及繼續學習深造的能力。只有這樣,計算機專業的學生才具備自我獲取知識和探索解決問題的能力,并使自己在新的工作崗位上做到既是計算機方面的專家,也是行業領域的專家助手,計算機專業的學生才能更好的服務于社會,造福于自己。
什么樣的課程能做到使他們具備自我獲取知識和探索解決問題的思維能力?傳統上大學物理與數學課程的教育是培養這一方法的有效途徑。因為物理學是蘊藏科學方法論的寶庫,物理不僅包含了物質世界的運動規律,同時蘊涵了豐富的哲理和研究、思維方法,對于培養創新思維有著獨特的優勢。這種獨特的優勢地位決定了大學物理在培養全面發展型人才中的特殊作用。顯然,知識的內容是有限的,而思維的創造力是無限的。物理學若干世紀以來的輝煌成就,使之創造了一整套行之有效的思想方法和研究方法,據專家統計,在300種通用的科學方法中,物理學包含170種,占56.7%。在大學物理課程中,學生可以接觸到實驗的方法、觀察的方法、科學抽象的方法、理想模型的方法、科學歸納的方法、類比的方法、演繹的方法、統計的方法、證明和反駁的方法、數學模型的方法;還可以學習到科學假設的方法、對稱性分析的方法以及定性和半定量的方法等等。同時,物理課程中還包含了無數著名科學大師許多深刻的物理思想和精妙的哲學思辯,尤其隨處可見前輩科學破除權威,敢于懷疑,大膽創新的許多生動鮮活的事例。這些閃耀人類智慧光芒的科學方法和科學精神,對提高學生的科學素養,培養他們的探索精神和創新意識,都會產生積極而深遠的影響,起到其他課程無法替代的作用[3]。
但傳統上計算機課程內容的安排中斷了高等數學與大學物理的學習與后續計算機課程學習的相互關系,一些搞計算機工作的人員會片面地認為不學物理與高等數學也一樣能學好計算機課程、一樣能從事計算機工作。而計算機圖形學課程的教學是嫁接大學一年級的高等數學、大學物理與三年級計算機專業教育的有效橋梁,是物理、數學知識在計算機應用領域中的具體應用。而計算機圖形學編程思想的訓練,特別是探索解決物理問題的數學模型的各種研制方法與思維能力,對各種行業面臨實際問題的解決與計算機應用軟件的編程具有典型的示范作用――即不同的應用領域、待解決的物理問題與性質不同,其建模解決問題的方法也不同。這種思維方式能告訴各專業學習計算機的學生:通過建立軟件系統、并用模型與仿真的方法指導工程實現(例如實現計算機圖形顯示)是工程應用中的典型方法之一(自動控制、通信、雷達系統工程中都是先用系統的數學模型與仿真方法確定系統工作參數后,再考慮其具體系統的物理實現),這種思維方式是目前計算機公共核心課程與“軟件工程”課程所缺少的。具備這種知識與能力,無疑為計算機專業的學生拓展新的發展方向、為計算機專業的學生向其他應用行業的轉行做好了思想準備。
4.6 計算機學科的發展是為了應用,而計算機圖形學是計算機科學計算等應用的典型代表
計算機科學與技術主要以計算機產業的形式出現在人們的日常生活中,是人們生活、學習與工作的有效計算、存儲查詢、娛樂等輔助工具之一。計算機科學除了要探討計算理論自身的發展之外,還要探討產業的發展,探討用戶的應用與需求;再強大的計算機、功能更全面的開發工具,也需要更復雜的計算機應用課題做支撐,這是計算機學科發展的兩條主線。計算機學科的核心教育僅局限于計算理論自身的發展是不完善的,而計算機圖形學在計算機動畫、3D游戲、圖形標準、計算機仿真(如天氣預報、大規模地質勘探數據處理、模擬原子彈爆炸與理論設計、模擬汽車碰撞、電磁輻射設計、計算流體力學等應用都需要用圖形方式表達其結果)、計算機輔助設計與制造等領域的大量應用,代表了當今計算機科學應用的發展水平,是推動計算科學向前發展的源動力之一,不能再被計算機教育界所忽視。
基于以上理由,相信計算機圖形學成為計算機公共核心課程是可行的!
未經授權,謝絕在公開的商業出版物中復制、引用本文之觀點與內容。
參考文獻
[1] 教育部高等學校計算機科學與技術教學指導委員會.“高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)”[M].北京:高等教育出版社,2006.
[2] 教育部高等學校計算機科學與技術教學指導委員會.“高等學校計算機科學與技術專業公共核心知識體系與課程”[M].北京:清華大學出版社,2007.
[3] 陳菊梅.論大學物理教學對學生創新思維的培養[J].高等教育研究學報,2006,(9).
[4] 石教英.需重視工程科學的可視化學習[J].國際學術動態,2005,(3).
[5] 蔣彥等.關于數學建模思想融入課程教學的研究[J].高等教育研究學報,2005,(3).
[6] 蔣宗禮.認識計算學科分類培養優秀人才[J].計算機教育,2006,(5).
[7] 魏海濤.計算機圖形學(第2版)[M].北京:電子工業出版社,2007.
[8] 趙致琢.計算科學導論(第三版)[M].北京:科學出版社,2004.
論文關鍵字:計算科學計算學科計算機語言計算機軟件網絡和病毒
論文摘要:計算科學主要講述了一種科學的思想方法,計算科學的基本概念、基本知識它的發展主線、學科分支、還有計算科學的特點、發展規律和趨勢。
引言:隨著存儲程序式通用電子計算機在上世紀40年代的誕生,和計算科學的快速發展以及取得的大量成果。計算科學這一學科也也應運而生。《計算科學導論》正如此書的名字,此書很好的詮釋了計算科學這一學科,并且指導了我們應如何去學好這一學科。使得我們收獲頗多。并且讓我深深的反思了我的大學生活。正如趙老師書中所講的:“計算科學是年輕人的科學,一旦你選擇了計算科學作為你為之奮斗的專業類領域,就等于你選擇了一條布滿荊棘的道路。一個有志于從事計算科學研究與開發的學生,必須在大學幾年的學習中,打下堅實的基礎,才有可能在將來學科的高速發展中,或在計算機產品的開發和快速更新換代中有所作為。
<一>什么是計算科學和它的來歷
計算科學主要是對描述和變換信息的算法過程,包括其理論、分析、設計、效率分析、實現和應用的系統研究。全部計算科學的基本問題是,什么能(有效的)自動運行,什么不能(有效的)自動運行。本科學來源于對數理邏輯、計算模型、算法理論、自動計算機器的研究,形成于20世紀30年代的后期。
隨著存儲程序式通用電子計算機在上世紀40年代的誕生,人類使用自動計算裝置代替人的人工計算和手工勞動的夢想成為現實。計算科學的快速發展以也取得大量成果,計算科學這一學科也也應運而生。
<二>計算科學的發展
a、首先先介紹圖靈機
圖靈機的發明打開了現代計算機的大門和發展之路。圖靈機通過一條兩端可無限延長的袋子,一個讀寫頭和一組控制讀寫頭的(控制器)組成它有一個狀態集和符號集,而此符號集一般只使用0和1兩個符號。而就是這個簡潔的結構和運行原理隱含了存儲程序的原始思想,深刻的揭示了現代通用電子數字計算機的核心內容。現在通用的計算機是電子數字計算機,而電子數字計算機的發展是建立在圖靈機的基礎之上。他的二進制思想使計算機的制作的簡化成只需兩個穩定態的元器件。這在今后的計算機制作上無論是二極管或集成電路上都顯示了明顯的優越性。
b、計算機帶動的計算學科
1946年隨著現代意義上的電子數字計算機ENIAC的誕生。掀起了社會快速發展的嶄新一頁。計算機工作和運行就擺在了人們的面前。
1、計算機語言
我們要用計算機求解一個問題,必須事先編好程序。因此就出現了最早的機器指令和匯編語言。20世紀50年代后,計算機的發展步入了實用化的階段。然而,在最初的應用中,人們普遍感到使用機器指令編制程序不僅效率低下,而且十分別扭,也不利于交流和軟件維護,復雜程序查找錯誤尤其困難,因此,軟件開發急需一種高級的類似于自然語言那樣的程序設計語言。1952年,第一個程序設計語言ShortCode出現。兩年后,Fortran問世。作為一種面向科學計算的高級程序設計語言,Fortran的最大功績在于牢固地樹立了高級語言的地位,并使之成為世界通用的程序設計語言。Algol60的誕生是計算機語言的研究成為一門科學的標志。該語言的文本中提出了一整套的新概念,如變量的類型說明和作用域規則、過程的遞歸性及參數傳遞機制等。而且,它是第一個用嚴格的語法規則——巴科斯范式(BNF)定義語言文法的高級語言。還有用于支持結構化程序設計的PASCAL語言,適合于軍隊各方面應用的大型通用程序設計語言ADA,支持并發程序設計的MODULA-2,支持邏輯程序設計的PROLOG語言,支持人工智能程序設計的LISP語言,支持面積對象程序變換的SMALLTALK、C等。
2、計算機系統和軟件開發方法
現代意義上的計算機絕不是一個簡單的計算機了而也包括了軟件(系統軟件、應用軟件)。各種各樣的軟件使得計算機的用途大大增強。而軟件開發也成為了一個重要課題和發展方向。軟件開發的理論基礎即是計算模型。隨著計算機網絡、分布式處理和多媒體的發展。在各種高級程序設計語言中增加并發機構以支持分布式程序設計,在語言中通過擴展繪圖子程序以支持計算機圖形學程序設計在程序設計語言中已非常的流行。之后,在模數/數模轉換等接口技術和數據庫技術的支持下,通過擴展高級語言的程序庫又實現了多媒體程序設計的構想。進入20世紀90年代之后,并行計算機和分布式大規模異質計算機網絡的發展又將并行程序設計語言、并行編譯程序、并行操作系統、并行與分布式數據庫系統等試行軟件的開發的關鍵技術依然與高級語言和計算模型密切相關,如各種并行、并發程序設計語言,進程代數,PETRI網等,它們正是軟件開發方法和技術的研究中支持不同階段軟件開發的程序設計語言和支持這些軟件開發方法和技術的理論基礎----計算模型
3、計算機圖形學
在計算機的硬件的迅速發展中。隨著它的存儲容量的增大,也掀起了計算機的巨大改革。計算機圖形學、圖像處理技術的發展,促使圖形化界面的出現。計算機圖形學是使用計算機輔助產生圖形并對圖形進行處理的科學。并由此推動了計算機輔助設計(CAD)、計算機輔助教學(CAI)、計算機輔助信息處理、計算機輔助測試(CAT)等方向的發展。圖形化界面的出現,徹底改變了在一個黑色的DOS窗口前敲代碼輸入控制命令的時代。同時也成就了一個偉大的公司Microsoft。
4、計算機網絡
隨著用戶迫切需要實現不同計算機上的軟硬件和信息資源共享。網絡就在我們的需求中誕生了。網絡的發展和信息資源的交換使每臺計算都變成了網絡計算機。這也促進計算機的發展和廣泛應用。
<三>計算機學科的主線及發展方向
圍繞著學科基本問題而展開的大量具體研究,形成學科發展的主流方向與學科發展主線和學科自身的知識組織結構。計算學科內容按照基礎理論、基本開發技術、應用以及他們與硬件設備聯系的緊密程度分成三個層面:
1、計算科學應用層
它包括人工智能應用與系統,信息、管理與決策系統,移動計算,計劃可視化,科學計算機等計算機應用的各個方向。
2、計算科學的專業基礎層
它是為應用層提供技術和環境的一個層面,包括軟件開發方法學,計算機網絡與通信技術,程序設計科學,計算機體系結構、電子計算機系統基礎。
3、計算科學的基礎層
它包括計算科學的數學理論,高等邏輯等內容。其中計算的數學理論涵蓋可計算性與計算復雜性理論形式語言與計算機理論等。
<四>計算機的網絡的發展及網絡安全
(1)計算機網絡與病毒
一個現代計算機被定義為包含存儲器、處理器、功能部件、互聯網絡、匯編程序、編譯程序、操作系統、外部設備、通信通道等內容的系統。
通過上面定義,我們發現互聯網絡也被加入到計算機當中。說明了網絡的重要以及普及性。21世紀是信息時代。信息已成為一種重要的戰略資。信息科學成為最活躍的領域之一,信息技術改變著人們的生活方式。現在互聯網絡已經廣泛應用于科研、教育、企業生產、與經營管理、信息服務等各個方面。全世界的互聯網Internet正在爆炸性的擴大,已經成為覆蓋全球的信息基礎設施之一。
因為互聯網的快速發展與應用,我們各行各業都在使用計算機。信息安全也顯得格外重要。而隨著計算機網絡的發展,計算機網絡系統的安全受到嚴重的挑戰,來自計算機病毒和黑客的攻擊及其他方面的威脅也越來越大。其中計算機病毒更是很難根治的主要威脅之一。計算機病毒給我們帶來的負面影響和損失是刻骨銘心的,譬如1999年爆發的CIH病毒以及2003年元月的蠕蟲王病毒等都給廣大用戶帶來巨大的損失。
我們想更好的讓計算機為我們服務,我們就必須很好的利用它,利用網絡。同時我們也應該建立起自己的防護措施,以抵抗外來信息的侵入,保護我們的信息不受攻擊和破壞。
(2)計算機病毒及它的防范措施:
計算機病毒是一組通過復制自身來感染其它軟件的程序。當程序運行時,嵌入的病毒也隨之運行并感染其它程序。一些病毒不帶有惡意攻擊性編碼,但更多的病毒攜帶毒碼,一旦被事先設定好的環境激發,即可感染和破壞。
<一>、病毒的入侵方式
1.無線電方式。主要是通過無線電把病毒碼發射到對方電子系統中。此方式是計算機病毒注入的最佳方式,同時技術難度也最大。可能的途徑有:①直接向對方電子系統的無線電接收器或設備發射,使接收器對其進行處理并把病毒傳染到目標機上。②冒充合法無線傳輸數據。根據得到的或使用標準的無線電傳輸協議和數據格式,發射病毒碼,使之能夠混在合法傳輸信號中,進入接收器,進而進人信息網絡。③尋找對方信息系統保護最差的地方進行病毒注放。通過對方未保護的數據鏈路,將病毒傳染到被保護的鏈路或目標中。
2.“固化”式方法。即把病毒事先存放在硬件(如芯片)和軟件中,然后把此硬件和軟件直接或間接交付給對方,使病毒直接傳染給對方電子系統,在需要時將其激活,達到攻擊目的。這種攻擊方法十分隱蔽,即使芯片或組件被徹底檢查,也很難保證其沒有其他特殊功能。目前,我國很多計算機組件依賴進口,困此,很容易受到芯片的攻擊。
3.后門攻擊方式。后門,是計算機安全系統中的一個小洞,由軟件設計師或維護人發明,允許知道其存在的人繞過正常安全防護措施進入系統。攻擊后門的形式有許多種,如控制電磁脈沖可將病毒注入目標系統。計算機入侵者就常通過后門進行攻擊,如目前普遍使用的WINDOWS98,就存在這樣的后門。
4.數據控制鏈侵入方式。隨著因特網技術的廣泛應用,使計算機病毒通過計算機系統的數據控制鏈侵入成為可能。使用遠程修改技術,可以很容易地改變數據控制鏈的正常路徑。
<二>病毒攻擊的防范的對策
1.建立有效的計算機病毒防護體系。有效的計算機病毒防護體系應包括多個防護層。一是訪問控制層;二是病毒檢測層;三是病毒遏制層;四是病毒清除層;五是系統恢復層;六是應急計劃層。上述六層計算機防護體系,須有有效的硬件和軟件技術的支持,如安全設計及規范操作。
2.嚴把收硬件安全關。國家的機密信息系統所用設備和系列產品,應建立自己的生產企業,實現計算機的國產化、系列化;對引進的計算機系統要在進行安全性檢查后才能啟用,以預防和限制計算機病毒伺機入侵。
3.防止電磁輻射和電磁泄露。采取電磁屏蔽的方法,阻斷電磁波輻射,這樣,不僅可以達到防止計算機信息泄露的目的,而且可以防止“電磁輻射式”病毒的攻擊。
4.加強計算機應急反應分隊建設。應成立自動化系統安全支援分隊,以解決計算機防御性的有關問題。
很多公司都有因為電腦被入侵而遭受嚴重經濟損失的慘痛經歷,不少普通用戶也未能避免電腦被破壞的厄運,造成如此大損失的并不一定都是技術高超的入侵者所為,小小的字符串帶給我們的損失已經太多。因此,如果你是數據庫程序開發人員、如果你是系統級應用程序開發人員、如果你是高級計算機用戶、如果你是論壇管理人員......請密切注意有關字符漏洞以及其他各類漏洞的最新消息及其補丁,及時在你的程序中寫入防范最新字符漏洞攻擊的安全檢查代碼并為你的系統安裝最新的補丁會讓你遠離字符帶來的危險。經常殺毒,注意外來設備在計算機上的使用和計算機對外網的鏈接。也可以大大有效的避免計算機被攻擊。
1.1概述
當今社會正處在一個信息爆炸的時代,人們常常在茫茫的數據海洋面前顯得不知所措,一時難以抓住隱藏在數據之中的本質、結構和規律。可視化[1-4]就是在這種背景下發展起來的,它把數據變換成易于被人接受和理解的形式——圖形。可視化的前身是計算機圖形學,今天它已經發展成為研究用戶界面、數據表示、處理算法、顯示方式等一系列問題的一個綜合性學科,并成為人們分析自然現象、社會經濟發展形勢,認識客觀事物本質和變化規律的得力助手。
根據側重面的不同,可視化可以分成三個分支,科學可視化[4](Scientific Visualization)、數據可視化[1,5](Data Visualization)和信息可視化[12](Information Visualization)。科學可視化側重科學和工程領域數據的可視化問題;數據可視化比科學可視化具有更廣泛的內涵,它不僅包含工程領域數據的可視化,還包含其它領域(如經濟、商業、金融等)中數據的可視化。而信息可視化一般是指Internet 網上超文本、目錄、文件等抽象信息的可視化。
:30000多字
碩士論文,有目錄及參考文獻
400元
備注:此文版權歸本站所有;。轉貼于
關鍵詞:非真實感繪制;筆刷模型;多風格繪制
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2012)07-1629-03
Painterly Rendering Based on Brush Stroke
ZHAO Yang1, YANG Jian-lan2
(1.Yunnan Normal University, Kunming 650092, China; 2. Kunming Medical College, Kunming 650101, China)
Abstract: The paper presents a new method based on brush stroke to generate different artistic style painterly image. A painting is built up in a series of layers, drawn with large, long and curved brush strokes. Experimental results confirm that this method can create an oil painting with different artistic style from a photograph.
Key words: None-photorealistic rendering; Brush Stroke; Vary Style painterly rendering
1相關工作簡介
計算機圖形學領域是目前比較活躍的研究領域,相關技術可廣泛應用于后期圖像風格化處理、二維動畫生成及數字娛樂行業。
自計算機圖形學出現以來,對再現真實世界的追求一直是學術界努力的目標。經典的真實感圖形學算法致力于產生仿真圖像和場景,其對真實世界的再現,達到了使人無從分辨的程度[1]。
但是真實感繪制技術的也有其不足之處,為了避免這些不足之處,非真實感繪制作為其補充被帶入了研究之中。非真實感繪制技術其英文全稱為Non Photorealistic Rendering,簡稱NPR。經過十多年的發展,非真實感繪制技術取得了長足的進步,并且催生出不少優秀的成果。
無論是學術界還是工業界,研究者已經設計開發出了一系列的圖像、視頻特效處理技術和方法,但是其中只有很小一部分被成功地應用到電影動畫制作,廣告媒體宣傳以及數字娛樂等方面。我們今天所看到的電影、電視絕大部分不是由真人扮演的動作影片,就是由超級圖形工作站所渲染繪制出來的三維動畫。雖然,學術界和工業界在對電影和動畫的風格化繪制方面已經做了大量的試驗工作,但是這些技術還沒有能夠得到廣泛地應用。
1985年Susan Brennan在其論文中首次明確定義了肖像漫畫的概念。她設計了一種能夠生成肖像漫畫的算法,并在此基礎上開發了一套可交互的圖形系統。給定輸入的原始圖像及參考人臉圖像,經由用戶交互,該系統可以生成具有漫畫效果的肖像畫。Susan Brennan的研究是該領域的開創性工作,隨后Ergun Akleman提出了一種新的交互式2D變形技術,運用該技術可以使得人臉肖像變得更為夸張。總的來說,對于沒有任何繪畫經驗的用戶,運用該類系統都可以輕松設計出能夠被大眾接受的肖像漫畫[2,3]。
但是其他一些研究者認為:肖像漫畫作品的表現形式是多種多樣的,不能僅限于Susan Brennan所界定的范疇。因此,Liang等研究者開發出一種新的肖像漫畫自動生成系統。他們引入了機器學習的概念,訓練數據就是某一漫畫家所繪制的漫畫作品。通過機器學習的方式,該系統可以自動學習和模仿特定的繪制風格,最后生成具有類似風格特征的肖像漫畫[4]。P.Y.等人也開發了類似的軟件平臺。同樣以漫畫作品作為輸入圖像,他們所設計的算法能夠準確分析人臉面部特征,快速的確定哪些面部部位可以變形,并確定調整的尺度。總的來說,運用該類系統可以更為快速的生成具有特定風格的肖像漫畫[5]。
Mo及Eun-Jung Lee分別提出了一種基于特征方差分析的肖像漫畫生成算法,該類算法可以生成具有非真實感效果的肖像漫畫。把肖像漫畫生成技術與非真實感繪制技術結合起來是一項較有新意的研究工作[6,7]。
除在學術研究領域外,蘋果公司也開發了一款名為Photo Booth的小型軟件投放市場。該軟件具有17個內置的特效處理模塊,運用這些功能模塊可以把攝像頭實時捕獲的人臉視頻轉換為具有漫畫效果的特效視頻。開發人員還可以研發具有其他風格的特效處理模塊,并且在線共享這些自定義的功能模塊,供其他用戶下載。這是一款非常有趣的數字娛樂軟件,但是該軟件目前還沒有提供諸如卡通畫,鉛筆畫等具有非真實感效果的處理模塊。
雖然上述研究者及開發人員都提出了一些實際有效的算法,并且運用這些算法將輸入的人臉圖像或者視頻轉變為具有漫畫效果的肖像畫,但是這類算法沒有能夠把不同風格的特效處理模塊融合到一個統一的軟件架構內,同時各類原型系統的實時處理性能還較差。在商業領域,美國最先應用NPR技術于2006年生產制作了一部特效真人動畫電影《黑暗掃描儀》(圖1),這是對相關非真實感繪制技術能否應用到動畫制作領域進行的一次全新的嘗試。圖1真人動畫電影《黑暗掃描儀》劇照
在此基礎上,美國又于2009年即將推出一部類似的特效真人動畫電影《魚年》(圖2),該部電影的拍攝也是采用了相關的非真實感繪制技術進行后期加工與處理的。由此可見該項技術的應用是目前世界動畫電影發展的一個重要趨勢,但目前相關技術還不夠成熟。
2基于筆刷模型的多層繪制算法
本節將介紹本文所設計的算法的基本原理。
2.1概念
定義1(輸入圖像):輸入圖像是用戶采集的照片。令I表示輸入圖像。
定義2(筆刷屬性):筆刷模型可取自如油畫、水彩畫或者其他任意畫派的作品作為其原始圖像。筆刷模型應包含以下屬性:長度,寬度,透明度,顏色,中心點,筆刷方向。其中中心點為用戶落筆點在圖像中的坐標點位置,顏色為圖像I中落筆點處的RGB顏色值,筆刷方向與用戶指定的畫筆方向一致[1]。(如圖3所示)。圖3筆刷模型屬性描述
2.2基于筆刷模型的多層繪制算法處理步驟
Step 1:獲取用戶設定的畫筆落筆點在圖像空間中的位置(x,y),以此位置為畫筆落筆點的中心點位置。
Step 2:獲取用戶設定的畫筆落筆點在圖像空間中的位置(x,y),以此位置的顏色值作為畫筆的顏色。
Step 3:根據用戶設定的畫筆大小及方向,由大到小,重復步驟1到2在畫布上進行多層繪制,得到最終繪制圖像。
在繪制過程中,設f(x,y)為圖像I;(x,y)分別為該圖像的行列坐標;?xf(x,y),??yf(x,y)為畫筆方向導數;gxf(x,y),?gyf(x,y)為該圖的梯度單位向量的兩個分量,則有:
gxf(x,y)=
3總結
本文提出了一種基于筆刷模型的算法,同時基于該算法設計了一個應用軟件原型系統來交互式的繪制具有多種藝術風格的圖像。實驗結果表明,對于給定的輸入圖像該算法能生成具有多種風格的藝術圖像。
4實驗結果
圖4,圖5為采用不同樣式的筆刷繪制出的相應風格的油畫。
參考文獻:
[1]趙楊,徐丹.基于筆刷的多風格藝術繪制[C].第十二屆全國圖象圖形學學術會議論文集,2005.
[2]Susan E. Brennan: Caricature Generator.The Dynamic Exaggeration of Faces by Computer[J]. J Leonardo,1985, 18(3):170-178.
[3]Liang L, Chen H, Xu Y,et al. Example-based caricature generation with exaggeration[C]// New York:10th Pacific Conference on Computer Graphics and Applications,IEEE Press,2002:386-393.
[4]Akleman E,Palmer J,Logan R.Making Extreme Caricatures with a New Interactive 2D Deformation Technique with Simplicial Complexes[C].Proceedings of Visual 2000:165-170.
[5]Chiang P Y, Liao W H, Li T Y. Automatic Caricature Generation by Analyzing Facial Features[C]. Jeju Island, Korea:6th Asian Conference on Computer Vision (ACCV’04), 2004.
[6]Mo Z, Lewis J, Neumann U. Improved automatic caricature by feature normalization and exaggeration[C]// International Conference on Computer Graphics and Interactive Techniques (ACM SIGGRAPH 2004 Sketches), ACM Press, New York,2004:57.
[7]Lee Eun-Jung,Kwon Ji-yong,Lee In-Kwon.Caricature video[J]. J Computer Animation and Virtual Worlds,2007, 18:279-288.
較靠近的內容來寫。多從網絡上找資料,學習和練習。
“國內外研究現狀”的撰寫范文 在計算機圖形學領域,三維可視化是一個重要的研究方向,許多研 究人員己經進行了大量卓有成效的研究,并有許多成熟的技術己經應用 到實際中,出現了大量的優秀的可視化軟件產品,如3DMAX、MAYA、EVS、 AVS 等。這些產品主要應用于游戲、電影動畫、工業設計以及其它專業領 域的研究,而與GIS 聯系較少。 可視化理論與技術用于地圖學與GIS 始于90 年代初。1993 年,國際 地圖學協會(ICA)在德國科隆召開的第16 屆學術討論會上宣告成立可視化 委員會(CommissionOnVisualization),其主要任務是定期交流可視化技術 在地圖學領域中的發展狀況和研究熱點,并加強與計算機領域的協作。 1996 年該委員會與美國計算機協會圖形學專業組(ACMSIGGAPH)進行了跨 學科的協作,制訂了一項稱為“CartoProiect"的行動計劃,旨在探索計算 機圖形學領域的理論和技術如何有效地應用于空間數據可視化中,同時 也探討怎樣從地圖學的觀點和方法來促進計算機圖形學的發展。1998 年 2 月由B.H.Mccormick 等根據美國國家科學基金會召開的“科學計算可 視化研討會"的內容撰寫的一份報告中正式提出了“科學計算可視化 (VisualizationinScientificComputing,簡VISC)”的概念,從此標志著一門新 的可視化學科的問世。 三維GIS 研究主要集中在地形表面的重構、房屋建筑幾何模型建立等 方面。特別是在地形表達方面尤為突出。長期以來,人們針對不同的應 用目的,依據各種數據模型、算法和數學理論,在現有的計算機發展水 平上建立了許多地形可視化模型。目前,常見的地形可視化有兩種類型: 一是根據地學圖形數據的精確描述,來進行真實地形的仿真;二是模擬 自然場景中的地形,常用于具有真實自然視覺效果的虛擬環境中。 在地形可視化建模方面大致可以分為如下三類: (1)數據擬合生成三維地形 這是一種傳統的地形生成方法,是利用 常用的一些參數曲面,如Bezier 曲面、Coons 曲面、有理B 樣條曲面,通 過插值、曲面擬合來生成所需要的三維地形。這種方法采用計算幾何學
建模,是早期三維地形生成的方法。由于其數學計算的復雜性,對于復
雜場景來說,計算量大而且要采用較復雜的曲面拼接技術。只適合中小 規模的數據處理。另外,這種方法實際上是采用了歐式幾何方法,而歐 式幾何所描述的物體具有光滑的表面和規則形狀,物體的形狀可由方程 來描述。利用常用的參數曲面,通過插值、擬合來生成三維地形,也是 采用方程來對地形建模。但由于地形的不規則和復雜性,用這種方法得 到的地形真實感效果常不能令人滿意。 (2)利用分形技術生成三維地形1973 年,曼德勃羅(B.B.Mandelbrot) 在法蘭西學院講課時,首次提出了分維和分形幾何的設想。分形幾何學 是一門以非規則幾何形態為研究對象的幾何學。由于不規則現象在自然 界是普遍存在的,因此分形幾何又稱為描述大自然的幾何學。歐式方法 不能真實地描述這些物體,但可以用分形幾何來真實地描述,是使用過 程而不是方程來對物體建模。分形幾何具有無限以及統計自相似性的規 律,用遞歸算法使復雜的景物可用簡單的規則來生成,可以生成任意水 平的細節,為我們提供了一個很好的描述一般地面形狀的數學模型。由 于分形顯示自然景物具有非常逼真的特點,自從分形技術產生以來,人 們就開始探討用分形技術來生成三維地形,地景生成技術也達到了一個 新的階段。采用分形技術來生成三維地形是目前地景生成的主要方法。 (3)基于數字地形模型的地形可視化。這種方法就是運用數字高程數 據構造多邊形面,用多邊形網格逼近。數字高程模型是針對地球表面實 際地形地貌的數字建模的結果。MilIerC.L 于20 世紀50 年代中期提出了 數字地形模型(DigitalTerrainModel,DTM)的概念,后來把基于高程或海 拔分布的數字地形模型稱為數字高程模型(DigitalElevationModel,DEM), DEM 自20 世紀50 年代后期開始被采用以來,受到了極大的關注,在測 繪、地質、景觀建筑、農業、規劃、軍事工程、飛行器與戰場仿真等諸 多領域得到了廣泛的應用。隨著科學技術特別是計算機技術的迅速發展, 在DEM 的數據獲取方法、數據存儲和數據處理速度等方面取得了一些突 破性的進展。現在,隨著各種精度級別的DEM 的普遍獲取,過去許多潛 在的應用領域現在已變成十分重要的方面。
在三維空間數據結構算法方面,楊必勝、李清泉、史文中提出了一
種用于多分辨率三維模型快速生成和傳輸的穩健算法;龔健雅提出了面 向對象的矢量柵格集成數據模型:還有鄧念東,侯恩科提出了一種顧及 維數的三維空間拓撲關系描述框架;齊安文,吳立新等重點研究了基于 三棱柱體體元在三維地質建模中的應用;曹彤,李穎研究用于三維GIS 的八叉樹和四叉樹算法等;Klein 采用一種與視點相關的TIN 數據結構來 表示交互中的集合信息,當視點改變時,采用Delaunav 三角剖分法重構 側TIN;Luebke 等提出了一種基于頂點數的簡化算法,它可以對任意幾何 模型進行簡化;Hoppe 將他提出的漸進式網格模型也應用到地形當基于 OpenGL 三維分形地形的可視化研究4 中,并且提供了與視點相關的支 持,為了避免三角剖分給全局帶來影響,他在算法中將地形預先分成大 小相等的若干塊,在塊內進行漸進式網格剖分。由于不能解決拼接問題, 塊與塊沒有簡化,這在一定程度上影響了模型簡化的效率。 近年來,國內外在空間信息三維可視化方面的研究工作主要集中在 以下兩個方面: 1.運用動畫技術制作動態地圖,可用于涉及時空變化的現象或概念的 可視性分析; 2.運用虛擬現實技術進行地形環境仿真,真實再現地景,進行交互 觀察和分析[15]。 空間信息三維可視化方面的研究存在的主要問題和解決途徑。國內 外空間信息三維可視化方面的研究雖然取得了長足的發展和進步,但或 多或少都存在著不同程度的缺陷。其原因是多方面的,有客觀因素,也 有主觀因素,主要表現在: (1)研究團隊過小。空間信息三維可視化方面的研究往往是由一個 單位、幾個人開發與研制,其專業覆蓋面窄,因此涉及領域非常有限, 所能投入的財力、物力等也非常有限。 (2)軟件專用性較強,適用范圍有限,通用性差。嚴格意義上來說, 空間信息三維可視化方面的研究軟件還不能稱之為軟件,只能算是一個 針對特定問題的可視化計算程序。近幾年,雖然不斷的涌現出一些新的
算法,但僅能作為一些初步的嘗試,距離應用其編制出成型的計算程序
來解決工程問題,還有相當漫長的道路。 (3)核心算法創新能力不足。算法是一個程序或軟件的核心,但國 內外目前在空間信息三維可視化方面的算法研究方面,還停留在相互跟 蹤國外研究的階段,往往是國外學者提出了一種新的算法,國內再跟蹤 研究,原始創新能力不足,這也是我國軟件領域5 甚至整個科技領域普 遍存在的問題。 (4)商業化程度落后。 由于空間信息三維可視化方面的研究存在 著上述諸多問題,而對于從國外引進的一些商業軟件,在具體使用時, 不可避免的要出現這樣那樣的問題。由于其代碼的保密性,使我們不可 能進入程序內部去進行調試和加入自己的應用模塊。因此,開發編寫具 有自主知識產權的空間信息三維可視化方面的研究具有非常重要的學術 價值和很強的國防應用前景。 國內外空間信息三維可視化方面的研究的發展趨勢。近年來,隨著 計算機軟、硬件技術的不斷發展,空間信息三維可視化方面的研究內涵 也不斷拓展,其發展趨勢是: (1)駕馭式計算功能(computationalsteering):即以交互的方式監視 和干預計算過程,通過實時的可視化處理將計算結果圖像提供給用戶, 用戶通過判斷可隨時更改計算參數,從而干預整個計算過程。 (2)虛擬現實技術:通過虛擬現實軟件及設備將計算結果轉換成3D 立體圖像,使用戶更加直觀地了解發展過程。 (3)并行計算:由于基于微觀、細觀、宏觀的多尺度計算方法的不 斷發展,對計算能力提出了更高的要求,由此,多CPU 的分布式網絡系 統將逐漸成為主流。 在數值方法方面,近年來,一些新的計算方法不斷涌現,主要概括 如下: (1)高精度算法:上世紀80 年代以來,以TVD、ENO、WENO 為代表的高分辨率方法占據了計算流體力學發展的主流。近年來,數值 方法研究又有新的突破,一些新型算法已經出現,其中有代表性的算法 有美國學者S.C.Chang 提出的時空守恒元解元(CE/SE)方法、日本學者
提出的約束插值剖面算法(CIP 算法)、香港學者徐昆發展的動力差分算
論文摘要:分析了產品虛擬動態設計的一般過程,以數控車床關鍵部件一尾架為例進行研究。通過虛擬動態分析技術,確定了尾架系統是整機結構中的薄弱結構,存在動剛度嚴重不足的問題。根據新車床的結構布局情況,對尾架結構進行改造。改造后的尾架由上下2部分組成,CAE分析結果表明,其結構動剛度得到很大的提高,為數控車床整機的動態優化莫定了基礎。
0前言
機械結構虛擬優化設計是以計算機建模和仿真技術為基礎,集計算機圖形學、虛擬現實技術、機械動力學、有限元分析、優化設計等技術為一體,由多學科知識組成的綜合系統技術,是機械結構動力學設計技術在計算機環境中數字化、圖像化的映射。本文分析了機械產品虛擬動態優化設計的一般過程,以數控車床關鍵部件一尾架為例,建立了三維可視化的有限元CAE模型,通過對模型進行結構分析,實現該部件結構的動態優化。
1機械結構虛擬動態優化設計過程
機械產品虛擬動態設計的一般過程是:先建立滿足工作性能要求的產品初始CAD模型(初步設計圖樣),然后對產品結構進行動力學建模和動態特性分析,再根據工程實際情況,給出結構動態特性的要求或預定的動態設計目標,按結構動力學“逆問題”方法直接求解設計參數,或按結構“正問題”分析法,進行結構改進設計,直到滿足預期性能設計要求,從而獲得一個具有良好靜、動態特性的產品設計方案,如圖1所示。結構動態設計的主要內容包括:
(1)建立一個切合實際的結構動力學模型;
(2)選擇有效的動態優化設計方法。
2機械結構建模分析及優化實例
以數控車床關鍵部件尾架為例進行研究。數控車床動態設計是在“正問題”處理方法的基礎上進行的,數控車床共有零、部件800多個,其中對整機結構性能影響大的零、部件主要有以下幾個:床身、主軸箱、尾架等。為使整機具有良好的動態性能,必須對關鍵部件進行優化。為此,應先建立數控車床主要部件的幾何模型和滿足其動力學特征的有限元模型,進行動態分析,根據動態分析的結果對原部件結構設計的薄弱環節進行動力學修改和結構分析優化,最終得到一個具有良好靜、動態特性的產品設計方案。
數控車床的尾架安置在床身的尾架導軌上,并可沿此導軌調整其縱向位置。尾架套筒的錐孔裝有后頂尖,用以支撐工件。由于尾架頂尖與主軸箱卡盤的同軸度直接影響著車床加工零件的精度,因此,尾架的結構是否合理對保證車床加工高精度很重要。
如圖2為尾架系統的有限元模型,考慮到實際情況,將尾架導軌與兩導軌座作為一體處理,尾架體與導軌之間以互為接觸單元為主,每個導軌座均布4個全約束點,系統共有單元7 049個。得到尾架系統前三階振型如圖3(a),3(b),3(c)所示。表1列出了尾架系統計算頻率及振型特性。
由分析可知,該尾架系統剛度很弱,相當于簡支梁,是整機結構中非常薄弱的部分。綜合新車床的布局,考慮鑄造工藝性,尾架的導軌直接與床身一體,優化后的尾架由上下2部分組成,如圖4所示,其有限元模型如圖5所示。
建立改進尾架的有限元模型,系統共有2 210個體單元,對尾架上下2部分禍合12個節點,前三階固有振型如表2所示。
由表2可知尾架的頻率得到了很大的提高,振型也有了很好的改善。
隨著科技的進步,數字技術得到了迅猛發展。1962年,伊凡?沙瑟蘭德教授在美國麻省理工學院發表了題為《繪畫板》的論文,首次提出“計算機圖形學”的概念,確定了計算機圖形學作為一個嶄新的科學分支的獨立地位,可以說這是數字技術應用于藝術設計的起點。20世紀90年代計算機藝術開始在我國得到普及和推廣。如今,數字技術已交融于現代藝術設計的各個領域,給藝術設計的發展帶來了前所未有的廣闊空間。
二、數字時代藝術設計的特點
(一)數字化媒體的出現
伴隨著娛樂文化、流行文化的發展和新媒體交流的普及,人們開始對交互式、影像化和視覺交流方式進行探索,更多的人開始探索虛擬空間,從中尋找和塑造自我理想的角色和形象。我們已不能再把設計理解為一個狹隘的概念,藝術設計也在漸漸地超越其原先的反響,走向越來越廣闊的領域。
數字化媒體的出現,使得社會文化環境發生了質的變化,網絡技術、數字藝術設計、數字電影電視、多媒體廣告短片等新興科技在不斷地挑戰傳統藝術設計形式的同時,也在充實傳統藝術設計的內涵和外延。多元化的視覺觀念也暗示新的視覺傳達方式將要打破傳統設計門類的界限,讓藝術設計成為一種能夠融合多種學科的載體。
(二)創新意識的培養
數字藝術設計不但要重視電腦技術的操作,更要重視設計藝術的表現,尤其要重視創新意識的培養。課堂上學生雖然對電腦設計軟件操作得很熟練,但是做的作業往往缺乏新的創意,也無法表現出自己的想法,或者根本沒有想法。為了改變這種不良現狀,教師在教會學生電腦技術的同時應結合專業特點,啟發和引導學生如何運用電腦技術去創造符合人們審美要求的新形態。
(三)數字時代藝術設計的非物質化
新的社會形態中,設計藝術的形式內容發生了很大的變化。數字技術的發展為設計藝術創作提供了新的創作方式和設計語言,人們的一切藝術想象幾乎都可以變為現實。這樣的背景下,設計藝術的重心已經逐漸脫離物質層面而向精神層面靠攏,設計從靜態的、理性的、單一的、物質的創造向動態的、感性的、復合的、非物質的創造轉變。藝術的本質體現為自由的創造,非物質設計的發展使得過去功能性較強的設計藝術特質中藝術的成分越來越多,設計內容變得越來越藝術化。全新的技術手段不僅給人們帶來了全新的思維空間和視覺空間,也帶來了新的感官需求和心理需求。
三、數字時代藝術設計的發展趨勢
(一)數字時代把現代藝術設計推上了嶄新的發展平臺
數字技術以其獨特的方式進入到現代藝術設計領域,是社會進步和歷史發展的必然。隨著計算機軟硬件的發展和普及,數字技術已融入到現代藝術設計的各個領域。現代藝術設計與數字技術已密不可分,它不僅融入了傳統設計文化和設計思維,而且拓展了藝術設計的視覺語言、表現形式,改變了我們的設計方法、豐富了我們的設計思維,延伸了新時代的藝術設計的價值內涵。
(二)數字時代拓展了現代藝術設計的創意思維和表現手法
設計離不開它所處的時代,如果說工業革命促進了設計的發展,那么數字技術的發展必將促進現代藝術設計發生前所未有的飛躍。數字技術的發展預示著現代設計新紀元的到來。速度、效率、便捷等等都是數字時代帶來的優點,設計的創意思維方式,設計的形式語言,設計的執行力度都因數字時代的到來發生了根本性的變化。設計多元化的今天,如何充分利用數字技術拓展的空間,引領現代藝術設計的發展,創建融民族特色、人文特點、獨居個性特質為一體的設計文化,都給我們提出了新的挑戰。
(三)數字時代推動了現代藝術設計的教育改革
百年大計,教育為本。這些年來,我國高等藝術設計教育發展迅猛,但教學質量的低劣和就業壓力的加大也引起了人們對高等藝術設計教育的普遍擔憂。受傳統教育模式思想的束縛,教學內容陳舊、方法死板,導致學生畢業后不能直接勝任其崗位的工作、缺乏設計創新能力和設計執行能力等等都值得我們深思。藝術設計教育可謂是任重而道遠。我國的現代設計教育在觀念及形式表現上都備受東西方文化思潮和藝術風格的影響。
隨著經濟改革的迅速深入,我們的設計教育必須跟上并超越時代的發展,為社會培養出更多合格的設計人才以滿足市場需求,因此,新型的設計素質教育已經刻不容緩。作為一個學科,我們要在設計教育多元化中構建現代藝術設計人才培養和評價的理論體系。新科技、新思想、新設計意識形態的變化,更需要強化數字時代人才培養的觀念意識。
四、結語
21世紀充滿著希望和挑戰,數字化藝術作為傳統設計的延伸和升華,更有賴于數字技術與藝術的結合。創愈是設計的生命、是致勝的法寶,它貫穿于設計藝術的整個領域,不論是傳統藝術設計還是現代藝術設計都一樣。科技的進步已經縮短了人們交往的距離,跨越了國界的概念,作為正在對社會作出貢獻的藝術設計者和藝術設計教育工作者,一定要時時刻刻關注世界上的各種新的設計潮流,以便能夠對設計的發展趨勢作出正確的理解和判斷,及時對世界的這種飛速發展有充分的心理準備,走在時代的前列,為現代藝術設計作出貢獻。
參考文獻:
[1]塞爾西.馬卡拉.動畫設計基礎教學[M]. 南寧:廣西美術出版社,2009.
[2]錢俊,何炎祥.數字多媒體藝術[M]. 武漢:武漢大學出版社,2007.[3]李佳一.論數字時代藝術本體的嬗變[J].美與時代(上),2011,(01).
[4]尚雅莉.從信息數字時代看現代藝術設計教學的變化[J].包裝世界,2010,(03).
[5]許文娟.數字時代的藝術設計發展[J].科技創新導報,2009,(35).
關鍵詞:OpenGL,三維物體,建模
0 引言
隨著計算機技術的飛速發展,三維立體圖象技術也得到了快速的發展,為虛擬現實技術提供了越來越好的軟硬件環境,這為設計界廣泛采用虛擬現實技術提供了有力的支持。
1 OpenGl簡介
OpenGL即開放性圖形庫(Open Graphic Library)是一個三維的計算機圖形和模型庫,也似該領域的工業標準。它是一種高性能的開放式且功能強大的3D圖像庫,具有幾百個指令和函數。OpenGL靈活方便的實現了二維和三維的高級圖形技術,在性能上表現得異常優越,它具有建模、變換、光線處理、色彩處理以及動畫等能力,在圖形效果處理上增加了紋理映射、物體運動模糊效果和霧化效果等等。
2使用專業建模軟件建模并向OpenGL轉化
工業產品設計中的三維模型均是由3DS MAX等專業建模軟件構造而成。但是由于3DS MAX交互性較差,而且3DS MAX模型的默認存儲格式max,不易被交互性靈活的OpenGL所讀取。因此,我們采用3DS MAX模型的另一種易于OpenGL讀取的文件格式3ds作為三維模型的存儲格式,然后將模型通過OpenGL導入三維場景并實現交互性操作。圖2.1和圖2.2所示的模型為在專業建模軟件3D MAX中創建的兩個模型。下面,具體介紹一下將3ds文件導入OpenGL的實現過程。
圖2.1 變壓器 圖2.2 安全器材
2.13ds模型的數據結構
3DS格式文件是一種二進制數據文件,它由塊(chunk)組成(見圖2.3)。每個塊包括塊的索引(ID:Indentification)、塊所包含的內容、塊的組成以及下一個塊的位置。論文大全。
圖2.3 塊結構圖
在3DS文件中,判斷1個塊所存儲的內容是由通過這個塊的索引(ID)來實現的。不同類型的塊具有不同的ID。3DS文件本身有1個主塊(MainChunk),這個主塊的ID為4D4D。主塊始終出現在文件的開始處,通過對文件開始的兩個字節內容進行判斷,便可知道當前操作的文件是否為3DS文件,這樣就可以避免打開不正確類型的文件。
為保證文件結構的完整性以及可操作性,不同的塊在文件中是按一定的體系來存儲的。在這個體系中,主塊(Main Chunk)在最頂端,在主塊之下嵌套了各個子塊,并且子塊之間也是相互嵌套的。這樣,塊與塊之間的關系得到了體現,方便了讀取。比如作為整個場景的環境設置(包括視點、光源、材質等)放在其他實體塊的前面,對這些實體產生作用。圖2.4簡單描述了在3DS文件中塊與塊之間的相互關系。
圖2.4 3ds文件結構
由圖2.4可以看出,該體系結構和真實環境中的場景構造類似。在該體系結構中,EDIT-OBJECT塊(ID為4000)特別重要。論文大全。因為它記錄了所需要的各種三維實體的坐標、紋理等數據,正確地對它們進行操作是生成具有真實感圖形的保證。
在3DS文件中,每個實體都是由三角形面片組成的。這樣,一個三維模型(3DModel)包括一個或多個三維實體(3DObject),一個三維實體又由一個或多個面片(CFace)組成。在記錄數據的時候,三維實體的塊當中記錄了一系列的三維空間坐標和二維紋理坐標,而每個面片塊中則通過對這些坐標的索引來表示面片在空間中的位置以及對應的紋理。
材質塊中記錄了用于檢索該材質的名稱,如果材質是由文件來創建的,則包括文件名,否則記錄材質的顏色。在三維模型當中記錄了一個或多個材質(CMaterialInfo),在實體當中則通過對材質的索引來決定當前實體引用了哪個材質。
2.23ds數據模型的讀取
根據以上對3DS數據模型結構的分析,能夠應用面向對象的方法設計一種能方便、快速、準確對3DS文件進行讀取的方法。圖2.5是針對3DS文件中三維實體的組成情況而設計的類結構,由此解決3DS模型中數據的存儲。
其中的CVector2類和CVector3類存儲二維和三維數據,用于記錄空間坐標以及紋理坐標。C3DModel類包含了整個三維模型,它由若干個三維實體(用C3Dobject存儲)和若干個材質信息(用CmaterialInfo存儲)組成。論文大全。C3Dobject中記錄了組成這個實體的頂點數量、頂點坐標列表、面數量、紋理坐標列表以及這個實體的材質信息。CFace類記錄了組成某個面的紋理坐標索引和地理坐標索引。
圖2.5 類關系圖
根據3DS文件中各個塊之間的嵌套關系,設計了一種遞歸讀取的方法。函數ReadChunk用于讀取每個塊的開頭所記錄的塊索引(ID)和塊的長度。在讀取文件的第1個塊時,通過索引來判斷當前打開的是否為合法3DS文件(索引為4D4D),如果是,則通過調用ReadNextChunk函數將程序帶入遞歸過程。
在ReadNextChunk函數中,同樣首先需要調用ReadChunk來讀取塊索引和塊的長度,由塊索引來判斷塊的類型,由塊的類型來決定如何讀取接下來的數據。在這個過程當中,ReadChunk和ReadNextChunk將會被反復調用。
在讀取一個塊的時候,始終記錄了當前塊的大小以及已經讀取的數據大小,這樣通過比較這兩個數值可以知道當前的嵌套塊是否讀取完成。例如,對于主塊(Main Chunk),它貫穿文件的始終,因此,它的大小即代表整個文件的大小,它的結束也代表了這個三維模型的結束。前面說過,塊與塊之間是相互嵌套的,因此在主塊(MainChunk)中就包括了其他的子塊,而這些子塊又可能包含其自已的子塊。通過分別記錄每個塊的長度和已經讀取的數據長度便可以正確控制塊的讀取順序。圖2.6是讀取過程的流程圖。
圖2.6讀取3DS文件的流程圖
配合著OpenGL在計算機中生成的虛擬環境,程序將3ds文件讀入虛擬環境的運行結果如圖2.7所示。這樣我們就可以很方便地將3D模型移植到其他的計算機平臺當中,從而更好地對產品進行設計和分析。
圖2.7 運行效果圖
3 結束語
本文分析了基于OpenGL三維建模的實現方法, 使用專業軟件建模,再轉化為OpenGL程序的方法可以避免直接使用OpenGL建模的復雜工作,又可以通過OpenGL程序進行控制,且模型的外觀也更精細,是一種很實用的建模方法。
目前,三維圖像技術在軍事、醫藥、商業和娛樂各個領域應用都非常廣泛,研究三維建模技術對工業產品的進一步發展具有十分重大的意義。
參考文獻
[1]向世明. OpenGL編程與實例[M]. 北京:電子工業出版社,1999
[2]Hearn D,Baker M P. 計算機圖形學(第三版)[M]. 蔡士杰等譯. 北京:電子工業出版社,2005