實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解

出版時(shí)間:2009年05月  出版社:電子工業(yè)出版社  作者:呂希奎,周小平編著  頁(yè)數(shù):696  
Tag標(biāo)簽:無(wú)  

前言

可視化技術(shù)作為圖形生成和圖像理解相結(jié)合的一種新技術(shù),賦予人們一種仿真的、三維的并且具有實(shí)時(shí)交互的能力,這樣人們可以在三維圖形世界中用以前不可想象的手段來(lái)獲取信息或發(fā)揮自己創(chuàng)造性的思維,尤其是在可視化技術(shù)基礎(chǔ)發(fā)展起來(lái)的虛擬現(xiàn)實(shí)技術(shù)、三維仿真技術(shù)及科學(xué)計(jì)算可視化技術(shù),它們的發(fā)展及其相互結(jié)合使人類(lèi)認(rèn)識(shí)和駕馭世界的技能更是得到了極大延伸。OpenGL(Open Graphics Library,開(kāi)放性圖形庫(kù))作為一個(gè)性能優(yōu)越的圖形應(yīng)用程序設(shè)計(jì)界面(API)而適合于廣泛的計(jì)算機(jī)環(huán)境,從個(gè)人計(jì)算機(jī)到工作站和超級(jí)計(jì)算機(jī),OpenGL都能實(shí)現(xiàn)高性能的三維圖形功能。由于許多在計(jì)算機(jī)界具有領(lǐng)導(dǎo)地位的計(jì)算機(jī)公司紛紛采用OpenGL作為三維圖形應(yīng)用程序設(shè)計(jì)界面,OpenGL應(yīng)用程序具有廣泛的可移植性,已成為目前的三維圖形開(kāi)發(fā)標(biāo)準(zhǔn),其自誕生至今已催生了各種計(jì)算機(jī)平臺(tái)及設(shè)備上的數(shù)千優(yōu)秀應(yīng)用程序。進(jìn)入21世紀(jì)以來(lái),新科技革命迅猛發(fā)展,遙感技術(shù)、數(shù)字?jǐn)z影測(cè)量技術(shù)、虛擬現(xiàn)實(shí)技術(shù)等高新技術(shù)取得了長(zhǎng)足的發(fā)展。航空航天遙感技術(shù)的進(jìn)步提供了快速獲取信息的手段。數(shù)字?jǐn)z影測(cè)量技術(shù)除了能提供數(shù)字線劃圖外,還能生產(chǎn)正射影像圖、數(shù)字高程模型等,這些數(shù)字?jǐn)z影測(cè)量產(chǎn)品所包含的信息量和信息類(lèi)型已遠(yuǎn)遠(yuǎn)超過(guò)了傳統(tǒng)的等高線地形圖。如果利用OpenGL優(yōu)秀的三維圖形功能,結(jié)合現(xiàn)代信息技術(shù),建立一個(gè)逼真顯示的三維可視化地理環(huán)境,使工程師可以從二維平面圖中得以解放直接進(jìn)入三維世界,實(shí)現(xiàn)直接在三維環(huán)境中進(jìn)行工程設(shè)計(jì),實(shí)時(shí)建立工程的三維模型,達(dá)到所見(jiàn)即所得的設(shè)計(jì)效果,從根本上改變重復(fù)無(wú)味的設(shè)計(jì)工作方式,使設(shè)計(jì)工作變得趣味盎然,對(duì)提高設(shè)計(jì)質(zhì)量和加快設(shè)計(jì)速度有著巨大的作用。

內(nèi)容概要

  《實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》以“鐵路三維可視化系統(tǒng)”實(shí)例作為全書(shū)的主線,以循序漸進(jìn)的講解方式,通過(guò)實(shí)際應(yīng)用系統(tǒng)來(lái)講解OpenGL在實(shí)際三維可視化系統(tǒng)開(kāi)發(fā)中所應(yīng)用到的編程方法、技術(shù)和技巧。系統(tǒng)包括大規(guī)模三維地形可視化系統(tǒng)、三維線路設(shè)計(jì)系統(tǒng)、三維場(chǎng)景漫游系統(tǒng)、第三方模型(3DS、DXF)管理和應(yīng)用系統(tǒng)、紋理管理和應(yīng)用系統(tǒng)、多媒體輸出系統(tǒng)(三維動(dòng)畫(huà)錄制、圖像序列錄制、打印輸出、導(dǎo)出到AutoCAD等外部模型)。內(nèi)容涵蓋了OpenGL程序框架、OpenGL幾何模型、坐標(biāo)變換、紋理映射、材質(zhì)、計(jì)算機(jī)動(dòng)畫(huà)技術(shù)、雙目立體真三維、OpenGL擴(kuò)展應(yīng)用、OpenGL圖像處理、三維圖形學(xué)基礎(chǔ)、攝像漫游、構(gòu)造天空和地形、模型載入、高級(jí)紋理映射、圖元處理、OpenGL緩沖區(qū)、顯示列表、空間信息查詢、基于OpenGL和遙感圖像的地形三維動(dòng)態(tài)顯示技術(shù)、Oracle 數(shù)據(jù)庫(kù)編程、Oracle OCI編程技術(shù)等多個(gè)方面?!  秾?shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》附帶光盤(pán)1張,內(nèi)容為本書(shū)實(shí)例的源文件、系統(tǒng)運(yùn)行所需要的影像紋理和數(shù)字高程模型文件;此外,還包括程序功能運(yùn)行動(dòng)畫(huà)和OCI程序示例?!  秾?shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》講解清晰,言簡(jiǎn)意賅,書(shū)中所有程序均取材于實(shí)際系統(tǒng),全部具有詳細(xì)注釋?zhuān)哂袠O高的可復(fù)用價(jià)值,可直接應(yīng)用于其他相關(guān)系統(tǒng)開(kāi)發(fā)中,幫助讀者快速進(jìn)入三維可視化設(shè)計(jì)開(kāi)發(fā)領(lǐng)域?!秾?shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》深入淺出、內(nèi)容廣泛,既可以作為從事可視化系統(tǒng)、虛擬現(xiàn)實(shí)、計(jì)算機(jī)圖形學(xué)研究及其他圖形應(yīng)用程序開(kāi)發(fā)的工作人員的必備用書(shū),也可作為大學(xué)相關(guān)專(zhuān)業(yè)師生的參考書(shū),還可作為OpenGL三維圖形編程的培訓(xùn)教程,或供其他相關(guān)專(zhuān)業(yè)人士和計(jì)算機(jī)愛(ài)好者閱讀。

