• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 51,  comments - 24,  trackbacks - 0

            關(guān)于計(jì)算機(jī)圖形學(xué)的學(xué)習(xí) 原創(chuàng) FatGarfield

            注意:
            本文盡量避免理論化的描述,試圖用最通俗的語(yǔ)言介紹一下計(jì)算機(jī)圖形學(xué)的學(xué)習(xí),以及一些參考書(shū)目和網(wǎng)絡(luò)資源;
            本文不涉及對(duì)概念的定義,以免陷入學(xué)術(shù)討論之中
            本文是作者學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的體會(huì),如果有不同的意見(jiàn),請(qǐng)不要攻擊和漫罵

            本文合適的題目應(yīng)當(dāng)是:白話說(shuō)學(xué)計(jì)算機(jī)圖形學(xué)?

            1. 引言
            什么是計(jì)算機(jī)圖形學(xué)? 本文盡量避免給它做嚴(yán)格的定義,但是通常來(lái)說(shuō),計(jì)算機(jī)圖形學(xué)是數(shù)字圖象處理的逆過(guò)程,這只是一個(gè)不確切的定義,后面我們會(huì)看到,實(shí)際上,計(jì)算機(jī)圖形學(xué)、數(shù)字圖象處理和計(jì)算機(jī)視覺(jué)在很多地方的區(qū)別不是非常清晰的,很多概念是相通的。
            計(jì)算機(jī)圖形學(xué)是用計(jì)算機(jī)來(lái)畫(huà)東西的學(xué)科,數(shù)字圖象處理是把外界獲得的圖象用計(jì)算機(jī)進(jìn)行處理的學(xué)科。在法國(guó),圖形圖象是一門(mén)課程。
            如何學(xué)習(xí)計(jì)算機(jī)圖形學(xué)呢?除了計(jì)算機(jī)圖形學(xué)的基礎(chǔ)知識(shí)以外,你還需要有以下的知識(shí),你懂的越多,當(dāng)然做的越好。
            * 英語(yǔ), 你一定要把英語(yǔ)學(xué)好,如果你想學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的話,盡量看英文的書(shū)籍和資料
            * 數(shù)學(xué), 計(jì)算機(jī)圖形學(xué)里面的數(shù)學(xué)用的比較多,,我們可以列舉一些常用的:
            高等數(shù)學(xué),數(shù)值分析,微分幾何,拓?fù)洌怕剩?插值理論,(偏)微分方程…
            * 物理, 如果你要進(jìn)行基于物理的建模,一些物理理論是要學(xué)習(xí)的:
            力學(xué)(運(yùn)動(dòng)學(xué),動(dòng)力學(xué),流體力學(xué)…),光學(xué),有限元…
            * 編程語(yǔ)言: C或C++是計(jì)算機(jī)圖形學(xué)最通用的‘普通話’,
            * 數(shù)據(jù)結(jié)構(gòu): 你需要數(shù)據(jù)結(jié)構(gòu)來(lái)描述你的圖形對(duì)象,除了通用的鏈表、樹(shù)等數(shù)據(jù)結(jié)構(gòu)外,圖形學(xué)還有自己特殊的數(shù)據(jù)結(jié)構(gòu)
            * 其他類(lèi)別: 有的時(shí)候你需要其他學(xué)科的知識(shí),根據(jù)你的需要去學(xué)習(xí)吧

            上面列舉的不是你必須學(xué)習(xí)的東西,而是計(jì)算機(jī)圖形學(xué)可能會(huì)用到的東西,一定要記住,不要指望通過(guò)一本教材就學(xué)會(huì)計(jì)算機(jī)圖形學(xué),它比你想象的要復(fù)雜的多。

            2. 圖形學(xué)的問(wèn)題
            每個(gè)學(xué)科都有自己學(xué)科的特定問(wèn)題,圖形學(xué)要解決的是如何畫(huà)出圖來(lái),得到需要的效果,當(dāng)然這是圖形學(xué)最大的一個(gè)問(wèn)題。

            在開(kāi)始學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的時(shí)候,找一本簡(jiǎn)單的書(shū)看,對(duì)計(jì)算機(jī)圖形學(xué)有個(gè)大概的認(rèn)識(shí),你就可以開(kāi)始圖形學(xué)之旅了:

            OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition
            OpenGL SuperBible (3rd Edition) 

            是比較好的學(xué)習(xí)計(jì)算機(jī)圖形學(xué)的入門(mén)教材,在練中去學(xué),一開(kāi)始就去啃

            Foley的
            Computer Graphics: Principles and Practice, Second Edition in C 
            不是好主意,會(huì)看的一頭霧水,一本什么都講的書(shū)的結(jié)果往往是什么都沒(méi)講清楚。
            當(dāng)你把OpenGL的基本內(nèi)容掌握之后,你對(duì)圖形學(xué)就有了大概的了解了

            那么下面你可以來(lái)學(xué)習(xí)一下計(jì)算機(jī)圖形學(xué)的數(shù)據(jù)結(jié)構(gòu)和算法,下面的書(shū)比較適合
            Joseph O'Rourke 的Computational Geometry in C,書(shū)里面有C的源代碼,講述簡(jiǎn)單,清晰,適合程序員學(xué)習(xí)

            總的來(lái)說(shuō),計(jì)算機(jī)圖形學(xué)涉及到2大部分:建模和渲染
            2.1建模

            你想畫(huà)一個(gè)東西,首先要有它的幾何模型,那么這個(gè)幾何模型從什么地方來(lái)呢?下面的書(shū)很不錯(cuò)的:
            Gerald Farin 的Curves and Surfaces for CAGD: A Practical Guide
            這本書(shū)就有一點(diǎn)的難度了,呵呵,要努力看啊

            這本書(shū)算是CAGD (計(jì)算機(jī)輔助幾何設(shè)計(jì))的經(jīng)典圖書(shū),CAGD方面的全貌,還有2本很好的講述曲面的書(shū)B(niǎo)ezier和Nurbs的書(shū)

            Les A. Piegl, Wayne Tiller 的The Nurbs Book 
            書(shū)里面有NURBS曲線、曲面的程序偽代碼,很容易改成C的,書(shū)講的通俗、易懂,但是你要有耐心看的:)

            曲線與曲面的數(shù)學(xué)
            這本書(shū)是法國(guó)人寫(xiě)的中文翻譯版,里面還有Bezie本人寫(xiě)的序J,翻譯的很不錯(cuò)的,看了你就掌握Bezier曲面技術(shù)了


            //另外一些你想知道的事情:其他的造型方式-開(kāi)始
            注意:在后面會(huì)有這樣的章節(jié),標(biāo)明
            //另外一些你想知道的事情:其他的造型方式-開(kāi)始
            //另外一些你想知道的事情:其他的造型方式-結(jié)束
            里面是我認(rèn)為的一些高級(jí)話題,跳過(guò)他們不影響你學(xué)習(xí)計(jì)算機(jī)圖形學(xué),但是要學(xué)好就要注意了,呵呵
            還有其他的一些造型技術(shù),比如:
            隱式曲面(Implicit Surface)的造型:
            就是用函數(shù)形式為F( x ,y ,z  = 0的曲面進(jìn)行造型,這樣的造型技術(shù)適合描述動(dòng)物器官一樣的肉乎乎的東西,有2本書(shū)推薦大家
            Jules Bloomenthal編輯的Introduction to Implicit Surfaces,是一本專(zhuān)著,講述了Implicit Surface建模型(Modeling),面片化(Polygonization),渲染(Rendering)的問(wèn)題
            Luiz Velho 的 Implicit Objects Computer Graphics 也是一本專(zhuān)著,講述個(gè)更新的一些進(jìn)展

            細(xì)分曲面(Subdivision Surface)造型
            當(dāng)用NURBS做造型的時(shí)候,曲面拼接是復(fù)雜的問(wèn)題,在動(dòng)畫(huà)的時(shí)候,可能產(chǎn)生撕裂或者褶皺,Subdivision Surface用來(lái)解決這個(gè)問(wèn)題
            Joe Warren的Subdivision Methods for Geometric Design: A Constructive Approach就是這方面的專(zhuān)著

            從實(shí)際物體中得到造型,現(xiàn)在的技術(shù)可以用三維掃描儀得到物體表面的點(diǎn),然后根據(jù)這些點(diǎn)把物體的表面計(jì)算出來(lái),稱為重建(Reconstruction),因?yàn)檫@些技術(shù)之在文章中論述,所以我們省略對(duì)它的描述

            //另外一些你想知道的事情:其他的造型方式-結(jié)束


            下面還是一個(gè)高級(jí)話題:)

            //另外一些你想知道的事情:光有造型是不夠的!-開(kāi)始
            在你的幾何模型做好之后,有一些問(wèn)題需要對(duì)這個(gè)模型進(jìn)一步處理,得到適合的模型,當(dāng)面片很多的時(shí)候,或者模型很復(fù)雜的時(shí)候,需要對(duì)幾何模型進(jìn)行簡(jiǎn)化,才可以滿足一些實(shí)時(shí)繪制的需要,這個(gè)技術(shù)叫做層次細(xì)節(jié)(LOD-Level of Detail)。下面的書(shū)就是講這個(gè)的:
            David Luebke編著的 Level of Detail for 3D Graphics
            //另外一些你想知道的事情:光有造型是不夠的!-結(jié)束

            2.2渲染
            有了模型,怎么把這個(gè)幾何模型畫(huà)出來(lái)呢?這個(gè)步驟就是渲染啦
            如果你看了上面的OpenGL的書(shū),那么你就知道一些渲染的知識(shí)了,但是別高興的太早,OpenGL使用的是局部光照模型(Local Illumination Model),不要被這個(gè)詞嚇住了

            Local illumination Model指的是在做渲染的時(shí)候只考慮光源和物體之間的相互作用,不考慮物體和物體之間的影響,所以O(shè)penGL不支持陰影,一個(gè)(半)透明物體的效果..,這些需要考慮物體之間的影響才可以實(shí)現(xiàn)。

            //另外一些你想知道的事情:OpenGL可以實(shí)現(xiàn)陰影-開(kāi)始
            OpenGL本身不支持,但是通過(guò)一些方法可以實(shí)現(xiàn)的:),用Google搜索一下
            Shadow Volume, OpenGL就找到答案啦
            //另外一些你想知道的事情:OpenGL可以實(shí)現(xiàn)陰影-結(jié)束

            Global Illumination Model 這類(lèi)模型考慮的就比較全啦。現(xiàn)在關(guān)于Global Illumination的技術(shù)有3大類(lèi),具體的技術(shù)就不在這里介紹了,如果想了解,可以聯(lián)系我,大家一起討論:

            光線追蹤(Ray Tracing)
            關(guān)于Ray Tracing的好書(shū)有2本:

            Andrew Glassner 的An Introduction to Ray tracing 
            Glasser是圖形界的名人,這本書(shū)也是Ray Tracing的經(jīng)典

            R. Keith Morley, Peter Shirley 的Realistic Ray Tracing, Second Edition
            這本書(shū)第一版是偽代碼,第二版是C代碼。它的結(jié)構(gòu)不是很清楚,虎頭蛇尾的感覺(jué)。

            輻射度(Radiosity)
            關(guān)于Radiosity的好書(shū)有4本:
            Michael Cohen 的Radiosity and Realistic Image Synthesis , Cohen獲得SIGGRAPH 1998計(jì)算機(jī)圖形學(xué)成就獎(jiǎng),他把Radiosity變成實(shí)際可用,現(xiàn)在Cohen在MSR圖形http://research.microsoft.com/~cohen/CohenSmallBW2.jpg

            Francois X. Sillion的Radiosity and Global Illumination , Sillion是法國(guó)人,他的主要研究方向是Radiosity,這本書(shū)寫(xiě)的很不錯(cuò)的,非常清晰

            Philip Dutre 的新書(shū)Advanced Global Illumination ,看起來(lái)還不錯(cuò),剛拿到手,還沒(méi)看,呵呵,所以不好評(píng)價(jià)

            Ian Ashdown的Radiosity: A Programmer's Perspective 
            有源代碼的書(shū)?。?! 就憑這個(gè),得給5*****

            Photon mapping
            這個(gè)我也不知道怎么翻譯,呵呵。這個(gè)技術(shù)出現(xiàn)的比較晚,一本好書(shū)!
            Henrik Wann Jensen的Realistic Image Synthesis Using Photon Mapping
            Henrik Wann Jensen是Photon mapping技術(shù)的發(fā)明者

            3.3這些也是圖形學(xué)嗎? 圖形和圖象的區(qū)別模糊了:(
            除了上面講的‘經(jīng)典’的計(jì)算機(jī)圖形學(xué),還有下面的一些東西,它們也叫計(jì)算機(jī)圖形學(xué)嗎?是的?。。?
            3.3.1非真實(shí)性圖形學(xué)(Non-Photorealistic Graphics)
            真實(shí)性不是計(jì)算機(jī)圖形學(xué)的唯一要求,比如:你給我畫(huà)一個(gè)卡通效果的圖出來(lái),或者我要用計(jì)算機(jī)畫(huà)水彩畫(huà)怎么辦?或者:把圖象用文字拼出來(lái)怎么做?,解決這些問(wèn)題要用到非真實(shí)性圖形學(xué), 好書(shū)繼續(xù)推薦?。?!
            Bruce Gooch, Amy Ashurst Gooch的 Non-Photorealistic Rendering 

            3.3.2體圖形學(xué)(Volume Graphics)
            用CT機(jī)做很多切片(比如頭骨),那么能通過(guò)這些切片得到3D的頭骨嗎?Volume Graphics就是解決這樣的問(wèn)題的
            Min Chen 編著的Volume Graphics 

            上面的2個(gè)圖形學(xué)技術(shù)就和圖象的界限不明顯了,實(shí)際上他們是圖形圖象的綜合


            4 .還有其他的書(shū)嗎?
            還有一些好書(shū)啊,呵呵,好書(shū)看不完的:),繼續(xù)放送:

            Graphics Gems I ~ V,一大幫子人寫(xiě)的書(shū),包括研究人員,程序員…
            有計(jì)算機(jī)圖形學(xué)的各種數(shù)據(jù)結(jié)構(gòu),編程技巧

            Tomas Akenine-Moller 等人編著的Real-Time Rendering (2nd Edition) 
            許多最新的計(jì)算機(jī)圖形學(xué)進(jìn)展

            David Ebert等人的Texturing & Modeling: A Procedural Approach, Third Edition 
            講述如何通過(guò)程序?qū)崿F(xiàn)紋理、山、地形等圖形學(xué)要素
            F. Kenton Musgrave號(hào)稱分形狂(Fractal Mania)
            Ken Perlin就是Perlin噪聲的發(fā)明者,用過(guò)3d軟件的人對(duì)Perlin Noise不會(huì)陌生的

            關(guān)于圖形學(xué)的特定對(duì)象,有特定的專(zhuān)題圖書(shū),
            Evan Pipho Focus On 3D Models,對(duì)于圖形學(xué)的常用模型格式,進(jìn)行了講解
            Trent Polack的 Focus On 3D Terrain Programming ,講地形的
            Donald H. House 的Cloth Modeling and Animation ,講布料的
            Nik Lever的Real-time 3D Character Animation with Visual C++ ,講角色動(dòng)畫(huà)的
            ……

            還有:)
            Richard Parent的 Computer Animation: Algorithms and Techniques,當(dāng)然是講動(dòng)畫(huà)的啦,呵呵。
            David H. Eberly的3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics ,有代碼的啊!呵呵:)

            最后,沒(méi)事情的時(shí)候,看看下面的書(shū)吧
            Alan H. Watt, 3D Computer Graphics (3rd Edition) 

            James D. Foley等人的 Computer Graphics: Principles and Practice in C (2nd Edition) ,這本圣經(jīng)沒(méi)事的時(shí)候再看吧,呵呵

            累了:( 不說(shuō)了,上面的書(shū)差不多了,還有一些shader的書(shū),我不了解,以后會(huì)補(bǔ)上的:)

            5.從哪里找到這些書(shū)???還有什么資源???
            我保證,上面的書(shū)在www.amazon.com 都可以買(mǎi)到:) 別打我

            那好,大部分的書(shū)在國(guó)家圖書(shū)館可以復(fù)印到,北京的兄弟有福啦,3年前的書(shū)借出來(lái)復(fù)印,1角/頁(yè),但是新書(shū)要早圖書(shū)館里復(fù)印,5~6角/頁(yè),還是比Amazon便宜啊,呵呵。

            不行大家就到國(guó)外買(mǎi),合買(mǎi)吧,還負(fù)擔(dān)的起。
            我對(duì)DirectX不了解,所以沒(méi)有涉及關(guān)于DirectX的內(nèi)容:)

             

            posted on 2009-08-10 18:58 劉之遠(yuǎn) 閱讀(266) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2011年3月>
            272812345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(1)

            隨筆分類(lèi)(21)

            隨筆檔案(51)

            c語(yǔ)言學(xué)習(xí)筆記

            搜索

            •  

            積分與排名

            • 積分 - 23613
            • 排名 - 746

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久精品国产99国产精品导航| 精品久久久久久无码中文字幕一区| 麻豆精品久久精品色综合| 久久精品国产亚洲AV嫖农村妇女| 国产V亚洲V天堂无码久久久| 2021国产成人精品久久| 一本一道久久a久久精品综合| 久久综合综合久久综合| 国产一区二区三精品久久久无广告| 国内精品久久久久影院老司| 久久婷婷国产麻豆91天堂| 久久受www免费人成_看片中文| 久久99国产乱子伦精品免费| 一本一本久久a久久精品综合麻豆| AV无码久久久久不卡蜜桃| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 成人国内精品久久久久影院VR| 一本一道久久a久久精品综合| 亚洲国产成人久久精品动漫| 久久久精品人妻一区二区三区蜜桃| 亚洲天堂久久精品| 久久综合88熟人妻| 久久亚洲国产最新网站| 久久久久国产日韩精品网站| 国产精品久久久久久久久鸭 | 97久久精品人人澡人人爽| 久久亚洲精品国产精品| 久久这里有精品| 久久夜色精品国产噜噜亚洲a| 久久精品无码一区二区三区免费 | 伊人久久大香线蕉综合网站| 久久中文精品无码中文字幕 | 久久国产AVJUST麻豆| 久久久久综合国产欧美一区二区| 99久久精品免费看国产一区二区三区 | 波多野结衣AV无码久久一区| 伊人久久一区二区三区无码| 久久亚洲中文字幕精品一区四| 久久91精品综合国产首页| 精品久久久久久无码人妻热| 国产精品热久久无码av|