計(jì)算機(jī)圖形學(xué)

出版時(shí)間:2009-2  出版社:清華大學(xué)出版社  作者:Francis S Hill, Jr.  頁(yè)數(shù):706  譯者:胡事民,劉利剛  
Tag標(biāo)簽:無(wú)  

前言

  本書(shū)原著在國(guó)外是很有影響力的教材,被許多國(guó)外著名的大學(xué)所采用。譯者在盡量保持原書(shū)精髓的基礎(chǔ)上,對(duì)原書(shū)做了一些表述上的調(diào)整,以符合中文習(xí)慣,原書(shū)中的一些筆誤,也給予了糾正。本書(shū)譯者中,胡事民、劉永進(jìn)、張松海來(lái)自清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,劉利剛來(lái)自浙江大學(xué)數(shù)學(xué)系,均在第一線從事計(jì)算機(jī)圖形學(xué)的教學(xué)和科研工作。在本書(shū)的翻譯中,胡事民教授負(fù)責(zé)第1、2、8章,劉利剛副教授負(fù)責(zé)10、11、12章,劉永進(jìn)副教授負(fù)責(zé)5、6、7章,張松海博士負(fù)責(zé)3、4、9章。經(jīng)過(guò)一年多的努力,本書(shū)終于完成翻譯,并付印。在翻譯過(guò)程中,得到了許多同事和學(xué)生的幫助,研究生徐昆、高岳、李勇、張硯、雷勵(lì)星、陳韜、張一飛、藏域、程明明、來(lái)煜坤、勒力、楊永亮、張國(guó)鑫、王王禹屏、邊哲、佟強(qiáng)、白石、沈超慧、盧少平、陳中貴、陳仁杰、陳軍、胡建偉、孟敏、張冬梅等參與翻譯了部分初稿,在此一并表示感謝?! ∮捎谧g者水平有限,本書(shū)翻譯過(guò)程中難有疏漏和不妥之處,敬請(qǐng)讀者批評(píng)和指正。前 言 對(duì)于有志于學(xué)習(xí)計(jì)算機(jī)圖形學(xué)基本原理和技術(shù),并且渴望自己能夠編寫(xiě)優(yōu)質(zhì)圖形學(xué)程序的讀者,本書(shū)為他們提供了入門(mén)的詳細(xì)介紹。計(jì)算機(jī)圖形學(xué)具有強(qiáng)大的生命力并正在持續(xù)發(fā)展。動(dòng)畫(huà)電影已經(jīng)展示給人們圖形學(xué)知識(shí)所能做到的令人激動(dòng)的視覺(jué)效果。電腦游戲和因特網(wǎng)中的圖形效果同樣激勵(lì)人們?nèi)W(xué)習(xí)如何自己動(dòng)手做出這樣的效果?! D形軟硬件系統(tǒng)正在以驚人的速度朝著更好、更快和更廉價(jià)的方向發(fā)展。每年從研究和業(yè)界中提出的大量新技術(shù)不斷地涌現(xiàn)。然而,圖形學(xué)最基本的原理和方法,卻保持著穩(wěn)定和連貫,并且這些知識(shí)中的大部分可以通過(guò)一個(gè)圖形學(xué)課程學(xué)習(xí)得到。本書(shū)將圖形學(xué)的一些基本思想和方法組織起來(lái),通過(guò)閱讀使讀者從只會(huì)編寫(xiě)簡(jiǎn)單程序的水平,提高到能夠自行設(shè)計(jì)并編寫(xiě)出優(yōu)良圖形學(xué)程序的水平?! ∵m用的讀者范圍  該書(shū)被設(shè)定為本科高年級(jí)或研究生一年級(jí)的一個(gè)或兩個(gè)學(xué)期的課程教材。該書(shū)也可用于自學(xué)。該書(shū)的主要對(duì)象是專(zhuān)業(yè)為計(jì)算機(jī)科學(xué)或計(jì)算機(jī)工程的學(xué)生,當(dāng)然也適用于其他專(zhuān)業(yè)如物理和數(shù)學(xué)的學(xué)生?! ?duì)數(shù)學(xué)基礎(chǔ)的要求  讀者應(yīng)該具備相當(dāng)于大學(xué)一年級(jí)的數(shù)學(xué)水平;并具備初等代數(shù)、幾何、三角函數(shù)和初等微積分的基本知識(shí)。向量和矩陣的有關(guān)知識(shí)將有助于本書(shū)的閱讀,但不是必須的。本書(shū)在相關(guān)章節(jié)中介紹了向量和矩陣的基本知識(shí),同時(shí),附錄中總結(jié)了向量和矩陣的關(guān)鍵概念?! ∮?jì)算機(jī)圖形學(xué)中使用了大量的數(shù)學(xué)符號(hào)來(lái)表達(dá)線、面和視點(diǎn)之間的基本幾何關(guān)系。雖然每個(gè)數(shù)學(xué)符號(hào)都很容易理解,但所需的符號(hào)數(shù)量卻令人生畏。書(shū)中特別強(qiáng)調(diào)了使用每種符號(hào)或技術(shù)的原因,以及如何利用這些數(shù)學(xué)符號(hào)合理地描述圖形程序中感興趣的對(duì)象。  對(duì)編程水平的要求  一般情況下,讀者應(yīng)具有至少一個(gè)學(xué)期使用C、C++或Java編寫(xiě)程序的經(jīng)驗(yàn)。相當(dāng)多有關(guān)圖形的編程涉及到將幾何關(guān)系直接轉(zhuǎn)換為代碼,包括使用變量、函數(shù)、數(shù)組、循環(huán)和條件測(cè)試等,而這些東西在不同編程語(yǔ)言中都是類(lèi)似的。本書(shū)使用的編程語(yǔ)言是C++,但是,有C語(yǔ)言背景的讀者可以輕易地讀懂大部分材料?! ∽x者如果熟練掌握C中的結(jié)構(gòu)或C++中的類(lèi),將非常有助于本書(shū)的閱讀。如用于描述復(fù)雜場(chǎng)景的圖形對(duì)象結(jié)構(gòu),這些場(chǎng)景(如一個(gè)城堡或一架飛機(jī))可能由許多部分組成,而這些部分本身又由復(fù)雜的更小部分組成。如果能熟練使用鏈表或樹(shù)結(jié)構(gòu)也會(huì)有一些幫助,但不是必須的?! ?duì)于只懂得C但不懂得C++的讀者來(lái)說(shuō),需要掌握面向?qū)ο蟮木幊汤砟睢1緯?shū)中定義了許多有用的類(lèi)(如網(wǎng)格、場(chǎng)景、相機(jī)和紋理等類(lèi)),并且說(shuō)明了這些類(lèi)為什么方便易用。在某些場(chǎng)合下,為了使程序更加清晰易讀,我們使用了面向?qū)ο缶幊讨械囊恍┘夹g(shù),如繼承和多態(tài),不過(guò),我們并不過(guò)分強(qiáng)調(diào)面向?qū)ο蟮姆椒?。  ?jì)算機(jī)圖形學(xué) (OpenGL版)(第3版)前言教學(xué)理念  第3版與前兩版相比,幾乎被完全重新組織和改寫(xiě),但是基本的教學(xué)理念沒(méi)有改變: 我們堅(jiān)信計(jì)算機(jī)圖形學(xué)是在實(shí)際使用中學(xué)習(xí)到的,一定要?jiǎng)邮志帉?xiě)程序并進(jìn)行測(cè)試,才能真正地掌握計(jì)算機(jī)圖形學(xué)。本書(shū)的一個(gè)主要目標(biāo)就是讓讀者懂得如何將一個(gè)特定的設(shè)計(jì)任務(wù)轉(zhuǎn)換成相應(yīng)的幾何結(jié)構(gòu),并找到一個(gè)合適的數(shù)學(xué)表達(dá),最后將這個(gè)表達(dá)轉(zhuǎn)換為算法和程序代碼。本書(shū)將以循序漸進(jìn)的方式讓讀者首先學(xué)習(xí)到如何編寫(xiě)簡(jiǎn)單的程序來(lái)繪制簡(jiǎn)單的圖像,然后一步一步深入地掌握如何生成更加復(fù)雜的特殊效果的技巧?! 【毩?xí)和問(wèn)題  本書(shū)包含超過(guò)350道來(lái)源于實(shí)際問(wèn)題的練習(xí)題。其中大部分都是讓讀者停下來(lái)進(jìn)行思考但并不需要編程的那種類(lèi)型,這可以讓讀者自己測(cè)試一下知識(shí)掌握的程度。其余小部分則需要編程實(shí)現(xiàn)?! 〈送猓谒姓鹿?jié)的末尾,列出了總共超過(guò)50個(gè)的實(shí)例分析。它們都是一些編程的項(xiàng)目,難易程度由簡(jiǎn)到繁,適合于作為課后作業(yè)。這些案例分析對(duì)相應(yīng)章節(jié)內(nèi)的內(nèi)容進(jìn)行了擴(kuò)展。無(wú)論是否全部完成這些實(shí)例分析任務(wù),它們都應(yīng)該作為相應(yīng)章節(jié)的一個(gè)有機(jī)組成部分?! ∶恳粋€(gè)實(shí)例分析任務(wù)都注明了相應(yīng)的難易程度,用以判斷完成該任務(wù)所需的大致時(shí)間。學(xué)生編程能力各異,編程過(guò)程不可預(yù)測(cè),但可大致總結(jié)如下。  難易程度  I. 簡(jiǎn)單的練習(xí),應(yīng)該可以一晚完成?! I. 較難任務(wù),應(yīng)該可以一周內(nèi)完成,讀者需要一定的時(shí)間來(lái)設(shè)計(jì)程序,并且有足夠的時(shí)間反復(fù)測(cè)試和調(diào)試程序?! II. 復(fù)雜任務(wù),一般需要3周時(shí)間來(lái)完成設(shè)計(jì)和實(shí)現(xiàn)。完成它可以被視為一項(xiàng)重大進(jìn)步?! penGL的使用  剛開(kāi)始學(xué)習(xí)計(jì)算機(jī)圖形學(xué)時(shí),一個(gè)很大的障礙就是如何繪制一幅圖像。寫(xiě)一個(gè)程序通常很簡(jiǎn)單,但最終要通過(guò)某些工具在屏幕上繪制出來(lái)?,F(xiàn)在,這些工具已經(jīng)存在并且很容易獲取。1992年, Silicon Graphics 公司推出了OpenGL?,F(xiàn)在它已經(jīng)成為最廣泛使用的圖形應(yīng)用編程接口(API)之一。OpenGL通過(guò)提供可以在程序中調(diào)用的方法接口來(lái)繪制圖像,并且它可以在因特網(wǎng)上免費(fèi)下載。正如附錄1中所述,在大專(zhuān)院校和工業(yè)界中使用的各種計(jì)算機(jī)系統(tǒng)上,都可以使用OpenGL。它易于安裝和使用,目前作為標(biāo)準(zhǔn)的圖形API已經(jīng)成熟。它的制定和修改由OpenGL評(píng)審委員會(huì)(一個(gè)負(fù)責(zé)引導(dǎo)OpenGL發(fā)展的工業(yè)協(xié)會(huì))負(fù)責(zé)。  OpenGL非常適用于計(jì)算機(jī)圖形的一個(gè)特殊原因是因?yàn)樗脑O(shè)備獨(dú)立性或可移植性。不同院校的機(jī)房使用不同種類(lèi)的計(jì)算機(jī),學(xué)生可以利用OpenGL在任何一臺(tái)計(jì)算機(jī)上開(kāi)發(fā)并運(yùn)行程序。此外,該程序也可以在不同操作系統(tǒng)下、不同類(lèi)型的另一臺(tái)計(jì)算機(jī)上運(yùn)行,兩臺(tái)計(jì)算機(jī)上生成的圖像也一定相同。  OpenGL提供了豐富且易用的二維圖形和圖像操作的API函數(shù),然而OpenGL最強(qiáng)大之處在于處理三維圖形。使用OpenGL,讀者可以在一個(gè)學(xué)期之內(nèi)學(xué)習(xí)并掌握制作精美動(dòng)畫(huà)效果的技巧。  OpenGL的發(fā)展歷史  OpenGL的第一個(gè)版本1.0在1992年發(fā)布。從那時(shí)起, OpenGL一直都是一個(gè)成功的跨平臺(tái)的圖形API。第一個(gè)版本可以很好地兼容一個(gè)叫做IrisGL的專(zhuān)有API,這種API是由Silicon Graphics公司設(shè)計(jì)開(kāi)發(fā)的。兼容的目的是為了建立一個(gè)工業(yè)標(biāo)準(zhǔn)。為此,Silicon Graphics公司聯(lián)合其他幾家圖形硬件公司,共同制定了一個(gè)開(kāi)放標(biāo)準(zhǔn),命名為OpenGL。不足為奇,在隨后的10年,人們努力使得OpenGL變得更好和更加強(qiáng)大。在這段時(shí)間,圖形硬件也發(fā)展迅猛,產(chǎn)生了越來(lái)越強(qiáng)大的圖形加速卡,這使得程序開(kāi)發(fā)者迫切需要一個(gè)能夠達(dá)到OpenGL最佳效果的API。因此,OpenGL提供了一系列的擴(kuò)展函數(shù),允許開(kāi)發(fā)者在圖形硬件新特征出現(xiàn)后就可以馬上充分利用它們?! ∶慨?dāng)有一種強(qiáng)大的軟件系統(tǒng)面世,標(biāo)準(zhǔn)的問(wèn)題也隨即產(chǎn)生。對(duì)于OpenGL,為使它朝著可控、有序的方向發(fā)展,Silicon Graphics成立了一個(gè)監(jiān)督組織,該組織被稱(chēng)作OpenGL 架構(gòu)評(píng)審委員會(huì)(Architecture Review Board, ARB). ARB的主要任務(wù)是指導(dǎo)OpenGL規(guī)范的制定和一致性測(cè)試。OpenGL規(guī)范詳盡地描述了每個(gè)OpenGL方法和標(biāo)識(shí)符的使用方法。目前,ARB的成員有3Dlabs、蘋(píng)果公司、IBM、英特爾、nVidia、ATI、SGI和Sun Microsystems等?! penGL規(guī)范中定義的方法由各個(gè)圖形硬件廠商在圖形驅(qū)動(dòng)程序中實(shí)現(xiàn)。這個(gè)過(guò)程需要大量的資金和時(shí)間,所以,通常在規(guī)范發(fā)布后過(guò)一段時(shí)間,支持該規(guī)范的驅(qū)動(dòng)程序才會(huì)發(fā)布。最新的版本OpenGL 2.0在2004年9月發(fā)布,它包含了強(qiáng)大的OpenGL著色語(yǔ)言(Shading Language),將在第8章對(duì)此進(jìn)行詳細(xì)介紹。它的前一版本是OpenGL 1.5,該版本發(fā)布于2003年?! ∮?jì)算機(jī)圖形學(xué)是一個(gè)發(fā)展迅速的領(lǐng)域,這使得開(kāi)發(fā)人員往往很急切地等待OpenGL官方版本的發(fā)布。所以,必須存在一種機(jī)制,使得小規(guī)模增加的最新OpenGL功能可以馬上在最新的圖形硬件上開(kāi)發(fā)和測(cè)試。為此,ARB提供了一個(gè)明確定義的擴(kuò)展機(jī)制。在OpenGL擴(kuò)展注冊(cè)表(http://oss.sgi.com/projects/projects/ogl-sample/registry)中可以看到擴(kuò)展的列表,其中定義了命名習(xí)慣,新擴(kuò)展的指導(dǎo)方針和其他相關(guān)的擴(kuò)展討論。訪問(wèn)擴(kuò)展是一個(gè)平臺(tái)相關(guān)的任務(wù),而可用的擴(kuò)展取決于計(jì)算機(jī)上安裝的圖形硬件。一些庫(kù)如GLEW和GLEE可以用來(lái)簡(jiǎn)化在應(yīng)用程序中使用擴(kuò)展?! U(kuò)展機(jī)制使得OpenGL以一個(gè)合理的成本運(yùn)行。小規(guī)模的改動(dòng)就可以擁有最新硬件的強(qiáng)大功能。這些擴(kuò)展一旦被批準(zhǔn)并在OpenGL擴(kuò)展注冊(cè)表中注冊(cè)登記之后,即可以迅速發(fā)揮作用。當(dāng)某個(gè)擴(kuò)展已經(jīng)成熟到可以加入OpenGL的核心功能中時(shí),ARB就會(huì)討論決定是否將其加入,然后發(fā)布新版本的OpenGL。這些內(nèi)容將在第8章中進(jìn)行討論?! ++編程語(yǔ)言的使用  C++是大多數(shù)工程和計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的首選編程語(yǔ)言。相比于C, C++有幾個(gè)明顯的優(yōu)點(diǎn),如引用傳遞函數(shù)參數(shù),這使得顯式指針不再需要,代碼閱讀更加易懂。通過(guò)使用流,文件的輸入輸出(I/O)也被極大地簡(jiǎn)化。一般來(lái)說(shuō),C++中的所有I/O的語(yǔ)法都比C中更為清晰。為了使得本書(shū)中的描述更為簡(jiǎn)單,我們沒(méi)有特別強(qiáng)調(diào)C++中運(yùn)算符的使用?! 〈送猓珻++中的類(lèi)很容易開(kāi)發(fā)應(yīng)用,如二維或三維中的點(diǎn)、線、窗口或顏色,這使代碼更加簡(jiǎn)單而且更加魯棒。使用類(lèi)之后,具體的操作如幾何對(duì)象細(xì)節(jié)隱藏、編寫(xiě)繪制函數(shù)包裝繪制、測(cè)試某個(gè)對(duì)象是否相交等都更加清晰易讀。  注重三維計(jì)算機(jī)圖形學(xué)  由于PC上的游戲越來(lái)越流行,電影中令人眼花繚亂的動(dòng)畫(huà)越來(lái)越多,學(xué)生都對(duì)開(kāi)發(fā)三維交互式的圖形應(yīng)用程序特別有興趣。為了能讓讀者更快地進(jìn)入三維圖形學(xué)的主題,本書(shū)重新組織了第一版和第二版中的若干章節(jié)。在很多地方,二維和三維的概念結(jié)合在一起論述,這可以幫助理解兩者之間的相似和區(qū)別?! ∈褂脠?chǎng)景設(shè)計(jì)語(yǔ)言來(lái)描述三維場(chǎng)景  如果用原始的OpenGL命令來(lái)描述一個(gè)包含很多三維物體的場(chǎng)景,將會(huì)非常不雅觀而且費(fèi)時(shí)。例如,如果使用OpenGL的命令逐一定義6個(gè)面來(lái)描述一個(gè)立方體將顯得非常乏味。所以,在第5章中會(huì)介紹一個(gè)簡(jiǎn)單的場(chǎng)景描述語(yǔ)言SDL(在附錄中有更加詳盡定義)。使用這個(gè)描述語(yǔ)言,學(xué)生可以使用熟悉的詞匯來(lái)描述場(chǎng)景,如“立方體”、“球”和“旋轉(zhuǎn)”等,并建立包含這些詞匯的文件。這些文件可以在運(yùn)行時(shí)讀入到程序中。本書(shū)的附錄(或本書(shū)的網(wǎng)站)中給出了一個(gè)能夠閱讀SDL文件并建立文件中所描述物體的解釋程序。這樣,用OpenGL來(lái)繪制場(chǎng)景文件中的物體列表就變得非常簡(jiǎn)單?! ”緯?shū)的結(jié)構(gòu)和課程安排  本書(shū)包含多于一個(gè)學(xué)期的教學(xué)內(nèi)容,甚至多于兩個(gè)學(xué)期的內(nèi)容(對(duì)前兩版也是這種情況)。本書(shū)經(jīng)過(guò)細(xì)致的編排,使得授課老師可以根據(jù)課程的長(zhǎng)度和課程的背景選擇不同的章節(jié)組合來(lái)授課。下面在介紹完各章的主要內(nèi)容之后,將介紹幾個(gè)建議的章節(jié)組合教學(xué)方案。

內(nèi)容概要

  計(jì)算機(jī)圖形學(xué)是利用計(jì)算機(jī)研究圖形的表示、生成、處理和顯示的一門(mén)重要的計(jì)算機(jī)學(xué)科分支,它是計(jì)算機(jī)科學(xué)中最活躍的分支之一。近年來(lái),隨著計(jì)算機(jī)及互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,計(jì)算機(jī)圖形學(xué)正越來(lái)越深入我們的生活,它在工業(yè)建模、視頻處理、游戲制作、影視特技、生物信息和醫(yī)藥醫(yī)療等各行各業(yè)都有著及其重要的作用??梢哉f(shuō),計(jì)算機(jī)圖形學(xué)的應(yīng)用無(wú)所不在,且日益廣泛;已經(jīng)成為計(jì)算機(jī)科學(xué)技術(shù)與其它應(yīng)用學(xué)科之間溝通的橋梁,成為許多計(jì)算機(jī)從業(yè)人員的必備素質(zhì)之一?! ”緯?shū)是一本國(guó)外很有影響的教材,為許多國(guó)外著名大學(xué)所采用。本書(shū)通過(guò)最能代表技術(shù)發(fā)展?fàn)顩r的示例綜合介紹了計(jì)算機(jī)圖形學(xué)方面的原則和技巧,本書(shū)對(duì)每個(gè)概念都進(jìn)行了詳細(xì)介紹,闡述了其背后的數(shù)學(xué)原理,并給出了用OpenGL實(shí)現(xiàn)的代碼以及實(shí)現(xiàn)結(jié)果展示。新版本還為讀者提供了計(jì)算機(jī)圖形學(xué)領(lǐng)域的最前沿信息。本書(shū)是計(jì)算機(jī)圖形學(xué)課程的很好教材,也是計(jì)算機(jī)圖形學(xué)專(zhuān)業(yè)人員的很好參考書(shū)。