作者簡(jiǎn)介

呂??┦?,畢業(yè)于西南交通大學(xué)道路與鐵道工程專(zhuān)業(yè)。主要從事道路勘測(cè)設(shè)計(jì)現(xiàn)代技術(shù)、城市軌道交通、選線設(shè)計(jì)理論、工程信息技術(shù)與虛擬環(huán)境仿真技術(shù)的研究,已發(fā)表及被錄用論文近20篇,導(dǎo)師是第二屆全國(guó)教學(xué)名師易思蓉教授。先后參與國(guó)家自然科學(xué)基金“基于GIS的虛擬環(huán)境選線系統(tǒng)智能環(huán)境建模方法及應(yīng)用”(0278082)、鐵道部“高速磁懸浮鐵路線路平縱面技術(shù)參數(shù)初步研究”、 國(guó)家863“高速磁懸浮鐵路線路設(shè)計(jì)參數(shù)研究”項(xiàng)目的研究。3年軟件公司的工作經(jīng)驗(yàn),高級(jí)程序員,具有多年的OpenGL、Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)經(jīng)驗(yàn)。目前正在主持“交通安全與控制”河北省重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題資助項(xiàng)目(城市軌道交通三維可視化規(guī)劃與設(shè)計(jì)系統(tǒng),211001)研究。

書(shū)籍目錄

