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

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

前言

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

內(nèi)容概要

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

書籍目錄

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

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

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


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


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

 
 

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

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

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