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

正文內(nèi)容

基于opengl與粒子系統(tǒng)的瀑布場景模擬(文件)

2024-12-25 21:56 上一頁面

下一頁面
 

【正文】 .... 22 系統(tǒng)結(jié)果與分析 .............................................................................................................. 22 旋轉(zhuǎn)時不同光照效果分析 .................................................................................... 22 文字顯示 ................................................................................................................ 23 水流控制 ................................................................................................................ 24 霧化效果 ................................................................................................................ 25 結(jié)論 ............................................................................................................................................... 26 謝辭 ............................................................................................................................................... 28 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 1 第 1 章 緒論 課題背景 1983 年,粒子系統(tǒng)首先由 Reeves 提出 [1]。然后通過粒子系統(tǒng)的實現(xiàn)原理,對粒子定義屬性,采用二次曲面構(gòu)造出一個球體并進行紋理貼圖以及色彩融合。由于粒子系統(tǒng)的特殊、微小特征,可以模擬很多不規(guī)則形狀物體,不規(guī)則運動等等,這正好符合大自然很多事物的隨意性,無規(guī)律性。 論文作者簽名: 指導(dǎo)教師簽名: 日期: I 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 摘要 隨著計算機科學(xué)技術(shù)的迅猛發(fā)展,計算機圖形學(xué)模擬大自然場景也成為一個新的熱點研究課題。文中引用他人研究成果的部分已在標注中說明;其他同志對本設(shè)計(論文)的啟發(fā)和貢獻均已在謝辭中體現(xiàn);其它內(nèi)容及成果為本人獨立完成。特此聲明。也隨著關(guān)注度日益高漲,計算機圖形學(xué)漸漸走進了人們的視野。 本文基于 OpenGL 與粒子系統(tǒng)進行一個瀑布場景的模擬。接下來,通過 OpenGL 中的相關(guān)函數(shù),為瀑布場景的逼真,增添一些多角度旋轉(zhuǎn)、鼠標移動、霧化、顏色變換、音樂播放、文字顯示等功能。粒子系統(tǒng)使用十分簡單的題材來構(gòu)造復(fù)雜的、不規(guī)則的、模糊的、動態(tài)的事物。 除此之外,還有很多用粒子系統(tǒng)做的成功場景模擬的粒子。 近幾年來,粒子系統(tǒng)不斷發(fā)展、改進。文獻提出節(jié)日焰火粒子系統(tǒng)的繪制算法 [4]。 OpenGL 的粒子系統(tǒng)能夠逼真的模擬雨雪、爆炸、煙火、噴泉、落葉、海浪、浮云等等自然景象?;?OpenGL 的多視口操作與色彩融合技術(shù),利用粒子系統(tǒng),可以實現(xiàn)在大型場 景中的漫游效果。此外還加入了音樂、光照、霧化、文字等效果來增加場景的真實感。 福州大學(xué) 至誠 學(xué)院 本科生畢業(yè)設(shè)計 (論文 ) 2 研究內(nèi)容 粒子系統(tǒng),顧名思義,是由無數(shù)微小的粒子組成的系統(tǒng)。 本文通過 OpenGL 原理與粒子系統(tǒng),實現(xiàn)了一個簡 單瀑布場景模擬。 第 2章介紹了 OpenGL技術(shù)、基本操作、開發(fā)庫、基本函數(shù)及應(yīng)用環(huán)境。 第 4章描述了瀑布場景模擬實現(xiàn)過程,重要代碼解析。 1997年, SGI公司和微軟公司 OpenGL放入了 Windows2020中, VC++集成了 OpenGL圖形標準,使其在計算機三維圖形領(lǐng)域得到了廣泛的推廣應(yīng)用。實用函數(shù)庫是比核心庫更高一層的函數(shù)庫,它包括四十多個函數(shù),這些函數(shù)前綴都為”glu”。 紋理映射 OpenGL 可以在軟件如游戲顯示界面里,生成各種物體。對紋理映射的算法進行分類 [9]。 加入一個參數(shù) Alpha,用于指定每種顏色混合之后的特殊效果,如半透明效果等等。 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 5 粒子系統(tǒng)實現(xiàn)步驟技術(shù) 首先,先確定粒子的中心位置及粒子大小。例如由空間上的的某個位置的粒子源產(chǎn)生。 (4) 繪制粒子:粒子系統(tǒng)繪制出粒子,實現(xiàn)需要的視覺效果。 粒子系統(tǒng)中的每個粒子都具有一組特定的屬性,包括速度的大小、方向、初始位置等。速度豎直方向上的速度根據(jù)物理公式: tg ???? 初始VV 公式( 31) 做拋物線運動時水平方向上速度根據(jù)物理公式: t??? 初始VV 公式( 32) 水平方向位移公式: tco s ???? ?VS水平 公式( 33) 豎直方向位移公式: 2tg21tc os ???????? ?VS 豎直 公式( 34) 本文中瀑布的運動軌跡為先進行一段直線運動,碰到崖壁后反向彈起,最后做一個拋物線運動,到達底部時粒子消亡。實際應(yīng)用中,也有其他方法來判斷粒子的消亡。至于用哪種方法,主要在于模型的不同而不同。 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 9 第 4 章 瀑布模擬系統(tǒng)的實現(xiàn) 瀑布模型實現(xiàn) 瀑布粒子屬性定義及初始化 首先,給定一個總的粒子數(shù)量,每次更新粒子數(shù)量。如下為瀑布粒子系統(tǒng)屬性定義及初始化: define HOWMANY 1000000 //總的例子數(shù) int ToUpdate= 600 。 // x 方向位置初始化 particles[i][1] = tweak(1.)。 // y 方向速度更新 particles[i][5] = 0.。其中, particles[i][6] ,是一個標記,專門為粒子是否觸碰到崖壁做記號,起初設(shè)置 為 1,表示沒有,如果碰到就記為 1。amp。 } } for (j=0。 } } } 瀑布粒子運動、更新、消亡實現(xiàn) 粒子在時間和位置上進行更新,只有有效的、活躍的粒子才進行判斷,粒子是否落下超過視野范圍,是的就消失。相反,如果粒子已經(jīng)運動基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 11 到崖壁,那么根據(jù)函數(shù)更新水平方向速度,位置,顛倒豎直方向速度,更新豎直方向速度及位置。 //改變豎直位置 } Else //粒子是否撞擊到壁上,做標記 { if (particles[i][6] 2.) { particles[i][6] = 2.。 // 更新水平位置 particles[i][5] += GRAV*DELTA_T。首先給定水粒子坐標,再對水珠半徑進行給定。 float d = 。 z = particles[i][2]。 //貼第 0 張圖片 gluSphere(myQuad,d,3,2)。這是本文在初始狀態(tài)給定的照相機位置坐標,根據(jù)不同的需要,旋轉(zhuǎn)按照每次增加一定數(shù)值進行改變,其中為了視覺效果,當(dāng)旋轉(zhuǎn)到一定位置,本文有給予暫停在某一位置不再旋轉(zhuǎn)。){ //向 y 軸正方向旋 轉(zhuǎn) camYaw += .1。) //向 y 軸負方向旋轉(zhuǎn) { camYaw = .1。){ //向 x 軸正方向旋轉(zhuǎn) 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 13 camPitch += .1。) //向 x 軸負方向旋轉(zhuǎn) { camPitch = .1。){ //向 z 軸正方向旋轉(zhuǎn) camRadius += .3。 if(camRadius ) camRadius = 。當(dāng)按下鍵盤 c鍵時,調(diào)用函數(shù),實現(xiàn)霧化效果。c39。表示沒有。r39。) //第二句介紹 { second_line = !second_line 。l39。 } 返回背景音樂 由于背景音樂是打開時自動播放的,但如果播放完古詩朗誦沒有進行任何操作,不會基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 15 自動跳回背景音樂,而是不斷循環(huán)古詩音樂,所以,本文特意加入此操作。) { InitFMOD1()。 u 為增加水流量, d 為減少水流量。) //增加瀑布單位時間更新粒子數(shù) { ToUpdate= ToUpdate+50 。 if(ToUpdate0) ToUpdate=50。涉及到鼠標有兩種狀態(tài),一種是按下,一種是未按下兩下狀態(tài),所以,本文對是否按下鼠標并按下左還是右鍵給予判斷。 if(state == GLUT_DOWN) mdown = 1。 // y 坐標移動 的范圍在 0~ 之間 if(camYaw ) camYaw = +camYaw。 else if(camPitch ) camPitch = 。 my = y。 FSOUND_STREAM *mp3back。 // 釋放文件 } } for ( i = 0。 // 初始化音頻文件 FSOUND_Stream_Play(FSOUND_FREE,mp3back)。以下是代碼實現(xiàn)部分:, if(show_FOG){ glFogi(GL_FOG_MODE, GL_LINEAR)。 // 霧的渲染方式 glFogf(GL_FOG_START, )。 //關(guān)閉霧化 } glutSwapBuffers()。接著,要將混合字符轉(zhuǎn)化為寬字符。以下是代碼實現(xiàn)部分: void drawCNString( const char * str ) //顯示文字 基于 OpenGL 與粒子系統(tǒng)的瀑布場景模擬 19 { int len=0, i=0。 for( i=0。 len++。\039。 glCallList( list )。 HFONT hOldFont = (HFONT)SelectObject(wglGetCurrentDC(),hFont)。 //文字位置 drawCNString( 日照香爐生紫煙,遙看瀑布掛前川。 //文字位置 drawCNString( 飛流直下三千尺,疑是銀河落九天。光照模型分為環(huán)境光、漫反射光、鏡面光、反射光四種。開啟深度測試,是為了不擋住背后的光線。 // 白燈 GLfloat amb_color0[]={ , , , }。 // 環(huán)境光給黑色完全透明 GLfloat light_pos2[]={ , , , }。 //添加光照的球體 glClearColor( , , , )。 //指定第二張貼圖位置 glEnable(GL_TEXTURE_2D)。 //經(jīng)過很多次反射后最終遺留在環(huán)境中的光線強度 glLightfv(GL_LIGHT0, GL_SPECULAR, light_col0 )。 glLightfv(GL_LIGHT1, GL_SPECULAR, light_col1 )。 glLightfv(GL_LIGHT2, GL_SPECULAR, light_col2 )。 // 開啟光照模型 glEnable(GL_LIGHT0)。 // 開啟深度測試 福州大學(xué) 至誠 學(xué)院 本科生畢業(yè)設(shè)計 (論文 ) 22 第 5 章 系統(tǒng)結(jié)果與分析 開發(fā)環(huán)境 本系統(tǒng)是利用普通手提電腦( 處理器, 內(nèi)存)在 Visual C++ 的開發(fā)環(huán)境下實現(xiàn)的。 文字顯示 圖 56古詩
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1