第1篇  系統(tǒng)開(kāi)發(fā)基礎(chǔ)第1章  三維圖形世界 31.1  計(jì)算機(jī)三維圖形技術(shù)的發(fā)展 41.2  科學(xué)計(jì)算可視化技術(shù) 41.3  三維可視化工程設(shè)計(jì) 61.4  本書(shū)的適用對(duì)象 71.5  全書(shū)概覽 7第2章  OpenGL概述 92.1 OpenGL概念建立 102.1.1 OpenGL基本理解 102.1.2 OpenGL的特點(diǎn)及功能 102.1.3 OpenGL工作流程 122.1.4 OpenGL繪圖流程 132.2  OpenGL的版本和擴(kuò)展 142.2.1  OpenGL版本 142.2.2  OpenGL擴(kuò)展 162.3 OpenGL編程基礎(chǔ) 202.3.1  OpenGL數(shù)據(jù)類(lèi)型 202.3.2  OpenGL庫(kù)函數(shù) 212.3.3  OpenGL句法 222.3.4  OpenGL狀態(tài)變量 242.3.5  OpenGL變換 252.4  OpenGL程序框架建立 332.4.1  OpenGL像素格式 342.4.2  著色描述表 362.4.3  設(shè)置像素格式 372.4.4  創(chuàng)建著色描述表 382.4.5  創(chuàng)建Visual C++程序 412.5  本章小結(jié) 48第3章  Oracle與OCI技術(shù)及編程基礎(chǔ) 493.1  Oracle數(shù)據(jù)庫(kù)簡(jiǎn)介 503.2  Oracle數(shù)據(jù)庫(kù)的安裝 513.3  Oracle數(shù)據(jù)類(lèi)型 553.4  Oracle編程接口 573.4.1  ADO開(kāi)發(fā)接口 583.4.2  Pro* C/C++ 593.4.3  Oracle OCI 603.4.4  ADO、Pro*C/C++、Oracle OCI的對(duì)比分析 613.5  OCI編程 623.5.1  OCI編程基礎(chǔ) 623.5.2  OCI數(shù)據(jù)結(jié)構(gòu) 623.5.3  OCI程序的基本結(jié)構(gòu) 633.5.4  OCI執(zhí)行SQL的步驟 643.6  VC ++ 6.0下OCI編程實(shí)例 663.6.1  數(shù)據(jù)的準(zhǔn)備 663.6.2  建立工程 673.6.3  加入OCI的頭文件與庫(kù)文件 683.6.4  在VC中應(yīng)用OCI編程 693.7  本章小結(jié) 75第2篇  大規(guī)模地形三維可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)第4章  地形三維可視化系統(tǒng)框架與OCI類(lèi)模塊設(shè)計(jì) 794.1  系統(tǒng)程序框架建立 804.1.1  建立Visaul C ++工程 804.1.2  添加OpenGL框架代碼和文件 814.1.3  程序?qū)崿F(xiàn) 824.2  OCI公共類(lèi)的實(shí)現(xiàn) 924.2.1  新類(lèi)的添加 924.2.2  類(lèi)變量的添加 924.2.3  類(lèi)函數(shù)的實(shí)現(xiàn) 934.3  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 1214.4  本章小結(jié) 121第5章  地形三維可視化系統(tǒng)的地形渲染實(shí)現(xiàn) 1235.1  地形三維可視化概述 1245.2  地形三維可視化的主要算法 1245.2.1  主要算法概述 1245.2.2  四叉樹(shù)結(jié)構(gòu)的多分辨率地形模型 1255.3  地形三維可視化系統(tǒng)的實(shí)現(xiàn) 1265.3.1  海量地形與影像紋理數(shù)據(jù)的獲取方法 1265.3.2  海量地形自分塊程序?qū)崿F(xiàn) 1275.3.3  大影像的自分塊及程序?qū)崿F(xiàn) 1405.3.4  狀態(tài)欄指示器的實(shí)現(xiàn) 1495.3.5  地形與影像子塊的調(diào)度 1525.3.6  三維地形紋理映射 1625.3.7  地形節(jié)點(diǎn)評(píng)價(jià)系統(tǒng) 1725.3.8  系統(tǒng)優(yōu)化算法 1775.3.9  三維地形的渲染 1795.3.10  真三維立體的實(shí)現(xiàn) 2115.4  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 2175.5  本章小結(jié) 219第6章  地形三維可視化系統(tǒng)項(xiàng)目管理與輔助功能 2216.1  項(xiàng)目管理 2226.1.1  新建項(xiàng)目 2226.1.2  打開(kāi)項(xiàng)目 2316.2  背景天空的實(shí)現(xiàn) 2436.3  繪圖模式的控制 2456.4  空間查詢 2486.4.1  查詢算法實(shí)現(xiàn) 2486.4.2  查詢標(biāo)識(shí)設(shè)置 2546.4.3  查詢?nèi)S坐標(biāo) 2596.4.4  查詢空間距離 2636.5  照相機(jī)模塊的設(shè)計(jì)與實(shí)現(xiàn) 2676.5.1  鍵盤(pán)控制的實(shí)現(xiàn) 2676.5.2  鼠標(biāo)控制的實(shí)現(xiàn) 2716.6  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 2746.7  本章小結(jié) 276第3篇  線路三維可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)第7章  三維交互技術(shù)與三維線路數(shù)據(jù)結(jié)構(gòu) 2797.1  三維交互技術(shù) 2807.1.1  交互環(huán)境概述 2807.1.2  正射投影模式實(shí)現(xiàn) 2817.1.3  正射投影模式下場(chǎng)景控制 2887.1.4  透視投影模式實(shí)現(xiàn) 2947.2  三維地面坐標(biāo)的獲取 2957.2.1  正射投影模式下的獲取 2957.2.2  透視投影模式下的獲取 2997.3  三維線路數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 2997.3.1  邊坡數(shù)據(jù)結(jié)構(gòu) 3007.3.2  橋梁數(shù)據(jù)結(jié)構(gòu) 3017.3.3  隧道數(shù)據(jù)結(jié)構(gòu) 3027.3.4  水溝數(shù)據(jù)結(jié)構(gòu) 3037.3.5  線路數(shù)據(jù)結(jié)構(gòu) 3047.4  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 3077.5  本章小結(jié) 307第8章  三維線路設(shè)計(jì)實(shí)現(xiàn) 3098.1  線路方案主要參數(shù)設(shè)計(jì) 3108.2  設(shè)計(jì)交點(diǎn)信息輸入實(shí)現(xiàn) 3318.3  線路中心線定位 3388.4  設(shè)計(jì)方案保存與平面方案生成 3498.4.1  設(shè)計(jì)方案保存 3508.4.2  平面方案的自動(dòng)生成 3568.5  縱斷面設(shè)計(jì)模塊的實(shí)現(xiàn) 3578.6  邊坡模型的生成算法 3618.7  線路路基三維建模 3648.8  隧道三維建模與繪制 3808.8.1  隧道三維建模 3808.8.2  隧道參數(shù)設(shè)置實(shí)現(xiàn) 3888.8.3  隧道繪制實(shí)現(xiàn) 3918.9  橋梁三維建模與繪制 3978.9.1  橋梁三維建模 3978.9.2  橋梁參數(shù)設(shè)置實(shí)現(xiàn) 4058.9.3  橋梁繪制實(shí)現(xiàn) 4098.10  線路三維模型繪制 4168.11  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 4318.12  本章小結(jié) 432第9章  道路整體三維建模 4339.1  道路整體三維模型的實(shí)現(xiàn) 4349.1.1  線路封閉區(qū)域確定與分割算法 4349.1.2  地形塊綜合數(shù)據(jù)點(diǎn)計(jì)算 4519.1.3  分塊TIN模型的構(gòu)網(wǎng)實(shí)現(xiàn) 4629.1.4  封閉區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的剔除 4659.1.5  整體構(gòu)網(wǎng)的實(shí)現(xiàn) 4689.2  紋理管理 4719.2.1  邊坡紋理 4719.2.2  路肩紋理 4769.2.3  橋梁護(hù)坡面紋理 4799.2.4  隧道內(nèi)墻紋理 4839.2.5  隧道洞門(mén)紋理 4869.3  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 4909.4  本章小結(jié) 490第10章  三維漫游的實(shí)現(xiàn) 49110.1  飛行路徑建立 49210.1.1  飛行路徑簡(jiǎn)介 49210.1.2  飛行路徑設(shè)置方法 49210.1.3  飛行路徑插值算法 49810.1.4  飛行路徑的保存 50110.1.5  打開(kāi)飛行路徑 50310.1.6  顯示/關(guān)閉飛行路徑 50610.2  沿飛行路徑漫游實(shí)現(xiàn) 50710.2.1  沿固定高度漫游實(shí)現(xiàn) 50810.2.2  沿相對(duì)高度漫游實(shí)現(xiàn) 51210.3  沿線路方案線三維漫游實(shí)現(xiàn) 51510.3.1  飛行路徑的獲取 51510.3.2  漫游的實(shí)現(xiàn) 51610.4  三維漫游的控制 51810.4.1  開(kāi)始/暫停漫游 51810.4.2  停止漫游 52010.4.3  單步前進(jìn) 52110.5  三維漫游的調(diào)整 52210.5.1  飛行視野調(diào)整 52210.5.2  飛行高度調(diào)整 52310.5.3  飛行傾角調(diào)整 52410.5.4  飛行速度調(diào)整 52510.5.5  三維漫游調(diào)整的熱鍵實(shí)現(xiàn) 52610.6  三維漫游的相關(guān)計(jì)算 52910.6.1  三維漫游幀頻的計(jì)算 52910.6.2  三維漫游速度的計(jì)算 53010.6.3  三維漫游里程的計(jì)算 53110.7  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 53410.8  本章小結(jié) 534第4篇  線路三維可視化系統(tǒng)輔助功能實(shí)現(xiàn)第11章  顯示模式控制及實(shí)現(xiàn) 53711.1  顯示模式控制及實(shí)現(xiàn) 53811.1.1  雙目立體方式 53811.1.2  正射投影方式 53911.1.3  透視投影方式 54011.2  時(shí)鐘指北針的實(shí)現(xiàn) 54111.3  縮略圖的實(shí)現(xiàn) 55311.4  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 55611.5  本章小結(jié) 557第12章  3D模型載入與應(yīng)用 55912.1  常用3D模型概述 56012.1.1  3DS模型 56012.1.2  OBJ模型 56112.1.3  ASE模型 56112.1.4  MD2/MD3模型 56212.1.5  MS3D模型 56212.2  3DS模型的載入 56412.2.1  3DS文件基本構(gòu)成 56412.2.2  第三方軟件轉(zhuǎn)換法 56412.2.3  程序直接載入 58012.2.4  程序直接載入的實(shí)現(xiàn) 58012.3  3DS模型在系統(tǒng)中應(yīng)用實(shí)例 59712.4  本章涉及到的OpenGL函數(shù)與知識(shí)點(diǎn) 60112.5  本章小結(jié) 602第13章  系統(tǒng)輸出接口與動(dòng)畫(huà)錄制實(shí)現(xiàn) 60313.1  輸出線路三維模型到AutoCAD 60413.1.1  輸出格式DXF簡(jiǎn)介 60413.1.2  DXF輸出模塊的設(shè)計(jì) 60513.1.3  輸出的實(shí)現(xiàn) 61313.2  AVI動(dòng)畫(huà)錄制 62313.2.1  動(dòng)畫(huà)錄制類(lèi)實(shí)現(xiàn) 62313.2.2  動(dòng)畫(huà)錄制參數(shù)設(shè)置 62613.2.3  開(kāi)始錄制動(dòng)畫(huà) 63113.2.4  暫停錄制動(dòng)畫(huà) 63613.2.5  結(jié)束錄制動(dòng)畫(huà) 63613.3  屏幕圖形的打印 63813.3.1  圖形打印類(lèi)的實(shí)現(xiàn) 63913.3.2  打印預(yù)覽的實(shí)現(xiàn) 64513.3.3  打印設(shè)置的實(shí)現(xiàn) 64713.3.4  打印的實(shí)現(xiàn) 64813.4  錄制圖像 64913.4.1  圖像采集頻率 64913.4.2  圖像錄像 65213.4.3  停止錄像圖像 65613.5  保存屏幕到位圖 65713.6  本章小結(jié) 662第14章  系統(tǒng)簡(jiǎn)介與運(yùn)行實(shí)例 66314.1  系統(tǒng)介紹 66414.1.1  系統(tǒng)主要特點(diǎn) 66414.1.2  系統(tǒng)運(yùn)行環(huán)境 66414.2  系統(tǒng)功能模塊簡(jiǎn)介 66514.3  系統(tǒng)運(yùn)行實(shí)例 67314.4  本章小結(jié) 677附錄 679附錄A  相關(guān)數(shù)學(xué)程序模塊 680附錄B  OpenGL核心函數(shù)庫(kù)和應(yīng)用函數(shù)庫(kù) 686附錄C  OpenGL常用編程技巧 691附錄D  OpenGL資源網(wǎng)站 693參考文獻(xiàn) 695

