freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三維虛擬場景中三維虛擬儀表程序設(shè)計(jì)畢業(yè)論文-文庫吧

2025-06-13 10:49 本頁面


【正文】 eneGraph和VS,OpenSceneGraph和QT,LabVIEW圖形化開發(fā)工具,GLstudio, IPS編程技術(shù)等。 本文選擇的語言和工具本文采用的是OpenSceneGraph語言和VS2008開發(fā)工具來實(shí)現(xiàn)本次畢業(yè)設(shè)計(jì)的任務(wù)和要求。 基于OpenSceneGraph程序開發(fā)背景和環(huán)境介紹 基于OpenSceneGraph程序開發(fā)背景由于該課要設(shè)計(jì)是要設(shè)計(jì)三維場景中的三維虛擬儀表,并構(gòu)建儀表的三維模型,根據(jù)儀表驅(qū)動(dòng)數(shù)據(jù),實(shí)現(xiàn)在三維場景中的儀表動(dòng)態(tài)展示。所以我們需要在程序中實(shí)現(xiàn)一個(gè)虛擬三維虛擬場景,而OpenSceneGraph可以很方便的為我們創(chuàng)建一個(gè)三維場景模型,還有其封裝好的類和庫為我們的研究提供了便利的條件,并且它里面osg::Drawable類為我們提供的繪制圖元的方法都很容易操作和掌握,為我們提供了很多便利條件。此外,OpenSceneGraph是一個(gè)開源的并且高性能的三維圖形渲染引擎,基于修改過的LGPL協(xié)議(OSGPL)免費(fèi)發(fā)布,廣泛用于游戲、視覺的仿真、虛擬現(xiàn)實(shí)、科學(xué)可視化和建模等領(lǐng)域的應(yīng)用。用具有工業(yè)標(biāo)準(zhǔn)的OpenGL為底層平臺,使用具有可移植性的ANSI C++編寫而成。在封裝的基礎(chǔ)上,建立了一個(gè)面向?qū)ο蟮目蚣埽咕幊陶邆兛梢詳[脫底層的繁瑣而又復(fù)雜的建模,更有利于應(yīng)用程序的開發(fā)和管理。具備跨平臺的特性,可以運(yùn)行于Windows、UNIX/Linux、Mac OSX、FreeBSD、Solaris和AIX等各類操作系統(tǒng)上。另外OpenSceneGraph還提供了很過有用的工具包以便于更加效率的程序開發(fā)。OpenSceneGraph正是基于世界上最流行的場景圖形技術(shù),目前越來越多的開發(fā)者基于OpenSceneGraph進(jìn)行圖形程序的開發(fā)。OpenSceneGraph憑借其強(qiáng)大的功能,開發(fā)成果移植性強(qiáng)且具有完善的開發(fā)模式受到了業(yè)界人士的普遍好評。采用OpenSceneGraph圖形引擎克服了傳統(tǒng)的OpenGL以及Direct3D難度大、開發(fā)周期長的缺點(diǎn),解決了使用Vega、OpenGVS等商業(yè)引擎成本高,不利于產(chǎn)品推廣的問題,從實(shí)用的角度來說OpenSceneGraph更有優(yōu)勢。目前已經(jīng)有很多基于OpenSceneGraph的應(yīng)用去的了成功,如3DVRI、Delta3D、osgPlanet、Remo3D、交通工具仿真系統(tǒng)、虛擬地形系統(tǒng)等等,效果不遜于商業(yè)視景渲染軟件。如果想要自主開發(fā)視景渲染軟件的話,OpenSceneGraph是個(gè)不錯(cuò)的基礎(chǔ)框架選擇。OpenSceneGraph的源代碼是公開的,它的用戶許可方式為被修改過的GNU寬通用公共許可證(GNU Leaser General Public License, LGPL)。OpenSceneGraph與其它三維渲染引擎相比具備的優(yōu)勢可以歸為如下幾點(diǎn):(1)快速開發(fā)。OpenSceneGraph場景圖形內(nèi)核中幾乎封裝了OpenGL全部的底層接口。且具有隨時(shí)支持更新的擴(kuò)展特性。開發(fā)者可以將自己的中心放在與各種場景對象的交互方法上和三維程序開發(fā)的實(shí)質(zhì)性內(nèi)容上,而不必過多的關(guān)注底層的代碼。(2)高品質(zhì)、高性能。OpenSceneGraph經(jīng)歷了很多開發(fā)成員的反復(fù)檢查、檢測和完善,其核心代碼支持多種場景的裁減技術(shù)(Culling)、渲染狀態(tài)排序(State Sort)、細(xì)節(jié)層次節(jié)點(diǎn)(LOD)、顯示列表、頂點(diǎn)數(shù)組、VBO(Vertex Buffer Object)、FBO(Frame Buffer Object)、PBO(Pixel Buffer Object)、OpenGL著色語言等;以及粒子系統(tǒng),文字顯示,陰影系統(tǒng),雨、火焰、煙霧、雪等特效模擬,多線程渲染、場景的動(dòng)態(tài)調(diào)節(jié)等各種機(jī)制。(3)可擴(kuò)展性?;趫鼍皥D形的擴(kuò)展思想,OpenSceneGraph具有強(qiáng)大的可擴(kuò)展能性,包括各種類型的擴(kuò)展節(jié)點(diǎn)(NodeKits,節(jié)點(diǎn)工具箱)、擴(kuò)展回調(diào)、擴(kuò)展渲染屬性、擴(kuò)展交互事件處理器等,為用戶的程序開發(fā)提供了靈活的支持能力。(4)可移植性。OpenSceneGraph提供了Windows、IRix、Solaris、HPUX、UNIX、Linux、 Macosx、AIX和FreeBSD系統(tǒng)的移植能力,基于OpenSceneGraph開發(fā)的程序只要經(jīng)過一次編寫就可以編譯運(yùn)行在這些平臺上,不需要關(guān)心更多的代碼移植的細(xì)節(jié)。(5)開源。OpenSceneGraph為開源引擎,發(fā)布和使用基于OpenSceneGraph開發(fā)的軟件是不需要支付許可費(fèi)用的;基于OpenSceneGraph開發(fā)的程序也不需要再次開放自身的源代碼,不存在侵犯軟件專利的可能。此外,開放源代碼使得開發(fā)者可以調(diào)試和檢查OpenSceneGraph的源代碼,了解其內(nèi)部結(jié)構(gòu),從而更好的應(yīng)用到自己的程序中。據(jù)世界權(quán)威的現(xiàn)代仿真網(wǎng)站的調(diào)查統(tǒng)計(jì),OSG在世界仿真軟件市場的占有率已超過51%,如圖21所示。圖21 世界仿真軟件市場占有率綜上所述,OpenSceneGraph具有很大的發(fā)展前景,并且為我們本次畢業(yè)設(shè)計(jì)提供了許多很便利條件,所以我選擇用OpenSceneGraph來做本次畢業(yè)設(shè)計(jì)。 開發(fā)工具VS2008本次課程設(shè)計(jì)采用的是OpenSceneGraph,類似于C++,而Microsoft Visual Studio 2008使用的正是C++語言,所以我們選擇用Microsoft Visual Studio 2008即VS2008作為我們的開發(fā)工具。這里對Microsoft Visual Studio 2008做一個(gè)簡單的介紹。Microsoft Visual Studio 2008是對Visual Studio 2005一次及時(shí)、全面的升級。Microsoft Visual Studio 2008引入了250多個(gè)新特性,整合了對象、關(guān)系型數(shù)據(jù)、XML的訪問方式,語言更加簡潔。使用Visual Studio 2008可以高效的開發(fā)Windows應(yīng)用。設(shè)計(jì)器中可以實(shí)時(shí)反映變更,XAML中的智能感知功能可以提高開發(fā)效率。同時(shí)Visual Studio 2008支持項(xiàng)目模板、部署程序和調(diào)試器。Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了AJAX ,包含AJAX項(xiàng)目模板,它還可以高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。Microsoft Visual Studio 2008的系統(tǒng)組件包括:編輯器、編譯器、連接器、庫。編輯器:編輯器給使用者提供了一個(gè)創(chuàng)建和編輯C++源代碼的交互平臺。提供了大家熟知的常見功能例如:復(fù)制(Ctrl+C)、粘貼(Ctrl+V)、剪切(Ctrl+X)等,此外編輯器還提供了用不同顏色來區(qū)分不同的語言元素,自動(dòng)標(biāo)示關(guān)鍵字等功能。不但使代碼的可讀性更好了,而且在輸入這些單詞時(shí)如果出現(xiàn)錯(cuò)誤還可以提供清楚地指示。編譯器:編譯器的功能是將源代碼轉(zhuǎn)換為目標(biāo)代碼,并且檢測和報(bào)告編譯過程中出現(xiàn)的錯(cuò)誤。編譯器可以檢測各種無效或不可識別的代碼并報(bào)告錯(cuò)誤,還可以檢測諸如部分程序永遠(yuǎn)不會(huì)被執(zhí)行到這樣的結(jié)構(gòu)性錯(cuò)誤。編譯器出的目標(biāo)代碼將被存儲(chǔ)在目標(biāo)文件夾中。編譯器產(chǎn)生的目標(biāo)代碼有兩種類型。連接器:連接器和編譯器一起根據(jù)源代碼產(chǎn)生各種模塊,從作為C++組成部分提供的程序庫中添加所需要的代碼模塊,并把各個(gè)模塊整合成一個(gè)可執(zhí)行的整體,還能檢測并報(bào)告程序缺少的組成部分,或引用不存在的庫組件等錯(cuò)誤。庫:庫就是微軟提供的預(yù)先編譯好的例程集合,它通過提供了專業(yè)的標(biāo)準(zhǔn)代碼單元,支持并擴(kuò)展了C++語言。使用者可以在自己的程序中直接引用這些代碼,以執(zhí)行常見的相關(guān)操作。這樣就節(jié)省了使用者親自編寫并測試實(shí)現(xiàn)這些代碼所需要的工作量,從而大大的提高了開發(fā)的效率。 C++語言簡介C++語言是一種面向?qū)ο蟮某绦蜷_發(fā)語言,它是基于C語言發(fā)展起來的。憑借其獨(dú)特的語言機(jī)制在計(jì)算機(jī)科學(xué)的各種領(lǐng)域中得到了廣泛的應(yīng)用。面向?qū)ο蟮脑O(shè)計(jì)思想是在原來結(jié)構(gòu)化的程序設(shè)計(jì)方法基礎(chǔ)上實(shí)現(xiàn)的一個(gè)質(zhì)的飛躍,完美地的體現(xiàn)了面向?qū)ο蟮母鞣N特性。是目前使用非常廣泛的面向?qū)ο蟪绦蛘Z言。 開發(fā)環(huán)境的配置本課題主要使用三維渲染引擎OpenSceneGraph和Microsoft Visual Studio 2008進(jìn)行開發(fā),所以我們要預(yù)先對環(huán)境進(jìn)行配置。這里就介紹一下OpenSceneGraph和Microsoft Visual Studio 2008開發(fā)環(huán)境的詳細(xì)配置。首先需要下載安裝Microsoft Visual Studio 2008和解壓安裝OpenScenceGraph的編譯包。然后要為OpenSceneGraph配置環(huán)境變量,,。圖22 OPENSCENEGRAPH_VERSION環(huán)境變量示意圖之后要增加變量OSGDIR,其值是OpenSceneGraph所安裝的目錄,如圖23所示,圖中“D:\Study\OpenSceneGraph”是我所安裝OpenSceneGraph的目錄。圖23 OSGDIR環(huán)境變量示意圖然后我們還要在Path變量中新增“%OSGDIR%\bin?!焙汀?OSGDIR%\bin\osgPlugins%OPENSCENEGRAPH_VERSION%”這兩項(xiàng)如圖24所示。接下來我們還要增加環(huán)境變量OSG_FILE_PATH,變量值設(shè)為“%OSGDIR%\data”如圖25所示。最后我們要增加環(huán)境變量OSG_NOTIFY_LEVEL,變量值為“WARN”。如圖26所示。圖24 Path中增加內(nèi)容示意圖圖25 OSG_FILE_PATH環(huán)境變量示意圖圖26 OSG_NOTIFY_LEVEL環(huán)境變量示意圖到這里OpenSceneGraph的環(huán)境變量就設(shè)置好了,這一設(shè)置之后意味著Windows系統(tǒng)可以自動(dòng)檢索到并調(diào)用以下兩個(gè)位置的OpenSceneGraph功能模塊和插件文件:D:\Study\OpenSceneGraph\binD:\Study\OpenSceneGraph\bin\在PATH變量中添加的環(huán)境變量使用了絕對路徑,這樣做的優(yōu)點(diǎn)在于,當(dāng)用戶的OpenSceneGraph版本或安裝位置改變時(shí),不必再次修改PATH中的內(nèi)容,直接修改OSGDIR和OPENSCENEGRAPH_VERSION這兩個(gè)環(huán)境變量值即可。此外我們還設(shè)置了兩個(gè)OpenSceneGraph內(nèi)部專用的環(huán)境變量,OSG_FILE_PATH和OSG_NOTIFY_LEVEL,OSG_FILE_PATH主要用于指示數(shù)據(jù)文件位置,在編寫代碼讀取OpenSceneGraph模型和圖像文件的時(shí)候,該變量值所寫路徑中的文件可以被自動(dòng)搜索到,OSG_NOTIFY_LEVEL的主要作用是指示調(diào)試信息輸出的條件。都配置好之后我們可以進(jìn)入Windows控制臺下輸入osgViewer (代表當(dāng)前的路徑),如果可顯示如圖27所示效果,則說明配置成功了。接下來我們要進(jìn)入Microsoft Visual Studio 2008新建一個(gè)Win32 Console Application,之后對工程環(huán)境進(jìn)行配置,首先打開工具選項(xiàng)文本編輯器文件擴(kuò)展名里把“將無擴(kuò)展文文件映射到”這一欄選中“Microsoft Visual C++”并打上勾,如圖28所示。接下來我們打開“項(xiàng)目屬性在當(dāng)前工程版本中(我使用的是Release版)選中配置屬性C/C++常規(guī)”,在“附加包含目錄”中填入“$(OSGDIR)\include”,如圖29所示。圖27 圖28 文本編輯器配置示意圖圖29 頭文件目錄配置示意圖最后打開“配置屬性鏈接器常規(guī)”,在“附加庫目錄”欄中填入“$(OSGDIR)\lib”并在“配置屬性鏈接器輸入”的“附加依賴項(xiàng)”中添加“、、如圖210所示。圖210 依賴庫配置示意圖到這里我們的環(huán)境就配置完成了。 本章小結(jié) 本章主要介紹了開發(fā)三維虛擬儀表有哪些常見工具,以及我為什么選擇OpenSceneGraph,它有什么優(yōu)勢,它的發(fā)展史以及它的組成模塊,此外還介紹了本次畢業(yè)設(shè)計(jì)用到的開發(fā)工具M(jìn)icrosoft Visual Studio 2008,并對其做了單間介紹,最后對OpenSceneGraph和Microsoft Visual Studio 2008的環(huán)境配置做了詳細(xì)介紹。第3章 需求分析 三維虛擬儀表分析 《三維虛擬場景中三維虛擬儀表程序設(shè)計(jì)》項(xiàng)目需要設(shè)計(jì)三維場景中的三維虛擬儀表,構(gòu)建三維模型,所以首先得對現(xiàn)實(shí)生活中的一般儀表進(jìn)行分析,結(jié)合生活中的一般儀表進(jìn)行分析設(shè)計(jì)本次畢業(yè)設(shè)計(jì)要設(shè)計(jì)的三維虛擬儀表。 一般儀表類型 現(xiàn)實(shí)生活中,我們用到的儀表一般常見的有:壓力儀表,溫度儀表,液位儀表,流量儀表,分析儀表,電工儀器儀表,光學(xué)儀表,工業(yè)自動(dòng)化儀表,試驗(yàn)儀器儀表,量具儀表等等。 一般儀表的構(gòu)件和功能 現(xiàn)實(shí)生活中,一般儀表的構(gòu)建根據(jù)功能的不同,構(gòu)件也不盡相同,如玻璃溫度計(jì)和時(shí)鐘表。玻璃溫度計(jì)主要由感溫泡、玻璃毛細(xì)管和刻度標(biāo)尺三部分組成,它是用來測量溫度的。而時(shí)鐘表主要由時(shí)針、分針、秒針和整個(gè)儀表盤組成,它是用來顯示時(shí)間的。 三維虛擬儀表的分析設(shè)計(jì) 根據(jù)現(xiàn)實(shí)生活中的儀表,我們可以設(shè)計(jì)一個(gè)應(yīng)用廣泛的三維虛擬儀表,它的左邊是一個(gè)類似于時(shí)鐘的表,由一個(gè)外圓,度量刻度和一根指針組成,指針指向的是數(shù)據(jù)大小,右邊則是一個(gè)坐標(biāo)系,在坐標(biāo)系上顯示的是左邊儀表數(shù)據(jù)的變化趨勢和大小,而在表的下面則是指針指向的數(shù)據(jù)大小數(shù)字化顯示,而這三個(gè)功能都需要在一個(gè)物體上顯示,即背景模板,我們將表、坐標(biāo)系、數(shù)字化顯示都放置在這個(gè)背景模板上,這樣就能比較真實(shí)的展現(xiàn)一個(gè)三維虛擬儀表的結(jié)構(gòu)和功能了。這類儀表可于速度儀表,即顯示速度,也可以用于高度儀表,即顯示高度等等。 三維虛擬儀表的三維模型 要做好本設(shè)計(jì),就要對設(shè)計(jì)要就有詳細(xì)的了解和分析。根據(jù)《三維虛擬場景中三維虛擬儀表程序設(shè)計(jì)任務(wù)書》,我將任務(wù)書對本設(shè)計(jì)的要求進(jìn)行如下分析。 本設(shè)計(jì)要求的是在三維場景中,而在三維場景中,三維坐標(biāo)系的設(shè)置并不是固定不變的,而是根據(jù)用戶需求設(shè)置的,所以在設(shè)計(jì)三維虛擬儀表的三維模型時(shí),首先要對坐標(biāo)系進(jìn)行確定,因?yàn)橹挥写_定了
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1