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

正文內(nèi)容

基于粒子系統(tǒng)噴泉實(shí)現(xiàn)論文-wenkub.com

2024-11-03 16:50 本頁面
   

【正文】 glTexCoord2f(1, 0)。 (3) 說明紋理映射方式 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE)。 glTexCoord2f(1, 1)。 glTexCoord2f(0, 0)。 在本文的具體實(shí)現(xiàn)時(shí),采用如下方式定義紋理控制濾波,說明紋理的映射方式,啟用紋理。 紋理貼圖 紋理貼圖是一個(gè)比較煩瑣的過程,它首先需要添加相應(yīng)的映射函數(shù)、設(shè)置像素格式和管理著色描述表。vectl)。vectd, amp。 = ttx 。按照 這個(gè)思想,只要將水柱進(jìn)行 360 度的旋轉(zhuǎn),噴泉就可以模擬出來了。 噴泉旋轉(zhuǎn) 正如大家平時(shí)所看到一樣,噴泉是由一個(gè)個(gè)水柱組成的。噴泉的模擬按圖 44 所示的步驟進(jìn)行: 圖 44 噴泉粒子處理流程圖 代碼詳見附錄 (6)??紤]到粒子系統(tǒng)水花四濺的特征,在繪制粒子的時(shí)候, 本文采用了 Line 方式,而不是采用傳統(tǒng)的 Point 方式。為了有合適的下落速度,以取得良好的動畫效果,經(jīng)過多次實(shí)驗(yàn)之后針對當(dāng)前的初始速度把加速度的值設(shè)置為 ,而非重力加速度為 。現(xiàn)在就可以產(chǎn)生新粒了,將粒子產(chǎn)生的位置( x0, y0, z0)范圍限制在 Z 軸上一條很短的直線段上,這樣可以使粒子產(chǎn)生的位置看起來就像從一個(gè)很細(xì)的管嘴噴出來一樣 。在 圖 中, σ1與 Y 軸交于原點(diǎn) O, σ2與 Y 軸交于 P1 點(diǎn), σ0與 Y 軸 交于 P2 點(diǎn)。 噴泉種類多樣,本文挑選出其中一些具有代表性的進(jìn)行研究和模擬。 設(shè)置一個(gè)與 Y 軸正交的平面域,使運(yùn)動到該平面下方的粒子全部消亡。 噴泉的設(shè)計(jì)與實(shí)現(xiàn) 23 tempp = temp1。 (temppa = 0)) // 粒子死亡 { // 刪除粒子 temp1 = temppprev。 j3。 這便是本文所采用的利用粒子的淡化處理方式進(jìn)行粒子的刪除操作。 // 下一個(gè)粒子 } } } ( 2)粒子刪除的 設(shè)計(jì)與 實(shí)現(xiàn) 粒子的屬性中有個(gè) type,表示粒子所處的狀態(tài)。 // 增加粒 子壽命 if (temppy 0) tempptype = 1。 while (tempp) { if (tempptype == 0) // 如果粒子處于運(yùn)動狀態(tài) { temppx += temppxd。 int j。 由于粒子只受到重力作用, x、 z 方向上并不受力,所以粒子 x、 z 方向通過自己方向上速度 的不斷自加來計(jì)算其在 x、 z 軸上的坐標(biāo)。 // 粒子淡化 } } 其中最后一步的 “ a=1” ,其含義將會在粒子活動中介紹。 temppxd = cos((temppd*)/180)*temppv/4。 // 粒子速度 temppd = (float)(rand() % 400)/1002。 temppnext = fn[j]。 j++) for (i=0。 運(yùn)動方向: d=( rand()%400) /1002 代碼如下: 噴泉的設(shè)計(jì)與實(shí)現(xiàn) 20 void CMyFountainView::AddParticles() { struct particle *tempp。首先對每個(gè)粒子給予一些屬性,粒子根據(jù)它屬性的變化進(jìn)行活動。 int Width, Height。 void SetActive()。 具體實(shí)現(xiàn)詳見附錄 (4)。 void Initialize(int xSize, int zSize, float OscillatorDistance, float OscillatorWeight, float Damping, float TextureStretchX, float TextureStretchZ)。 float m_OscillatorDistance。 GLuint * m_Indices。 void StrafeRight ( GLfloat Distance )。 void RotateY ( GLfloat Angle )。 聲明執(zhí)行轉(zhuǎn)換、旋轉(zhuǎn)和循環(huán)使用視圖窗口的命令功能的函數(shù): void Render ( void )。 聲明視圖窗口在三維空間在 x、 y、 z 軸上的相關(guān)變換屬性; GLfloat RotatedX, RotatedY, RotatedZ。所以設(shè)計(jì)出一個(gè) CCamera 類,這個(gè)類包含了兩種使用范圍的屬性和方法,它們分別是私有屬性( private)和公有屬性( public)。粒子屬性的存儲和處理都是在 Texture 中進(jìn)行的,因此我們要通過編程把 Texture 中的屬性值復(fù)制到 Vertex Buffer 中。故而 , 實(shí)現(xiàn)本系統(tǒng) Visual Studio 2020 是一個(gè)相對較好的選擇。 實(shí)驗(yàn)環(huán)境 首先介紹下系統(tǒng)開發(fā)的環(huán)境。 本章小結(jié) 本章主要介紹了粒子系統(tǒng)的基本原理 及 粒子系統(tǒng)的國內(nèi)外發(fā)展的現(xiàn)狀及前景,還有常見的粒 子運(yùn)動模型 ; 直線運(yùn)動、阻尼運(yùn)動、螺旋運(yùn)動及反彈運(yùn)動幾種形式。對于噴泉?jiǎng)討B(tài)模擬,就會顯的更加真實(shí)。而對于要求限時(shí)計(jì)算的場景,需要改進(jìn)傳統(tǒng)的粒子系統(tǒng)方法,盡可能地降低渲染這些粒子的代價(jià),提高系統(tǒng)的實(shí)時(shí)性。在粒子消亡以后,我們把死亡粒子的編號壓回空閑棧,并且從渲染鏈表中刪除他。 利用一個(gè)靜態(tài)的粒子數(shù)組可以很好的解決這個(gè)問題,在粒子系統(tǒng)剛開始產(chǎn)生時(shí),我們就申請一大塊內(nèi)存區(qū)域,填充最大數(shù)量的粒子,我們稱這個(gè)存儲區(qū)域?yàn)榱?子池。 當(dāng)然,要制造一個(gè)基本粒子,你可以采用任何你想得到的可見元素,從一個(gè)點(diǎn)到一條線、一個(gè)面 , 甚至一個(gè)模型,都有可能成為一個(gè)基本粒子,但由于粒子系統(tǒng)的群體性特征,你必須選擇最簡練,占用系統(tǒng)資源最少的類型,因此原則上我們應(yīng)該避免粒子系統(tǒng)基本原理 14 使用一個(gè)有上百個(gè)面的模型作為一個(gè)有上千個(gè)粒子的粒子系統(tǒng)的基本元素。其中還要用到 Alpha 融合技術(shù),使平面本身不可見,僅讓有用的部分圖象顯示出來。 (2) 粒子類型(子彈) 每一個(gè)粒子都是槍里的子彈,用何種子彈,將影響你的殺傷力,有些子彈細(xì)小,發(fā)射緩慢,有些子彈能夠迅速發(fā)射,而且威力巨大。 粒子系統(tǒng)的構(gòu) 成 (1) 發(fā)射器(槍) 發(fā)射器好比一把的槍,粒子往往是由這把槍產(chǎn)生并發(fā)射的,發(fā)射器將每個(gè)粒子的粒子系統(tǒng)基本原理 13 參數(shù)初始化,并且提供所有粒子共同的屬性參數(shù)(將粒子的共同屬性保存在發(fā)射器而不是每個(gè)粒子里面會很大的節(jié)省內(nèi)存空間)。 (3) 螺旋運(yùn)動 , 螺旋運(yùn)動能按照給頂軸進(jìn)行旋轉(zhuǎn),以產(chǎn)生粒子的翻滾等效果,使速度方向發(fā)生改變。 (2) 更新現(xiàn)存粒子的屬性:例如粒子有位置和速度屬性,就需要根據(jù)粒子原來的位置速度和流逝的時(shí)間計(jì)算粒子的新位置。粒子系統(tǒng)基本原理 12 粒子往往由位于空間某個(gè)位置的粒子源產(chǎn)生。 粒子系統(tǒng)的基本原理 基本原理 給出粒子中心點(diǎn)的坐標(biāo)和粒子的大小,則很容易計(jì)算出粒子所需要的 4 個(gè)頂點(diǎn)的位置坐標(biāo)。用它所創(chuàng)建的動態(tài)模糊效果是其 他圖像生成技術(shù)難以達(dá)到的。 國內(nèi)近年來有許多大學(xué)對粒子系統(tǒng)模型進(jìn)行了研究、探索和應(yīng)用,并取得了一定的成果。Pearce、 Tonnesen 等人開發(fā)了雙粒子系統(tǒng)來模擬像流體一樣的或溶化的物質(zhì)。 Karl Sims 研究了粒子的動畫及繪制算法,他利用粒子系統(tǒng)的并行特點(diǎn),提出了一個(gè)并行的粒子繪制系統(tǒng),該系統(tǒng)能繪制不同形狀、大小、透明度的粒子,并能進(jìn)行反走樣、消隱、運(yùn)動模糊的處理。 (2) 粒子系統(tǒng)的國內(nèi)外研究現(xiàn)狀 國外的研究始于 80 年代初期,由 Reeves W. 1983 年首次提出粒子系統(tǒng)模型,并用其模擬了焰火、爆炸等效果 [7],他還成功的利用該模型模擬了 電影《 AR TREK I: The Wrath of Khan》中的一系列特技鏡頭。而且,該圖形卡仍然可以輕松加載系統(tǒng),如果碰到失去響應(yīng)的問題,請等待粒子系統(tǒng)完成其計(jì)算,然后減少系統(tǒng)中的粒子數(shù),實(shí)施緩存 或采用其他方法來優(yōu)化性能。在 非事件驅(qū)動粒子系統(tǒng) 中,粒子通常在動畫過程中顯示類似的屬性。主要是在使 用程序方法為大量的小型對象設(shè)置動畫時(shí)使用粒子系統(tǒng),例如,創(chuàng)建暴風(fēng)雪、水流或爆炸。 粒子系統(tǒng)基本原理 10 3 粒子系統(tǒng)基本原理 本章主要 介紹 粒子系統(tǒng)在國內(nèi)外的研究現(xiàn)狀,并能夠掌握粒子系統(tǒng)原理,熟悉常見的幾種粒子運(yùn)動模型及 粒子系統(tǒng)的 構(gòu)成。 本章小結(jié) 本章主要介紹了圖形的幾何變換原理的二維和三維變換等 ; DirectX 與 OpenGL 兩種不同的函數(shù)庫,提供的 API??蚣芑蛘哂善浔旧硖幚硎录灰蕾嚦绦騿T的代碼;或者調(diào)用程序員的代碼來處理應(yīng)用程序特定的事件。雖然,這些內(nèi)部處理對程序員來說是透明的,但是,懂得和理解 MFC 內(nèi)部機(jī)制有助于寫出功能靈活而強(qiáng)大的程序。例如, SDI 應(yīng)用程序的模板, MDI 應(yīng)用程序的模板,規(guī)則 DLL 應(yīng)用程序的模板 [6],擴(kuò)展 DLL 應(yīng)用程序的模板, OLE/ACTIVEX 應(yīng)用程序的模板等。 MFC 編程框架將在適當(dāng)?shù)?時(shí)候、適當(dāng)?shù)牡胤絹碚{(diào)用程序的代碼。如果這些函數(shù)都設(shè)計(jì)成虛擬函數(shù),由于數(shù)量太多,實(shí)現(xiàn)起來不現(xiàn)實(shí)。這些對象包括以下種類:窗口對象,基類是 CWnd;應(yīng)用程序?qū)ο螅愂?CwinThread;文檔對象,基類是 Cdocument 等。所有從 CObject 派生的類都 將具備或者可以具備 CObject 所擁有的特性。 MFC 抽象出眾多類的共同特性,設(shè)計(jì)出一些基類作為實(shí)現(xiàn)其他類的基礎(chǔ)。 Microsoft Visual C++提供了相應(yīng)的工具來完成這個(gè)工作: AppWizard 可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口; Class Wizard 用來協(xié)助添加代碼到框架文件;最后編譯,則通過類庫實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。這類函數(shù)以 “ aux” 作為前綴。核心庫中包含了 OpenGL 最基本的命令函數(shù)。 OpenGL 是目前用于開發(fā)可移植的、可交互的 2D 和 3D圖形應(yīng)用程序的首選環(huán)境,系統(tǒng)相關(guān)技術(shù)與原理 7 也是目前應(yīng)用最廣泛的計(jì)算機(jī)圖形標(biāo)準(zhǔn)。后者則主要負(fù)責(zé) 3D 效果的顯示,比如 CS 中的場景和人物、 FIFA 中的人物等等,都是使用了 DirectX 的 Direct3D。這樣說是不是有點(diǎn)不太明白,其實(shí)從字面意義上說, Direct就是直接的意思,而后邊的 X 則代表了很多的意思,從這一點(diǎn)上我們就可以看出DirectX 的出現(xiàn)就是為了為眾多軟件提供直接服務(wù)的。但 OpenGL 多需要顯卡支持 .做 windows 平臺上的游戲,當(dāng)然是 DirectX ,想跨平臺,想做科學(xué)計(jì)算程序,想做 CAD,想做分布計(jì)算,想做工 業(yè)級應(yīng)用,最好用 OpenGL。 OpenGL 主要包括三個(gè)函數(shù)庫,它們是核心庫、實(shí)用函數(shù)庫和編程輔助庫。 表示單位向量 。 ux 表示空間向量在 x 軸上的分向量, uy 表示空間向量在 y 軸上的分向量, uz 表示空間向量在 z 軸上的分向量。如圖 21系統(tǒng)相關(guān)技術(shù)與原理 5 所示 : 圖 21 空間直角坐標(biāo)系 (2) 向量 向量就是既有大小又有方向的量。這三個(gè)平面將整個(gè)空間分成 8 個(gè)子空間,在 3D 笛卡爾坐標(biāo)系中共有 8 個(gè)卦限。 數(shù)學(xué)知識 本課題運(yùn)用了數(shù)學(xué)知識坐標(biāo)系統(tǒng) ——空間坐標(biāo)系和向量知識。 物理學(xué) 知識 本課題運(yùn)用了物理學(xué)中的拋物落體運(yùn)動的知識。就拿本課題來介紹,噴泉的模擬就是模擬噴泉的樣子,噴泉是一個(gè)拋物線 , 首先必須清楚噴泉中水滴是怎么運(yùn)動的,這就要用到物理學(xué)的知識了 ——初速度、運(yùn)動方向和所受到的力決定其運(yùn)動線路。 緒論 3 目前, 粒子系統(tǒng)還處于萌芽階段 ,很多技術(shù)不完善,還有很多的發(fā)展空間。另一方面是對現(xiàn)實(shí)的三維真實(shí)模擬具有一定的指導(dǎo)意義和使用意義。粒 子系統(tǒng)被公認(rèn)為是模擬自然景物中運(yùn)動模糊物體非常有效的一種圖形生成算法。所以計(jì)算機(jī)圖形學(xué)與另一門學(xué)科計(jì)算機(jī)輔助幾何設(shè)計(jì)有著密切的關(guān)系。在計(jì)算機(jī)圖形學(xué)緒論 2 不斷被人重視之際,自己也慢慢的對圖形學(xué)產(chǎn)生了巨大的興趣,并且希望自己在研究生階段也能從事計(jì)算機(jī)圖形學(xué)方面的學(xué)習(xí)與研究。 粒子系統(tǒng)應(yīng)用的關(guān)鍵在于如何描述粒子的運(yùn)動軌跡,也就是構(gòu)造粒子的運(yùn)動函數(shù)。粒子系統(tǒng)是一個(gè)有“生命”的系統(tǒng),因此 不像 傳統(tǒng)方法那樣只能生成瞬時(shí)靜態(tài)的景物畫面,而是可以產(chǎn)生一系列運(yùn)動進(jìn)化的畫面,這使得模擬動態(tài)的自然景物成為可能 [1]。不怕做不到,就怕想不到。 OpenGL。該方式模擬噴泉比較真實(shí),速度快,在普通的微機(jī)上可以得到令人滿意的效果。 該噴泉系統(tǒng)的實(shí)現(xiàn)一方面是基于粒子系統(tǒng)的介紹過程,通過不同角度來觀察噴泉,展現(xiàn)出不同的景觀。 模擬自然景物的方法 一般 有兩種 : 一種是基于物理建模技術(shù)的方法;另一種是采用粒子系統(tǒng)建模的方法。 2020 屆本科畢業(yè)論文 基于粒子系統(tǒng)三維噴泉實(shí)現(xiàn) 系 院:計(jì)算機(jī)科學(xué)系 學(xué)生姓名:徐 偉
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1