章節(jié)摘錄

第1篇  系統(tǒng)開(kāi)發(fā)基礎(chǔ)包括第1章三維圖形世界、第2章OpenGL概述和第3章Oracle與 OCI技術(shù)及編程基礎(chǔ)。第1章  介紹了計(jì)算機(jī)三維圖形技術(shù)的發(fā)展、科學(xué)計(jì)算可視化技術(shù)、三維可視化工程設(shè)計(jì)的基本概念和發(fā)展現(xiàn)狀。第2章  主要對(duì)OpenGL的基本概念、OpenGL編程基礎(chǔ)和在Visual C++環(huán)境下OpenGL基本程序框架的建立進(jìn)行了講解,并給出了一個(gè)簡(jiǎn)單的旋轉(zhuǎn)立方體程序示例。通過(guò)這一章,使讀者對(duì)OpenGL有初步的概念和了解,對(duì)于紋理、顯示列表等更深入的編程,我們將通過(guò)后續(xù)章節(jié)進(jìn)行更詳細(xì)的講解和學(xué)習(xí)。第3章  主要對(duì)Oracle數(shù)據(jù)庫(kù)及其特點(diǎn)進(jìn)行簡(jiǎn)要的介紹和說(shuō)明。以O(shè)racle 9i為例,介紹了Oracle數(shù)據(jù)庫(kù)的安裝步驟和Oracle支持的數(shù)據(jù)類(lèi)型。在此基礎(chǔ)上,介紹了ADO、Pro*C/C++和OCI三個(gè)主要Oracle編程接口,對(duì)它們的各自功能和特點(diǎn)進(jìn)行了詳細(xì)說(shuō)明,從功能方面、性能方面、開(kāi)發(fā)難度方面進(jìn)行了詳細(xì)分析和比較。重點(diǎn)介紹OCI編程基礎(chǔ)、OCI的數(shù)據(jù)結(jié)構(gòu)、OCI程序的基本結(jié)構(gòu)、OCI執(zhí)行的步驟,最后給出了在Visual C++6.0環(huán)境下開(kāi)發(fā)OCI應(yīng)用程序的示例。  第2篇  大規(guī)模地形三維可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)包括第4章地形三維可視化系統(tǒng)框架與OCI類(lèi)模塊設(shè)計(jì)、第5章地形三維可視化系統(tǒng)的地形渲染實(shí)現(xiàn)和第6章地形三維可視化系統(tǒng)項(xiàng)目管理與輔助功能設(shè)計(jì)。第4章  在第2章的基礎(chǔ)上,完成了基于OpenGL的地形三維可視化系統(tǒng)程序框架的建立,為后續(xù)的功能模塊開(kāi)發(fā)提供了基礎(chǔ)平臺(tái);在第3章的基礎(chǔ)上,設(shè)計(jì)了OCI公共類(lèi),將所有與OCI有關(guān)的數(shù)據(jù)庫(kù)操作、數(shù)據(jù)讀取等功能函數(shù)實(shí)現(xiàn)全部封裝在該類(lèi)中,并定義了公共類(lèi)的全局變量myOci。第5章  本章對(duì)地形三維可視化進(jìn)行了基本概述,介紹了目前地形三維可視化的主要算法。主要介紹了海量地形與影像紋理數(shù)據(jù)的常用獲取方法,給出了海量地形自分塊與影像紋理分塊原則和程序?qū)崿F(xiàn),以及地形與影像子塊調(diào)度的程序?qū)崿F(xiàn),在此基礎(chǔ)上實(shí)現(xiàn)了地形的三維可視化;還介紹了真三維立體的實(shí)現(xiàn)算法和數(shù)學(xué)模型,在此基礎(chǔ)上給出了基于OpenGL的真三維立體的程序?qū)崿F(xiàn)。第6章  主要講解了新建項(xiàng)目、打開(kāi)項(xiàng)目、背景天空的繪制、繪圖模式控制的實(shí)現(xiàn)方法和程序設(shè)計(jì)。介紹了基于OpenGL深度緩存的二維屏幕坐標(biāo)向三維空間坐標(biāo)的轉(zhuǎn)換算法,實(shí)現(xiàn)了對(duì)三維空間坐標(biāo)和空間距離查詢,以及查詢標(biāo)識(shí)設(shè)置的程序設(shè)計(jì);最后講解了基于鍵盤(pán)和鼠標(biāo)聯(lián)合控制的三維場(chǎng)景照相機(jī)程序模塊的實(shí)現(xiàn),實(shí)現(xiàn)三維場(chǎng)景的前、后、左、右移動(dòng)和任意方向的旋轉(zhuǎn)。  第3篇  線路三維可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)包括第7章三維交互技術(shù)與三維線路數(shù)據(jù)結(jié)構(gòu)、第8章三維線路設(shè)計(jì)實(shí)現(xiàn)、第9章道路整體三維建模和第10章三維漫游的實(shí)現(xiàn)。第7章  主要對(duì)三維交互環(huán)境進(jìn)行了介紹,詳細(xì)講解了正射投影模式的實(shí)現(xiàn)、正射投影模式下場(chǎng)景控制方法和程序設(shè)計(jì),以及透視投影模式的實(shí)現(xiàn)方法;還講解了正射投影模式和透視投影模式下三維地面坐標(biāo)的獲取原理、方法,在此基礎(chǔ)上,設(shè)計(jì)了邊坡數(shù)據(jù)結(jié)構(gòu)、橋梁數(shù)據(jù)結(jié)構(gòu)、隧道數(shù)據(jù)結(jié)構(gòu)、水溝數(shù)據(jù)結(jié)構(gòu)及線路數(shù)據(jù)結(jié)構(gòu),為實(shí)現(xiàn)三維線路設(shè)計(jì)做好了前期準(zhǔn)備。第8章  主要對(duì)線路方案的主要參數(shù)設(shè)計(jì)方法和程序?qū)崿F(xiàn)、設(shè)計(jì)交點(diǎn)信息輸入實(shí)現(xiàn)、線路中心線定位方法、設(shè)計(jì)方案的保存、平面方案的自動(dòng)生成和程序設(shè)計(jì)、縱斷面設(shè)計(jì)模塊的實(shí)現(xiàn)、邊坡模型的生成算法、線路路基三維建模方法和實(shí)現(xiàn)、隧道三維建模和參數(shù)控制、橋梁三維建模和參數(shù)控制的程序設(shè)計(jì)進(jìn)行了詳細(xì)講解。第9章  主要講解了道路整體三維模型實(shí)現(xiàn),對(duì)其中的線路封閉區(qū)域確定與分割算法、地形塊綜合數(shù)據(jù)點(diǎn)計(jì)算、分塊TIN模型的構(gòu)網(wǎng)實(shí)現(xiàn)、封閉區(qū)域內(nèi)數(shù)據(jù)點(diǎn)的剔除、整體構(gòu)網(wǎng)的程序?qū)崿F(xiàn)都進(jìn)行了詳細(xì)說(shuō)明;在紋理管理部分,詳細(xì)講解了邊坡紋理、路肩紋理、橋梁護(hù)坡面紋理、隧道內(nèi)墻紋理、隧道洞門(mén)紋理的程序設(shè)計(jì)和實(shí)現(xiàn)。第10章  從多個(gè)方面對(duì)三維漫游的基本概念、程序?qū)崿F(xiàn)、參數(shù)調(diào)整和控制進(jìn)行了講解,幫助讀者學(xué)會(huì)在三維可視化系統(tǒng)中三維漫游模塊的程序設(shè)計(jì)方法;對(duì)飛行路徑的基本概念、設(shè)置方法、插值算法、保存和打開(kāi)的程序設(shè)計(jì),沿飛行路徑實(shí)現(xiàn)三維漫游的程序設(shè)計(jì),沿線路方案漫游的固定高度和相對(duì)高度兩種模式的程序設(shè)計(jì),三維漫游控制和調(diào)整的程序設(shè)計(jì),以及三維漫游的相關(guān)計(jì)算都進(jìn)行了詳細(xì)的講解,每一部分都給出了完整的程序代碼。  第4篇  線路三維可視化系統(tǒng)輔助功能實(shí)現(xiàn)包括第11章顯示模式控制及實(shí)現(xiàn)、第12章3D模型載入與應(yīng)用、第13章系統(tǒng)輸出接口與動(dòng)畫(huà)錄制實(shí)現(xiàn)和第14章系統(tǒng)簡(jiǎn)介與運(yùn)行實(shí)例。第11章  本章主要對(duì)雙目立體方式、正射投影方式和透視投影方式的顯示模型模式控制和實(shí)現(xiàn)、時(shí)鐘指北針的程序設(shè)計(jì)和實(shí)現(xiàn)、縮略圖的實(shí)現(xiàn)方法和程序設(shè)計(jì)進(jìn)行了詳細(xì)的講解和說(shuō)明。第12章  本章主要對(duì)目前常用的3DS、AES、OBJ、MD2、MD3、MS3D等3D模型進(jìn)行了介紹和說(shuō)明,并給出了每種3D模型的示例,在此基礎(chǔ)上,詳細(xì)介紹了在OpenGL中應(yīng)用3DS模型的兩種主要方法:通過(guò)第三方軟件對(duì)3DS模型進(jìn)行轉(zhuǎn)換和直接通過(guò)程序讀取3DS模型;以橋墩3DS模型為例,給出了3DS模型在線路三維場(chǎng)景中的應(yīng)用方法和程序設(shè)計(jì)實(shí)現(xiàn)。第13章  介紹了DXF文件格式,詳細(xì)講解了DXF輸出模塊的程序設(shè)計(jì),實(shí)現(xiàn)了線路三維模型輸出到DXF文件,可以在AutoCAD中打開(kāi)線路三維模型進(jìn)行觀察;設(shè)計(jì)了動(dòng)畫(huà)錄制類(lèi),實(shí)現(xiàn)將OpenGL動(dòng)畫(huà)錄制到AVI文件中;設(shè)計(jì)了屏幕圖形打印類(lèi),實(shí)現(xiàn)了對(duì)OpenGL屏幕圖形的打印,在此基礎(chǔ)上,設(shè)計(jì)錄制屏幕圖像模塊,實(shí)現(xiàn)了將OpenGL動(dòng)畫(huà)錄制為一系列圖像并保存到硬盤(pán)中。第14章  主要對(duì)所建立的三維可視化設(shè)計(jì)系統(tǒng)的主要特點(diǎn)和功能進(jìn)行了介紹,對(duì)線路可視化設(shè)計(jì)系統(tǒng)加以總結(jié),并對(duì)相應(yīng)的功能模塊進(jìn)行集中說(shuō)明,使讀者能夠?qū)φ麄€(gè)三維可視化設(shè)計(jì)有更加清晰的思路和概念,最后給出系統(tǒng)運(yùn)行實(shí)例。  附錄包括附錄A:相關(guān)數(shù)學(xué)程序模塊;附錄B:OpenGL核心函數(shù)庫(kù)和應(yīng)用函數(shù)庫(kù);附錄C:OpenGL常用編程技巧;附錄D:OpenGL資源網(wǎng)站。

