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

正文內(nèi)容

基于粒子系統(tǒng)的噴泉模擬_本科畢業(yè)論文(編輯修改稿)

2024-08-14 11:28 本頁面
 

【文章內(nèi)容簡介】 的交迭過程的計(jì)算機(jī)模擬,采用了 OpenGL顯示列表 (DisplayLists)方法繪圖,優(yōu)化了程序性能,效果逼真實(shí)現(xiàn)了真正的三維實(shí)時(shí)繪制。馬駿和朱衡君 [25]基于動(dòng)態(tài)紋理和粒子系統(tǒng)實(shí)現(xiàn)了對(duì)噴泉的模擬,其方法是渲染一定量的圖像作為貼圖紋理,采用公告板技術(shù)和動(dòng)態(tài)紋理技術(shù)來實(shí)現(xiàn)紋理噴泉的繪制,但缺乏一定的靈活性;趙靜謐,張慧 [3]等提出了用 基于粒子系統(tǒng)與 Particle System API的景物模擬方法,并采用 Line方式渲染粒子,結(jié)合紋理映射方法對(duì)噴泉進(jìn)行了模擬;張從輝,萬華根 [26]從物理建模技術(shù)出發(fā)構(gòu)建了音樂噴泉模型。 本論文的技術(shù)路線 本文主要根據(jù)國內(nèi)外模擬噴泉的研究現(xiàn)狀進(jìn)行了分析和借鑒。對(duì)粒子系統(tǒng)進(jìn)行了研究。 結(jié)合粒子系統(tǒng)和流體動(dòng)力學(xué)原理,對(duì)噴泉粒子系統(tǒng)的原有模型進(jìn)行了進(jìn)一步的分析和研究通過對(duì)噴泉運(yùn)動(dòng)的分析,利用隨機(jī)粒子在系統(tǒng)中不規(guī)則運(yùn)動(dòng)來模擬噴泉粒子運(yùn)動(dòng),從而使噴泉粒子的運(yùn)動(dòng)更加靈活。并針對(duì)于噴泉模擬效果上進(jìn)行了 改進(jìn)。 本論文主要從下面幾章闡述利用粒子系統(tǒng)實(shí)現(xiàn)噴泉的模擬: 第一章:主要綜述了課題的國內(nèi)外研究現(xiàn)狀。對(duì)本文的研究內(nèi)容、研究目標(biāo)、研究方法和預(yù)期研究結(jié)果進(jìn)行了概述,多層次反應(yīng)了本課題的科學(xué)意義和實(shí)用價(jià)值。 第二章:提出基于 OpenGL+MFC的建?;A(chǔ),分析了 OpenGL渲染管道 ,MFC編程框架, 陳述了 基于OpenGL+MFC的三維模擬的編程環(huán)境配置。 第三章:主要介紹粒子系統(tǒng)的原理和關(guān)鍵技術(shù)包括了粒子的發(fā)射,初始狀態(tài),生命周期等的控制。 第四章:通過噴泉粒子的運(yùn)動(dòng)規(guī)律,特征,軌跡 的分析研究 來實(shí)現(xiàn)系 統(tǒng)的設(shè)計(jì) 。并對(duì)設(shè)計(jì)的過程,實(shí)現(xiàn)的原理,關(guān)鍵技術(shù)和實(shí)驗(yàn)結(jié)果進(jìn)行詳細(xì) 陳述 。 第五章: 總結(jié)本文方法并給出進(jìn)一步的研究展望 。 6 2 基于 OpenGL+ MFC的建?;A(chǔ) OpenGL概述 OpenGL 是個(gè)定義了一個(gè)跨編程語言、跨平臺(tái)的編程接口的規(guī)格,它用于三維圖象(二維的亦可)。OpenGL 是個(gè)專業(yè)的圖形程序接口,是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫。 1992 年 7 月, SGI 公司發(fā)布了 OpenGL 的 版本,隨后又與微軟公司共同開發(fā)了 Windows NT版本的 OpenGL。 1995 年 OpenGL的 版本面市。 20xx 年的 7 月 28 日, SGI和 ARB 公布了 OpenGL 。 20xx 年 8 月, 版本發(fā)布 ~OpenGL 標(biāo)準(zhǔn)的主要制訂者并非原來的 SGI,而是逐漸在 ARB 中占據(jù)主動(dòng)地位的 3Dlabs。 20xx 年 8 月初 Khronos 工作組在 Siggraph 20xx 大會(huì)上宣布了OpenGL 圖形接口規(guī)范, shader 語言和其他新增功能將再次未來開放 3D 接口發(fā)展指明方向。 OpenGL API 開發(fā)代號(hào)為 Longs Peak,和以往一樣, OpenGL 仍然作為一個(gè)開放 性和跨平臺(tái)的 3D 圖形接口標(biāo)準(zhǔn),在 Shader 語言盛行的今天, 增加了新版本的 shader 語言: GLSL ,可以充分發(fā)揮當(dāng)前可編程圖形硬件的潛能。 20xx 年 3 月又公布了升級(jí)版新規(guī)范 OpenGL ,也是這套跨平臺(tái)免費(fèi) API 有史以來的第九次更新。 20xx 年 8 月 Khronos 小組發(fā)布了 OpenGL ,這是一年以來 OpenGL進(jìn)行的第三次重要升級(jí)。 Khronos旗下的 OpenGL ARB(Architecture Review Board)工作組推出了 GLSL Language(OpenGL 著色語言 )的升級(jí)版,以及在 框架下推出了兩個(gè)新功能,可以讓開發(fā)者在開發(fā)新程序時(shí)能夠在使用流水線內(nèi)核特性或兼容性特性之間做出選擇,其中兼容性特性會(huì)提供與舊版 OpenGL 之間的兼容性。 OpenGL渲染管道 絕大多數(shù) OpenGL的實(shí)現(xiàn)都有一個(gè)的相類似的操作順序,一系列處理階段稱為 OpenGL渲染管道。 如圖 1 顯示了 OpenGL處理數(shù)據(jù)的過程。幾何數(shù)據(jù)(頂點(diǎn)、線、多邊形)跟隨著這些路徑通過這些代表求值程序和每一個(gè)頂點(diǎn)操作的盒子,而像素?cái)?shù)據(jù)(像素、 圖像、位圖)的部分加工處理過程有些不同。在將最后的像素?cái)?shù) 據(jù)寫到幀緩存前,兩種類型的數(shù)據(jù)都要經(jīng)過最后相同的步驟(光柵化和片段操作)。 圖 1 OpenGL渲染管道 下面我們更為詳細(xì)的介紹 OpenGL 渲染管道 的一些關(guān)鍵階段。 求值器 所有的幾何圖元最終都要通過頂點(diǎn)來描述。參數(shù)化曲線和表面最初可能是通過控制點(diǎn)以及成為基函數(shù) (Basic function)的多項(xiàng)式函數(shù)進(jìn)行描述的。求職器提供了一種方法。根據(jù)控制點(diǎn)計(jì)算表示 顯示 列表 求值器 基于 頂點(diǎn) 操作與 圖元 裝配 光柵化 逐 片斷操作 幀緩存 像 素 操作 紋理裝配 頂點(diǎn)數(shù)據(jù) 像 素?cái)?shù)據(jù) 7 表面的頂點(diǎn)。這種方法是一種多項(xiàng)式 映射,它可以根據(jù) 控制點(diǎn)產(chǎn)生表面法線、紋理坐標(biāo)、顏色以及空間坐標(biāo)。 基于頂點(diǎn)的操作 對(duì)于頂點(diǎn)數(shù)據(jù),接下來的一個(gè)步驟就是 基于頂點(diǎn)的操作 ,就是把頂點(diǎn)變換為圖元。有些類型的頂點(diǎn)數(shù)據(jù) (例如空間坐標(biāo) )是通過一個(gè) 4*4 的浮點(diǎn)矩陣進(jìn)行變換的??臻g坐標(biāo)從 3D 世界的一個(gè)位置投影到屏幕上的一個(gè)位置。 如果啟用了高級(jí)特性,這個(gè)階段將更為忙碌。如果使用了紋理,這個(gè)階段還將生成并變換紋理坐標(biāo)。如果啟用了光照,就需要綜合變換后的頂點(diǎn),表面法線,光源位置,材料屬性以及其他光照信息進(jìn)行光照計(jì)算,產(chǎn)生最終的顏色值。 圖元裝配 圖元裝配的一個(gè)主要內(nèi)容就是剪裁,它的任務(wù)是消除位于半空間 (halfspace)之外的那部分幾何圖元,而這個(gè)半空間是由一個(gè)平面所定義的。點(diǎn)剪裁就是簡單地接受或拒絕頂點(diǎn),直線或多邊形剪裁則可能需要添加額外的頂點(diǎn),具體取決于直線或多邊形是如何進(jìn)行剪裁的。在有些情況下,接下來需要執(zhí)行一個(gè)稱為透視除法 (perspective division)的步驟。它使遠(yuǎn)處的物體看起來比近處的物體更小一些。接下來所進(jìn)行的是視口 (viewport)和深度 (z 坐標(biāo) )操作。如果啟用了剔除功能(culling)并且該圖元是個(gè)多邊形,那么 它就有可能被剔除測(cè)試所拒絕。取決于多邊形模式,多邊形可能被畫成點(diǎn)的形式或者直線的形式。 這個(gè)階段所產(chǎn)生的結(jié)果就是完整的幾何圖元,也就是根據(jù)相關(guān)的顏色,深度 (有時(shí)還有紋理坐標(biāo)值以及和光棚化處理有關(guān)的一些指導(dǎo)信息 )進(jìn)行了變換和剪裁的頂點(diǎn)。 像素操作 在 OpenGL 的渲染管線中,和單路徑的幾何數(shù)據(jù)相比,像素?cái)?shù)據(jù)所經(jīng)歷的流程有所不同。首先,來自系統(tǒng)內(nèi)存的一個(gè)數(shù)組中的像素進(jìn)行解包,從某種格式 (像素的原始格式可能有多種 )解包為適當(dāng)數(shù)量的數(shù)據(jù)成分。接著,這些數(shù)據(jù)被縮放、偏移,并根據(jù)一副像素圖進(jìn)行處理。處理結(jié) 果先進(jìn)行截取,然后或者寫入到紋理內(nèi)存,或者發(fā)送到光棚化階段 。 如果像素?cái)?shù)據(jù)時(shí)從幀緩沖區(qū)讀取的,就對(duì)他們執(zhí)行像素轉(zhuǎn)換操作 (縮放、偏移、映射和截取 )。然后,這些結(jié)果被包裝為一種適當(dāng)?shù)母袷剑⒎祷氐较到y(tǒng)內(nèi)存的一個(gè)數(shù)組中。 OpenGL 有一種特殊的像素復(fù)制操作,可以把數(shù)據(jù)從幀緩沖區(qū)復(fù)制到幀緩沖區(qū)的其他位置或紋理內(nèi)存中。這樣,在數(shù)據(jù)寫入到紋理內(nèi)存或者寫回到幀緩沖區(qū)之前,只需要進(jìn)行一道像素轉(zhuǎn)換就可以了。 紋理裝配 OpenGL 應(yīng)用程序可以在幾何物體上應(yīng)用紋理圖像,使它們看上去更為逼真。如果需要使用多幅紋理圖 像,把它們放在紋理對(duì)象中是一種明智的做法。這樣,就可以很方便地在他們之間進(jìn)行切換。 有些 OpenGL 實(shí)現(xiàn)擁有一些特殊的資源,可以加速紋理的處理。這種資源可能是專用的,高性能的紋理內(nèi)存。如果確實(shí)擁有這種內(nèi)存,紋理對(duì)象可能會(huì)優(yōu)先進(jìn)行處理,以控制這種有限和寶貴的資源的使用。 光棚化 光棚化就是把幾何數(shù)據(jù)和像素?cái)?shù)據(jù)轉(zhuǎn)換為片斷 (fragment)的過程。每個(gè)片斷方塊對(duì)應(yīng)用于幀緩沖區(qū)中的一個(gè)像素。把頂點(diǎn)連接起來形成直線或者計(jì)算填充多邊形的內(nèi)部像素時(shí),需要考慮直線和多邊形的點(diǎn)畫模式,直線的寬度,點(diǎn)的大小,著 色模型以及用于支持抗鋸齒處理的覆蓋計(jì)算。每個(gè)片斷方塊都將具有各自的顏色和深度值。 片斷操作 在數(shù)據(jù)實(shí)際存儲(chǔ)到幀緩沖區(qū)之前, 將要執(zhí)行一系列的操作。這些操作可能會(huì)修改甚至丟棄這些片斷。所有這些操作都可以被啟用或禁用。 第一個(gè)可能遇到的操作是紋理化 。在紋理內(nèi)存中為每個(gè)片斷生成一個(gè)紋理單元 (texel,也就是 8 紋理元素 ),并應(yīng)用到這個(gè)片斷上。接著可能進(jìn)行的是霧計(jì)算,然后是剪裁測(cè)試, alpha 測(cè)試,模板測(cè)試和深度緩沖區(qū)測(cè)試 (深度緩沖區(qū)用于消除被隱藏的表面 )。如果一個(gè)片斷無法通過一個(gè)啟用的測(cè)試,它的連續(xù)處 理過程可能會(huì)被中斷。隨后,將要執(zhí)行的可能是混合,抖動(dòng),邏輯操作以及根據(jù)一個(gè)位掩碼的屏蔽操作。最后,經(jīng)過完整處理的片斷就被繪制到適當(dāng)?shù)木彌_區(qū),最終成為一個(gè)像素并到達(dá)它的最終 歸宿 。 MFC 概述 MFC,微軟基礎(chǔ)類 (Microsoft Foundation Classes), 用于在 C++環(huán)境下編寫應(yīng)用程序的一個(gè)框架和引擎。該類庫提供一組通用的可重用的類庫供開發(fā)人員使用。大部分類均從 CObject 直接或間接派生,只有少部分類例外。 MFC 類庫作為 C++與 Windows 的接口,建立在 Win32 應(yīng)用程序編 程接口 API 之上,封裝了大多數(shù)的 API 函數(shù),主要是 API 中與程序結(jié)構(gòu)相關(guān)的部分和最常用的部分。 MFC 還封裝了重要的 Windows擴(kuò)展,如 COM, ActiveX, ODBC 和 Inter APIs,為這些難以編程實(shí)現(xiàn)的功能提供了簡便方法。 MFC 中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,讓程序員在此基礎(chǔ)上來建立 Windows 下的應(yīng)用程序。 MFC 框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。 Visual C++提供了相應(yīng)的工具 來完成這個(gè)工作: AppWizard 可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于直觀地設(shè)計(jì)用戶界面; ClassWizard 用來協(xié)助添加代碼到框架文件;最后進(jìn)行編譯,則通過類庫實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。 在 MFC 編程中,入口函數(shù) WinMain()被封裝在 MFC 的應(yīng)用程序框架內(nèi),已經(jīng)不用也不可以再定義為另一個(gè) WinMain()函數(shù)。 MFC 編程最好的辦法是使用 MFC 的應(yīng)用程序向?qū)Чぞ?AppWizard。 AppWizard 為程序員提供了一種快捷方便的工具來定制基于 MFC 的應(yīng)用程序框架,程序員只需以此為 基礎(chǔ),添加與修改程序代碼來實(shí)現(xiàn)所需功能。 MFC 是一個(gè)編程框架, MFC 中的各種類結(jié)合起來構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來建立 Windows 下的應(yīng)用程序,這是一種相對(duì) SDK 來說更為簡單的方法。因?yàn)榭傮w上,MFC 框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。 Microsoft Visual C++提供了相應(yīng)的工具來完成這個(gè)工作: AppWizard 可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫 助直觀地設(shè)計(jì)用戶接口; ClassWizard 用來協(xié)助添加代碼到框架文件;最后,編譯,則通過類庫實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。 MFC 編程框架具有如下特點(diǎn) : 封裝 構(gòu)成 MFC 框架的是 MFC 類庫。 MFC 類庫是 C++類庫。這些類或者封裝了 Win32 應(yīng)用程序編程接口,或者封裝了應(yīng)用程序的概念,或者封裝了 OLE 特性,或者封裝了 ODBC 和 DAO 數(shù)據(jù)訪問的功能,等等,分述如下。 ( 1)對(duì) Win32 應(yīng)用程序編程接口的封裝 用一個(gè) C++ Object 來包裝一個(gè) Windows Object。例如: class CWnd 是一個(gè) C++ window object,它把 Windows window(HWND)和 Windows window 有關(guān)的 API 函數(shù)封裝在 C++ window object 的成員函數(shù)內(nèi),后者的成員變量 m_hWnd 就是前者的窗口句柄。 ( 2)對(duì)應(yīng)用程序概念的封裝 使用 SDK 編寫 Windows 應(yīng)用程序時(shí),總要定義窗口過程,登記 Windows Class,創(chuàng)建窗口,等等。 MFC 把許多類似的處理封裝起來,替程序員完成這些工作。另外, MFC 提出了以文檔 視圖為中心的編程模式, MFC 類庫封裝了對(duì)它的支持。文檔是用戶操作 的數(shù)據(jù)對(duì)象,視圖是數(shù)據(jù)操作的窗口, 9 用戶通過它處理、查看數(shù)據(jù)。 ( 3)對(duì) COM/OLE 特性的封裝 OLE 建立在 COM 模型之上,由于支持 OLE 的應(yīng)用程序必須實(shí)現(xiàn)一系列的接口( Interface),因而相當(dāng)繁瑣。 MFC 的 OLE 類封裝了 OLE API 大量的復(fù)雜工作,這些類提供了實(shí)現(xiàn) OLE 的更高級(jí)接口。 ( 4)對(duì) ODBC 功能的封裝 以少量的能提供與 ODBC 之間更高級(jí)接口的 C++類,封裝了 ODBC API 的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫編程模式。 繼承 首先, MFC 抽象出眾多類的共同特性,設(shè)計(jì)出一些基 類作為實(shí)現(xiàn)其他類的基礎(chǔ)。這些類中,最重要的類
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1