書(shū)籍目錄

第1章  計(jì)算機(jī)圖形學(xué)概述  1.1 什么是計(jì)算機(jī)圖形學(xué) 1.2 計(jì)算機(jī)生成的圖片用在哪里    1.2.1 藝術(shù)、娛樂(lè)和出版行業(yè)    1.2.2 計(jì)算機(jī)圖形學(xué)、感知和圖像處理    1.2.3 過(guò)程監(jiān)視    1.2.4 仿真顯示    1.2.5 計(jì)算機(jī)輔助設(shè)計(jì)    1.2.6 科學(xué)分析與體可視化  1.3 計(jì)算機(jī)圖形學(xué)中制作圖像的基本元素    1.3.1 折線    1.3.2 文本    1.3.3 填充區(qū)域    1.3.4 光柵圖像    1.3.5 光柵圖像的灰度和色彩表達(dá)  1.4 圖形顯示設(shè)備    1.4.1 線畫(huà)顯示    1.4.2 光柵顯示器    1.4.3 視頻卡/3D加速器    1.4.4 其他的光柵顯示設(shè)備    1.4.5 硬拷貝光柵設(shè)備  1.5 圖形輸入的基本單元和設(shè)備    1.5.1 邏輯上的輸入圖形基元類(lèi)型    1.5.2 物理輸入設(shè)備的類(lèi)型  本章小結(jié)  本章習(xí)題  進(jìn)一步閱讀第2章 OpenGL繪圖入門(mén)  2.1 生成圖像初步    2.1.1 設(shè)備無(wú)關(guān)的編程和OpenGL    2.1.2 窗口的編程    2.1.3  如何打開(kāi)一個(gè)窗口畫(huà)圖 2.2 OpenGL的基本圖形元素    2.2.1 幾個(gè)點(diǎn)叢繪制的例子 2.3 OpenGL中的直線繪制    2.3.1 繪制折線和多邊形    2.3.2  使用moveTo()和lineTo()繪制線段    2.3.3 繪制邊校正的矩形    2.3.4 邊校正矩形的長(zhǎng)寬比    2.3.5 填充多邊形    2.3.6  OpenGL中的其他圖形元素 2.4 與鼠標(biāo)和鍵盤(pán)的交互    2.4.1 用鼠標(biāo)交互    2.4.2 鍵盤(pán)交互 2.5 程序中的菜單設(shè)計(jì)與使用 本章小結(jié) 案例分析 進(jìn)一步閱讀第3章 更多的繪圖工具 3.1 概述 3.2  世界窗口和視口    3.2.1  窗口到視口的映射 3.3 裁減線    3.3.1 如何裁減一條線    3.3.2  Cohen-Sutherland裁減算法 3.4 正多邊形、圓和圓弧    3.4.1  正多邊形    3.4.2 正n邊形的變種      3.4.3 繪制圓弧和圓    3.4.4 曲線的逐次細(xì)化 3.5 曲線的參數(shù)形式    3.5.1 曲線的參數(shù)形式    3.5.2 繪制參數(shù)曲線    3.5.3 極坐標(biāo)形狀 本章小結(jié) 案例分析 進(jìn)一步閱讀第4章 圖形學(xué)中的向量工具第5章 物體變換第6章 使用多邊形網(wǎng)格建模第7章 三維觀察第8章 幾何體的真實(shí)感渲染第9章 光柵顯示工具第10章 曲線和曲面設(shè)計(jì)第11章 顏色理論第12章 光線跟蹤基礎(chǔ)附錄1 圖形工具:怎樣獲取和安裝OpenGL附錄2 計(jì)算機(jī)圖形學(xué)的數(shù)學(xué)基礎(chǔ)附錄3 有用的類(lèi)、例種以及SDL附錄4 分形和曼德布洛特集合附錄5 相對(duì)性和海龜繪圖