媒體關(guān)注與評(píng)論

人在三維空間中具有很強(qiáng)的形象思維能力,計(jì)算機(jī)具有極強(qiáng)的數(shù)據(jù)處理能力,但理解和推理能力差。如果將計(jì)算機(jī)的快速計(jì)算功能與三維圖形功能融為一體,實(shí)現(xiàn)基于三維可視化環(huán)境的設(shè)計(jì),這必將從根本上改變重復(fù)無(wú)味的設(shè)計(jì)工作方式。OpenGL是目前用于開(kāi)發(fā)可移植的、可交互3D圖形應(yīng)用程序的首選環(huán)境,也是目前應(yīng)用最廣泛的計(jì)算機(jī)圖形標(biāo)準(zhǔn)。本書(shū)以實(shí)際的三維可視化系統(tǒng)為主線,系統(tǒng)地論述了三維可視化設(shè)計(jì)的理論、技術(shù)和算法,實(shí)現(xiàn)了基于OpenGL+Visual C++ +Oracle 9i數(shù)據(jù)庫(kù)開(kāi)發(fā)的三維可視化設(shè)計(jì)系統(tǒng),為實(shí)現(xiàn)工程的三維可視化設(shè)計(jì)提供了三維設(shè)計(jì)平臺(tái)。? 本書(shū)以“鐵路三維可視化系統(tǒng)”實(shí)例作為全書(shū)的主線,從系統(tǒng)框架設(shè)計(jì)到最終實(shí)現(xiàn),逐步講解各個(gè)方面所涉及的算法和思路,并給出詳細(xì)程序代碼和注釋。書(shū)中的數(shù)據(jù)庫(kù)部分又可以為希望學(xué)習(xí)MFC下的Oracle數(shù)據(jù)庫(kù)編程和OCI程序設(shè)計(jì)的讀者提供參考。? 通過(guò)系統(tǒng)實(shí)例讓初級(jí)讀者學(xué)會(huì)OpenGL的各個(gè)功能和應(yīng)用;讓中、高級(jí)讀者學(xué)習(xí)如何利用OpenGL開(kāi)發(fā)三維可視化系統(tǒng),掌握OpenGL的高級(jí)開(kāi)發(fā)技巧、編程算法,以及三維可視化設(shè)計(jì)的理論、技術(shù)和算法。? 書(shū)中所有程序均取材于實(shí)際系統(tǒng),完全能在實(shí)際項(xiàng)目中“即插即用”,對(duì)于從事三維地形可視化、鐵路、公路、管道、輸電線路等三維可視化設(shè)計(jì)的讀者具有很好的參考和利用價(jià)值。

編輯推薦

宣傳口號(hào):體驗(yàn)OpenGL三維世界無(wú)窮樂(lè)趣成就非凡三維可視化軟件開(kāi)發(fā)高手賣(mài)點(diǎn)特色:1.《實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》全面系統(tǒng)講解OpenGL在三維可視化系統(tǒng)開(kāi)發(fā)中所應(yīng)用到的編程方法、技術(shù)和技巧,循序漸進(jìn),圖文并茂.。2.強(qiáng)調(diào)編程的快捷省力,多個(gè)成熟類(lèi)代碼的詳細(xì)應(yīng)用。關(guān)注初學(xué)者的編程感受,步驟詳盡;重視高層技術(shù)人員的探討精神,多種解決途徑。3.以功能說(shuō)明、設(shè)計(jì)思想、程序?qū)崿F(xiàn)和運(yùn)行效果為流程,詳細(xì)講解系統(tǒng)開(kāi)發(fā)的詳細(xì)步驟和具體實(shí)現(xiàn)。4.所有程序?qū)崿F(xiàn)及代碼都給出詳細(xì)說(shuō)明、實(shí)現(xiàn)步驟和代碼詳細(xì)注釋?zhuān)?duì)涉及的主要函數(shù)及讀者注意地方進(jìn)行歸納,便于讀者在學(xué)習(xí)過(guò)程中舉一反三。5.提供完整大型案例,側(cè)重實(shí)際應(yīng)用,語(yǔ)言簡(jiǎn)潔精煉,講解清晰透徹,幫助讀者提高開(kāi)發(fā)水平?!秾?shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》及其配套光盤(pán)使用完整的源代碼列舉了具有相當(dāng)實(shí)用價(jià)值的“鐵路三維可視化系統(tǒng)”開(kāi)發(fā)案例,比較深入的解決了一些缺少實(shí)際工作經(jīng)驗(yàn)的程序員的開(kāi)發(fā)煩惱:1.知道了開(kāi)發(fā)工具能夠做什么,學(xué)會(huì)了怎樣使用開(kāi)發(fā)工具來(lái)做系統(tǒng),卻不知道需要實(shí)現(xiàn)的具體的功能是什么2.如何開(kāi)發(fā)一個(gè)具有商業(yè)價(jià)值的三維可視化系統(tǒng)3.如何理順系統(tǒng)各個(gè)功能模塊間固有的內(nèi)在邏輯4.如何解決系統(tǒng)開(kāi)發(fā)中揮之不去的深層次矛盾5.如何協(xié)調(diào)和平衡系統(tǒng)中存在錯(cuò)綜復(fù)雜的關(guān)系《實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解》特別適合缺少實(shí)際工作經(jīng)驗(yàn)的普通高校學(xué)生作為三維可視化系統(tǒng)開(kāi)發(fā)的范例,對(duì)于專(zhuān)業(yè)軟件公司的程序員開(kāi)發(fā)相關(guān)的三維可視化系統(tǒng)也極具參考價(jià)值??陀^精確的分析大型三維可視化系統(tǒng)的功能需求,循序漸進(jìn)的介紹大型三維可視化系統(tǒng)的開(kāi)發(fā)過(guò)程,完整詳細(xì)的闡述大型三維可視化系統(tǒng)的實(shí)現(xiàn)方法,清晰明了的創(chuàng)建大型三維可視化系統(tǒng)的整體框架。? 概念理解:對(duì)所要講解的內(nèi)容的基本概念進(jìn)行簡(jiǎn)要說(shuō)明。? 界面設(shè)計(jì):對(duì)所進(jìn)行的界面設(shè)計(jì)進(jìn)行說(shuō)明,包括界面控件組成、布局、ID、變量、菜單等信息。       ? 程序設(shè)計(jì):在界面設(shè)計(jì)完成后,開(kāi)始進(jìn)行程序設(shè)計(jì)。     ? 添加變量:需要添加的變量,包括私有變量、公共變量等。? 函數(shù)實(shí)現(xiàn):添加完變量后,開(kāi)始實(shí)現(xiàn)所需函數(shù)的標(biāo)志,在其下方,將是具體的每一個(gè)函數(shù)代碼。? 函數(shù)說(shuō)明:對(duì)每個(gè)函數(shù)功能所進(jìn)行的說(shuō)明,包括函數(shù)組成部分和每個(gè)部分的說(shuō)明。? 程序函數(shù)講解:對(duì)在函數(shù)中出現(xiàn)的OpenGL、OCI等函數(shù)進(jìn)行詳細(xì)講解。? 說(shuō)明:對(duì)所講解的內(nèi)容、函數(shù)等需要進(jìn)行特別說(shuō)明的內(nèi)容。? 注意:在程序設(shè)計(jì)過(guò)程中必須要注意的地方,多數(shù)情況下涉及到OpenGL的編程技巧。

圖書(shū)封面

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

無(wú)

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


    實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開(kāi)發(fā)與源碼精解 PDF格式下載


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

 
 

  •   總體不錯(cuò)!有些遺憾,因?yàn)槲沂褂玫氖莔ssql數(shù)據(jù)庫(kù),作者使用的是oracle。O(∩_∩)O
  •   這本書(shū)寫(xiě)的很詳細(xì),但是不要指望用這本書(shū)學(xué)習(xí)VC++和openGL,這是一本應(yīng)用的書(shū),看這本書(shū)之前你應(yīng)該掌握了VC++和openGL。
  •   書(shū)還可以,是整個(gè)工程下來(lái)的。
  •   好書(shū),按實(shí)例講解。
  •   沒(méi)什么意思的書(shū)。年代久遠(yuǎn)的技術(shù)。
 

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

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