章節(jié)摘錄

  第1章 計(jì)算機(jī)圖形學(xué)概述  本章學(xué)習(xí)目標(biāo)  縱覽計(jì)算機(jī)圖形學(xué)領(lǐng)域  描述重要的圖形輸入和輸出設(shè)備  預(yù)覽  1.1節(jié) 介紹計(jì)算機(jī)圖形學(xué)的相關(guān)領(lǐng)域。1.2節(jié)給出了一些當(dāng)今計(jì)算機(jī)圖形學(xué)應(yīng)用的例子。1.3節(jié)介紹用計(jì)算機(jī)生成圖像的基本方法。在1.3.4節(jié)中特別介紹了光柵圖像的概念,它的應(yīng)用貫穿本書(shū)始終。1.4節(jié)描述了一些現(xiàn)在常用的圖形顯示設(shè)備,1.5節(jié)簡(jiǎn)要介紹用于交互式圖形應(yīng)用的各種輸入設(shè)備。  本書(shū)原著在國(guó)外是很有影響力的教材,被許多國(guó)外著名的大學(xué)所采用。譯者在盡量保持原書(shū)精髓的基礎(chǔ)上,對(duì)原書(shū)做了一些表述上的調(diào)整,以符合中文習(xí)慣,原書(shū)中的一些筆誤,也給予了糾正。本書(shū)譯者中,胡事民、劉永進(jìn)、張松海來(lái)自清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,劉利剛來(lái)自浙江大學(xué)數(shù)學(xué)系,均在第一線從事計(jì)算機(jī)圖形學(xué)的教學(xué)和科研工作。在本書(shū)的翻譯中,胡事民教授負(fù)責(zé)第1、2、8章,劉利剛副教授負(fù)責(zé)10、11、12章,劉永進(jìn)副教授負(fù)責(zé)5、6、7章,張松海博士負(fù)責(zé)3、4、9章。經(jīng)過(guò)一年多的努力,本書(shū)終于完成翻譯,并付印。在翻譯過(guò)程中,得到了許多同事和學(xué)生的幫助,研究生徐昆、高岳、李勇、張硯、雷勵(lì)星、陳韜、張一飛、藏域、程明明、來(lái)煜坤、勒力、楊永亮、張國(guó)鑫、王王禹屏、邊哲、佟強(qiáng)、白石、沈超慧、盧少平、陳中貴、陳仁杰、陳軍、胡建偉、孟敏、張冬梅等參與翻譯了部分初稿,在此一并表示感謝?! ∮捎谧g者水平有限,本書(shū)翻譯過(guò)程中難有疏漏和不妥之處,敬請(qǐng)讀者批評(píng)和指正。前 言 對(duì)于有志于學(xué)習(xí)計(jì)算機(jī)圖形學(xué)基本原理和技術(shù),并且渴望自己能夠編寫(xiě)優(yōu)質(zhì)圖形學(xué)程序的讀者,本書(shū)為他們提供了入門(mén)的詳細(xì)介紹。計(jì)算機(jī)圖形學(xué)具有強(qiáng)大的生命力并正在持續(xù)發(fā)展。動(dòng)畫(huà)電影已經(jīng)展示給人們圖形學(xué)知識(shí)所能做到的令人激動(dòng)的視覺(jué)效果。電腦游戲和因特網(wǎng)中的圖形效果同樣激勵(lì)人們?nèi)W(xué)習(xí)如何自己動(dòng)手做出這樣的效果?! D形軟硬件系統(tǒng)正在以驚人的速度朝著更好、更快和更廉價(jià)的方向發(fā)展。每年從研究和業(yè)界中提出的大量新技術(shù)不斷地涌現(xiàn)。然而,圖形學(xué)最基本的原理和方法,卻保持著穩(wěn)定和連貫,并且這些知識(shí)中的大部分可以通過(guò)一個(gè)圖形學(xué)課程學(xué)習(xí)得到。本書(shū)將圖形學(xué)的一些基本思想和方法組織起來(lái),通過(guò)閱讀使讀者從只會(huì)編寫(xiě)簡(jiǎn)單程序的水平,提高到能夠自行設(shè)計(jì)并編寫(xiě)出優(yōu)良圖形學(xué)程序的水平?! ∵m用的讀者范圍  該書(shū)被設(shè)定為本科高年級(jí)或研究生一年級(jí)的一個(gè)或兩個(gè)學(xué)期的課程教材。該書(shū)也可用于自學(xué)。該書(shū)的主要對(duì)象是專(zhuān)業(yè)為計(jì)算機(jī)科學(xué)或計(jì)算機(jī)工程的學(xué)生,當(dāng)然也適用于其他專(zhuān)業(yè)如物理和數(shù)學(xué)的學(xué)生?! ?duì)數(shù)學(xué)基礎(chǔ)的要求  讀者應(yīng)該具備相當(dāng)于大學(xué)一年級(jí)的數(shù)學(xué)水平;并具備初等代數(shù)、幾何、三角函數(shù)和初等微積分的基本知識(shí)。向量和矩陣的有關(guān)知識(shí)將有助于本書(shū)的閱讀,但不是必須的。本書(shū)在相關(guān)章節(jié)中介紹了向量和矩陣的基本知識(shí),同時(shí),附錄中總結(jié)了向量和矩陣的關(guān)鍵概念。  計(jì)算機(jī)圖形學(xué)中使用了大量的數(shù)學(xué)符號(hào)來(lái)表達(dá)線、面和視點(diǎn)之間的基本幾何關(guān)系。雖然每個(gè)數(shù)學(xué)符號(hào)都很容易理解,但所需的符號(hào)數(shù)量卻令人生畏。書(shū)中特別強(qiáng)調(diào)了使用每種符號(hào)或技術(shù)的原因,以及如何利用這些數(shù)學(xué)符號(hào)合理地描述圖形程序中感興趣的對(duì)象?! ?duì)編程水平的要求  一般情況下,讀者應(yīng)具有至少一個(gè)學(xué)期使用C、C++或Java編寫(xiě)程序的經(jīng)驗(yàn)。相當(dāng)多有關(guān)圖形的編程涉及到將幾何關(guān)系直接轉(zhuǎn)換為代碼,包括使用變量、函數(shù)、數(shù)組、循環(huán)和條件測(cè)試等,而這些東西在不同編程語(yǔ)言中都是類(lèi)似的。本書(shū)使用的編程語(yǔ)言是C++,但是,有C語(yǔ)言背景的讀者可以輕易地讀懂大部分材料?! ∽x者如果熟練掌握C中的結(jié)構(gòu)或C++中的類(lèi),將非常有助于本書(shū)的閱讀。如用于描述復(fù)雜場(chǎng)景的圖形對(duì)象結(jié)構(gòu),這些場(chǎng)景(如一個(gè)城堡或一架飛機(jī))可能由許多部分組成,而這些部分本身又由復(fù)雜的更小部分組成。如果能熟練使用鏈表或樹(shù)結(jié)構(gòu)也會(huì)有一些幫助,但不是必須的。  對(duì)于只懂得C但不懂得C++的讀者來(lái)說(shuō),需要掌握面向?qū)ο蟮木幊汤砟睢1緯?shū)中定義了許多有用的類(lèi)(如網(wǎng)格、場(chǎng)景、相機(jī)和紋理等類(lèi)),并且說(shuō)明了這些類(lèi)為什么方便易用。在某些場(chǎng)合下,為了使程序更加清晰易讀,我們使用了面向?qū)ο缶幊讨械囊恍┘夹g(shù),如繼承和多態(tài),不過(guò),我們并不過(guò)分強(qiáng)調(diào)面向?qū)ο蟮姆椒??! ∮?jì)算機(jī)圖形學(xué) (OpenGL版)(第3版)前言教學(xué)理念  第3版與前兩版相比,幾乎被完全重新組織和改寫(xiě),但是基本的教學(xué)理念沒(méi)有改變: 我們堅(jiān)信計(jì)算機(jī)圖形學(xué)是在實(shí)際使用中學(xué)習(xí)到的,一定要?jiǎng)邮志帉?xiě)程序并進(jìn)行測(cè)試,才能真正地掌握計(jì)算機(jī)圖形學(xué)。本書(shū)的一個(gè)主要目標(biāo)就是讓讀者懂得如何將一個(gè)特定的設(shè)計(jì)任務(wù)轉(zhuǎn)換成相應(yīng)的幾何結(jié)構(gòu),并找到一個(gè)合適的數(shù)學(xué)表達(dá),最后將這個(gè)表達(dá)轉(zhuǎn)換為算法和程序代碼。本書(shū)將以循序漸進(jìn)的方式讓讀者首先學(xué)習(xí)到如何編寫(xiě)簡(jiǎn)單的程序來(lái)繪制簡(jiǎn)單的圖像,然后一步一步深入地掌握如何生成更加復(fù)雜的特殊效果的技巧?! 【毩?xí)和問(wèn)題  本書(shū)包含超過(guò)350道來(lái)源于實(shí)際問(wèn)題的練習(xí)題。其中大部分都是讓讀者停下來(lái)進(jìn)行思考但并不需要編程的那種類(lèi)型,這可以讓讀者自己測(cè)試一下知識(shí)掌握的程度。其余小部分則需要編程實(shí)現(xiàn)?! 〈送?,在所有章節(jié)的末尾,列出了總共超過(guò)50個(gè)的實(shí)例分析。它們都是一些編程的項(xiàng)目,難易程度由簡(jiǎn)到繁,適合于作為課后作業(yè)。這些案例分析對(duì)相應(yīng)章節(jié)內(nèi)的內(nèi)容進(jìn)行了擴(kuò)展。無(wú)論是否全部完成這些實(shí)例分析任務(wù),它們都應(yīng)該作為相應(yīng)章節(jié)的一個(gè)有機(jī)組成部分?! ∶恳粋€(gè)實(shí)例分析任務(wù)都注明了相應(yīng)的難易程度,用以判斷完成該任務(wù)所需的大致時(shí)間。學(xué)生編程能力各異,編程過(guò)程不可預(yù)測(cè),但可大致總結(jié)如下?! ‰y易程度 ?、? 簡(jiǎn)單的練習(xí),應(yīng)該可以一晚完成?! 、? 較難任務(wù),應(yīng)該可以一周內(nèi)完成,讀者需要一定的時(shí)間來(lái)設(shè)計(jì)程序,并且有足夠的時(shí)間反復(fù)測(cè)試和調(diào)試程序?! 、? 復(fù)雜任務(wù),一般需要3周時(shí)間來(lái)完成設(shè)計(jì)和實(shí)現(xiàn)。完成它可以被視為一項(xiàng)重大進(jìn)步?! penGL的使用  剛開(kāi)始學(xué)習(xí)計(jì)算機(jī)圖形學(xué)時(shí),一個(gè)很大的障礙就是如何繪制一幅圖像。寫(xiě)一個(gè)程序通常很簡(jiǎn)單,但最終要通過(guò)某些工具在屏幕上繪制出來(lái)?,F(xiàn)在,這些工具已經(jīng)存在并且很容易獲取。1992年, Silicon Graphics 公司推出了OpenGL?,F(xiàn)在它已經(jīng)成為最廣泛使用的圖形應(yīng)用編程接口(API)之一。OpenGL通過(guò)提供可以在程序中調(diào)用的方法接口來(lái)繪制圖像,并且它可以在因特網(wǎng)上免費(fèi)下載。正如附錄1中所述,在大專(zhuān)院校和工業(yè)界中使用的各種計(jì)算機(jī)系統(tǒng)上,都可以使用OpenGL。它易于安裝和使用,目前作為標(biāo)準(zhǔn)的圖形API已經(jīng)成熟。它的制定和修改由OpenGL評(píng)審委員會(huì)(一個(gè)負(fù)責(zé)引導(dǎo)OpenGL發(fā)展的工業(yè)協(xié)會(huì))負(fù)責(zé)?! penGL非常適用于計(jì)算機(jī)圖形的一個(gè)特殊原因是因?yàn)樗脑O(shè)備獨(dú)立性或可移植性。不同院校的機(jī)房使用不同種類(lèi)的計(jì)算機(jī),學(xué)生可以利用OpenGL在任何一臺(tái)計(jì)算機(jī)上開(kāi)發(fā)并運(yùn)行程序。此外,該程序也可以在不同操作系統(tǒng)下、不同類(lèi)型的另一臺(tái)計(jì)算機(jī)上運(yùn)行,兩臺(tái)計(jì)算機(jī)上生成的圖像也一定相同。  OpenGL提供了豐富且易用的二維圖形和圖像操作的API函數(shù),然而OpenGL最強(qiáng)大之處在于處理三維圖形。使用OpenGL,讀者可以在一個(gè)學(xué)期之內(nèi)學(xué)習(xí)并掌握制作精美動(dòng)畫(huà)效果的技巧。  OpenGL的發(fā)展歷史  OpenGL的第一個(gè)版本1.0在1992年發(fā)布。從那時(shí)起, OpenGL一直都是一個(gè)成功的跨平臺(tái)的圖形API。第一個(gè)版本可以很好地兼容一個(gè)叫做IrisGL的專(zhuān)有API,這種API是由Silicon Graphics公司設(shè)計(jì)開(kāi)發(fā)的。兼容的目的是為了建立一個(gè)工業(yè)標(biāo)準(zhǔn)。為此,Silicon Graphics公司聯(lián)合其他幾家圖形硬件公司,共同制定了一個(gè)開(kāi)放標(biāo)準(zhǔn),命名為OpenGL。不足為奇,在隨后的10年,人們努力使得OpenGL變得更好和更加強(qiáng)大。在這段時(shí)間,圖形硬件也發(fā)展迅猛,產(chǎn)生了越來(lái)越強(qiáng)大的圖形加速卡,這使得程序開(kāi)發(fā)者迫切需要一個(gè)能夠達(dá)到OpenGL最佳效果的API。因此,OpenGL提供了一系列的擴(kuò)展函數(shù),允許開(kāi)發(fā)者在圖形硬件新特征出現(xiàn)后就可以馬上充分利用它們。  每當(dāng)有一種強(qiáng)大的軟件系統(tǒng)面世,標(biāo)準(zhǔn)的問(wèn)題也隨即產(chǎn)生。對(duì)于OpenGL,為使它朝著可控、有序的方向發(fā)展,Silicon Graphics成立了一個(gè)監(jiān)督組織,該組織被稱(chēng)作OpenGL 架構(gòu)評(píng)審委員會(huì)(Architecture Review Board, ARB). ARB的主要任務(wù)是指導(dǎo)OpenGL規(guī)范的制定和一致性測(cè)試。OpenGL規(guī)范詳盡地描述了每個(gè)OpenGL方法和標(biāo)識(shí)符的使用方法。目前,ARB的成員有3Dlabs、蘋(píng)果公司、IBM、英特爾、nVidia、ATI、SGI和Sun Microsystems等。  OpenGL規(guī)范中定義的方法由各個(gè)圖形硬件廠商在圖形驅(qū)動(dòng)程序中實(shí)現(xiàn)。這個(gè)過(guò)程需要大量的資金和時(shí)間,所以,通常在規(guī)范發(fā)布后過(guò)一段時(shí)間,支持該規(guī)范的驅(qū)動(dòng)程序才會(huì)發(fā)布。最新的版本OpenGL 2.0在2004年9月發(fā)布,它包含了強(qiáng)大的OpenGL著色語(yǔ)言(Shading Language),將在第8章對(duì)此進(jìn)行詳細(xì)介紹。它的前一版本是OpenGL 1.5,該版本發(fā)布于2003年。  計(jì)算機(jī)圖形學(xué)是一個(gè)發(fā)展迅速的領(lǐng)域,這使得開(kāi)發(fā)人員往往很急切地等待OpenGL官方版本的發(fā)布。所以,必須存在一種機(jī)制,使得小規(guī)模增加的最新OpenGL功能可以馬上在最新的圖形硬件上開(kāi)發(fā)和測(cè)試。為此,ARB提供了一個(gè)明確定義的擴(kuò)展機(jī)制。在OpenGL擴(kuò)展注冊(cè)表(http://oss.sgi.com/projects/projects/ogl-sample/registry)中可以看到擴(kuò)展的列表,其中定義了命名習(xí)慣,新擴(kuò)展的指導(dǎo)方針和其他相關(guān)的擴(kuò)展討論。訪問(wèn)擴(kuò)展是一個(gè)平臺(tái)相關(guān)的任務(wù),而可用的擴(kuò)展取決于計(jì)算機(jī)上安裝的圖形硬件。一些庫(kù)如GLEW和GLEE可以用來(lái)簡(jiǎn)化在應(yīng)用程序中使用擴(kuò)展?! U(kuò)展機(jī)制使得OpenGL以一個(gè)合理的成本運(yùn)行。小規(guī)模的改動(dòng)就可以擁有最新硬件的強(qiáng)大功能。這些擴(kuò)展一旦被批準(zhǔn)并在OpenGL擴(kuò)展注冊(cè)表中注冊(cè)登記之后,即可以迅速發(fā)揮作用。當(dāng)某個(gè)擴(kuò)展已經(jīng)成熟到可以加入OpenGL的核心功能中時(shí),ARB就會(huì)討論決定是否將其加入,然后發(fā)布新版本的OpenGL。這些內(nèi)容將在第8章中進(jìn)行討論?! ++編程語(yǔ)言的使用  C++是大多數(shù)工程和計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的首選編程語(yǔ)言。相比于C, C++有幾個(gè)明顯的優(yōu)點(diǎn),如引用傳遞函數(shù)參數(shù),這使得顯式指針不再需要,代碼閱讀更加易懂。通過(guò)使用流,文件的輸入輸出(I/O)也被極大地簡(jiǎn)化。一般來(lái)說(shuō),C++中的所有I/O的語(yǔ)法都比C中更為清晰。為了使得本書(shū)中的描述更為簡(jiǎn)單,我們沒(méi)有特別強(qiáng)調(diào)C++中運(yùn)算符的使用。  此外,C++中的類(lèi)很容易開(kāi)發(fā)應(yīng)用,如二維或三維中的點(diǎn)、線、窗口或顏色,這使代碼更加簡(jiǎn)單而且更加魯棒。使用類(lèi)之后,具體的操作如幾何對(duì)象細(xì)節(jié)隱藏、編寫(xiě)繪制函數(shù)包裝繪制、測(cè)試某個(gè)對(duì)象是否相交等都更加清晰易讀?! ∽⒅厝S計(jì)算機(jī)圖形學(xué)  由于PC上的游戲越來(lái)越流行,電影中令人眼花繚亂的動(dòng)畫(huà)越來(lái)越多,學(xué)生都對(duì)開(kāi)發(fā)三維交互式的圖形應(yīng)用程序特別有興趣。為了能讓讀者更快地進(jìn)入三維圖形學(xué)的主題,本書(shū)重新組織了第一版和第二版中的若干章節(jié)。在很多地方,二維和三維的概念結(jié)合在一起論述,這可以幫助理解兩者之間的相似和區(qū)別?! ∈褂脠?chǎng)景設(shè)計(jì)語(yǔ)言來(lái)描述三維場(chǎng)景  如果用原始的OpenGL命令來(lái)描述一個(gè)包含很多三維物體的場(chǎng)景,將會(huì)非常不雅觀而且費(fèi)時(shí)。例如,如果使用OpenGL的命令逐一定義6個(gè)面來(lái)描述一個(gè)立方體將顯得非常乏味。所以,在第5章中會(huì)介紹一個(gè)簡(jiǎn)單的場(chǎng)景描述語(yǔ)言SDL(在附錄中有更加詳盡定義)。使用這個(gè)描述語(yǔ)言,學(xué)生可以使用熟悉的詞匯來(lái)描述場(chǎng)景,如“立方體”、“球”和“旋轉(zhuǎn)”等,并建立包含這些詞匯的文件。這些文件可以在運(yùn)行時(shí)讀入到程序中。本書(shū)的附錄(或本書(shū)的網(wǎng)站)中給出了一個(gè)能夠閱讀SDL文件并建立文件中所描述物體的解釋程序。這樣,用OpenGL來(lái)繪制場(chǎng)景文件中的物體列表就變得非常簡(jiǎn)單。  本書(shū)的結(jié)構(gòu)和課程安排  本書(shū)包含多于一個(gè)學(xué)期的教學(xué)內(nèi)容,甚至多于兩個(gè)學(xué)期的內(nèi)容(對(duì)前兩版也是這種情況)。本書(shū)經(jīng)過(guò)細(xì)致的編排,使得授課老師可以根據(jù)課程的長(zhǎng)度和課程的背景選擇不同的章節(jié)組合來(lái)授課。下面在介紹完各章的主要內(nèi)容之后,將介紹幾個(gè)建議的章節(jié)組合教學(xué)方案。

編輯推薦

  《計(jì)算機(jī)圖形學(xué)(OpenGL版)第3版》配套的網(wǎng)站提供了書(shū)中使用到的代碼、彩色插圖、完整程序以及與《計(jì)算機(jī)圖形學(xué)(OpenGL版)第3版》密切相關(guān)的參考素材?! ∫訡++語(yǔ)言作為程序設(shè)計(jì)語(yǔ)言?! ∩钊虢榻B3D圖形學(xué)及其數(shù)學(xué)知識(shí),使學(xué)生可以創(chuàng)建真實(shí)的3D圖形。  每章后面都給出了實(shí)際的案例研究?! ∏逦亟榻B了計(jì)算機(jī)圖形學(xué)的原理和技術(shù)?! 〈罅空鎸?shí)而逼真的示例。  大量實(shí)踐練習(xí)(每章大概有30多道)。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    計(jì)算機(jī)圖形學(xué) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)28條)

 
 

  •   這是一本見(jiàn)解圖形學(xué)OPenGL很好的書(shū),一直圖形學(xué)的書(shū)講OPenGL的很少,或者是專(zhuān)門(mén)講OPenGL的書(shū)友沒(méi)有深入介紹圖形學(xué)的,這本書(shū)在這方面結(jié)合的很好,是不可多的的計(jì)算機(jī)圖形方面的好書(shū)
  •   清華出的書(shū)每本都是經(jīng)典。不像某些出版社,寫(xiě)書(shū)的先不是個(gè)程序員,發(fā)書(shū)的只會(huì)把書(shū)封面弄得很誘人,里頭內(nèi)容一塌糊涂。這本書(shū)可以說(shuō)非常詳細(xì),細(xì)致的介紹了計(jì)算機(jī)圖形學(xué)各個(gè)方面,結(jié)合openGL接口,寫(xiě)了非常多實(shí)例,可以說(shuō)是一本足夠?qū)I(yè)和深度的教科書(shū)。
  •   之前買(mǎi)了Opengl編程指南,雖然學(xué)會(huì)了怎么用它的API,但是原理不知道。此書(shū)通過(guò)數(shù)學(xué)原理在根本上說(shuō)清,說(shuō)明白了計(jì)算機(jī)圖形學(xué)的原理,看完之后心情大悅!
  •   計(jì)算機(jī)圖形方面不錯(cuò)的參考材料
  •   幫朋友買(mǎi)的,他說(shuō)圖形學(xué)這本書(shū)很好~~
  •   適合沒(méi)有接觸過(guò)3d圖形編程的人并且想從opengl開(kāi)始入門(mén)的人閱讀,
    結(jié)合原理理論學(xué)習(xí)opengl,不只是介紹api,是一本很好的入門(mén)書(shū)。
  •   本書(shū)理論性超強(qiáng),沒(méi)見(jiàn)到多少代碼
    代碼的網(wǎng)址書(shū)上給的不對(duì),我重新給出:****://***.4twk****/shill/3rd-edition.html#sourceCode
  •   書(shū)有點(diǎn)厚,不知道看不看得完
  •   挺不錯(cuò)的書(shū)!就是印刷上有些地方有些錯(cuò)誤,比如有些符號(hào)、圖示。
  •   此為經(jīng)典書(shū)籍,閱讀收藏!推薦!
  •   值得學(xué)習(xí)和深究
  •   看到“計(jì)算機(jī)圖形學(xué)”這幾個(gè)字以為是講原理的,但里面沒(méi)怎么講理論原理和數(shù)學(xué)算法,主要講的是OpenGL的使用。我看名字叫“學(xué)習(xí)OpenGL”更合適。
  •   計(jì)算機(jī)圖形學(xué)的經(jīng)典之作。適合本科、研究生使用。
  •   國(guó)內(nèi)國(guó)外的大致都瀏覽了下,國(guó)內(nèi)的書(shū)簡(jiǎn)直就是LJ,還動(dòng)輒就是什么計(jì)劃什么重點(diǎn),抄都抄不會(huì)。這本書(shū)已經(jīng)看了一段時(shí)間了,涉及了一些數(shù)學(xué)知識(shí),不過(guò)都是高中或大一大二的內(nèi)容,理解上沒(méi)有難度;內(nèi)容也很多,有些還比較深入,有些也可以直接用到實(shí)際應(yīng)用中;翻譯的水平也可以,沒(méi)有那種別扭的感覺(jué)。國(guó)內(nèi)的做圖形的應(yīng)該也很多,但是掙工資的,那些院校的專(zhuān)家教授些不知道干啥去了。
  •   看過(guò)這本圖形學(xué)教材,再次認(rèn)識(shí)到國(guó)內(nèi)外教材的大差別??赡軣o(wú)關(guān)乎學(xué)術(shù)水平,而是在于閱讀者的接受度上。
  •   內(nèi)容很好,適合自學(xué),閱讀無(wú)障礙,把書(shū)中的例程運(yùn)行一遍就能明白。把數(shù)學(xué)原理和代碼完美結(jié)合,使人過(guò)目不忘,從而舉一反三??上У氖牵g有些生硬,但是沒(méi)有錯(cuò)誤。
  •   粗略看了一次,講得不錯(cuò),對(duì)一些原理講得很透,但書(shū)中的刊誤有點(diǎn)害人
  •   但是這本書(shū)印刷質(zhì)量有問(wèn)題,老有錯(cuò)別字
  •   這是本不錯(cuò)的教材
  •   還沒(méi)看,感覺(jué)好厚,有壓力,發(fā)貨速度要贊一個(gè)!
  •   很學(xué)術(shù),很好
  •   非常不錯(cuò)的書(shū),正在學(xué)習(xí)中。。。
  •   沒(méi)有源代碼下載
  •   個(gè)人覺(jué)得這本書(shū)比較適合沒(méi)接觸過(guò)圖形學(xué),沒(méi)接觸過(guò)opengl又想學(xué)點(diǎn)相關(guān)知識(shí),然后主要盡力研究方向不在這上面的(因?yàn)槔碚摻o的比較少)的初學(xué)者學(xué)習(xí)(我還沒(méi)整體看完,不好說(shuō)什么,等看完了會(huì)把余下部分補(bǔ)齊的)因?yàn)樽罱苡锌磑pengl的感覺(jué),又希望同時(shí)學(xué)點(diǎn)理論的東西,就沖動(dòng)去買(mǎi)了一本寄回來(lái)后第一感覺(jué)就是書(shū)的紙張一般般,特別是封面,太軟了然后這2天看了100來(lái)頁(yè),感覺(jué)就是,這個(gè)書(shū)翻譯的太不負(fù)責(zé)任了?。≌娌恢朗窃趺床僮鞯目陀^來(lái)說(shuō),對(duì)書(shū)的內(nèi)容的翻譯其實(shí)尚可,只是里面的低級(jí)錯(cuò)誤讓人汗顏比如:很多個(gè)逗號(hào)和小數(shù)點(diǎn)標(biāo)錯(cuò),最離譜的是p66頁(yè)的c語(yǔ)言代碼中本該是glMatrixMode(..)居然變成glMatrix問(wèn)ode(...)居然在c語(yǔ)言代碼中出現(xiàn)中文都沒(méi)發(fā)現(xiàn),由此可見(jiàn)審稿是多么的不負(fù)責(zé)任?。?!
  •   從知識(shí)要點(diǎn)和講解過(guò)程上看,是本很不錯(cuò)的書(shū)。特別是適合搞學(xué)習(xí)研究的對(duì)象使用,因?yàn)闀?shū)的模式是先講知識(shí)鋪墊,再用OPENGL代碼表達(dá)出來(lái)。
    但是有兩點(diǎn)令我不滿(mǎn)意:1、錯(cuò)別字很多,這點(diǎn)讓我懷疑當(dāng)當(dāng)發(fā)給我的是不是盜版,有些關(guān)鍵地方錯(cuò)字了的確讓人無(wú)所適從;2、前后關(guān)聯(lián)太大了,我不是學(xué)生,沒(méi)有太多時(shí)間細(xì)啃這本書(shū),買(mǎi)它只是為了工作研究方向更改的需要,講究一個(gè)即時(shí)捕獲有用信息,但書(shū)中前后關(guān)聯(lián)太緊,也就是說(shuō),沒(méi)細(xì)看過(guò)前幾章的,后面會(huì)遇到很多陌生的概念或者函數(shù),而這些都是前邊章節(jié)里產(chǎn)生的。
  •   主要是講解opengl,但沒(méi)有源碼,哎
  •   今天收到此書(shū)紙張很軟
  •   沒(méi)有源代碼可下,真是敗筆!
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7