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

正文內(nèi)容

基于opengl水波模擬_本科畢業(yè)論文(參考版)

2025-07-06 14:26本頁(yè)面
  

【正文】 擾動(dòng) 本文采用對(duì)網(wǎng)格點(diǎn)上的高度場(chǎng)進(jìn)行擾動(dòng)的方法來(lái)模擬不確定外界因素 . 為了適應(yīng)動(dòng)畫的需要 ,即保持前后兩幅圖之間的連續(xù)性 . 筆者認(rèn)為相連的幾幅圖的擾動(dòng)不應(yīng)該是獨(dú)立的 ,所加的擾動(dòng)應(yīng)該是時(shí)間 t 的連續(xù)函數(shù) . 因此 , 將原來(lái)的對(duì)單幅圖進(jìn)行擾動(dòng)推廣為所加的擾動(dòng)象粒子系統(tǒng)中的粒子一樣有自己的生存時(shí)間 ,在這段時(shí)間內(nèi) , 它由零慢慢增強(qiáng) , 再慢慢減弱至零 . 為簡(jiǎn)單起見 ,可采用線性函數(shù) . 這樣 ,擾動(dòng)表示為 ( h3, t3 ) , h3 為擾動(dòng)的大小 , t3 為生存時(shí)間 .具體的做法是 。下邊就是從其中截取的一幀畫面, 很逼真的再現(xiàn)了水波的產(chǎn)生過(guò)程。 posy if ((posxx)*(posxx) + (posyy)*(posyy) stonesize*stonesize) buf1[BACKWIDTH*posy+posx] = stoneweight。 ?? for (int posx=xstonesize。經(jīng)過(guò)多次實(shí)驗(yàn), n 的范圍取值在( 32~128)之間比較合適。而且擴(kuò)散的速度與范圍也是同激勵(lì)的能量大小與受力范圍有關(guān)的,我們可以通過(guò)在程序中人為的修改振幅緩沖區(qū) buf,來(lái)模擬外界的激勵(lì)比如雨點(diǎn)入水等。 k++。 //復(fù)制象素 for (int d=0。 pos1=*(i+yoff)+ depth*(j+xoff)。 continue。 continue。 continue。 continue。 yoff = buf1[kBACKWIDTH]buf1[k+BACKWIDTH]。 i { for (int j=0。 int k = BACKWIDTH。只能做線性的近似處理。根據(jù)光學(xué)有關(guān)知識(shí),我們所看到的水下的景物并非在觀察點(diǎn)的正下方,而是存在一定的偏移。 buf2 = ptmp。 } //交換前后兩時(shí)刻的能量緩沖區(qū) short *ptmp =buf1。 i { //能量的擴(kuò)散 buf2[i] = ((buf1[i1]+buf1[i+1]+buf1[iBACKWIDTH]+buf1[i+BACKWIDTH])1) buf2[i]。所以還要對(duì)波幅數(shù)據(jù)進(jìn)行衰減處理,讓每一個(gè)點(diǎn)在經(jīng)過(guò)一次運(yùn)算后,波幅按一定的比例衰減,衰減率經(jīng)筆者的實(shí)驗(yàn),取 1/32 比較合適,同時(shí)它也可以通過(guò)移位運(yùn)算很快的獲得。公式一代入系數(shù)可得到無(wú)阻尼狀態(tài)下的周圍四點(diǎn)對(duì)中心點(diǎn)的影響關(guān)系式: A0’= ( A1+A2+A3+A4) / 2 A0 推廣到水面任一點(diǎn):下一時(shí)刻任意一點(diǎn)的波幅等 于與該點(diǎn)緊鄰的前、后、左、右四點(diǎn)的波幅之和的一半與該點(diǎn)在上一時(shí)刻的波幅之差。在不考慮衰減的情況下波的能量守恒,即各點(diǎn)振幅之和守恒(能量通過(guò)振幅來(lái)體現(xiàn)),可以用 (42)表示: A0’+A1’+...+A n’ = A0+A1+...+An ( 42) 將 (41)代入 (42): ( 4a+b) A0+ ( 4a+b) A1+... ( 4a+b) An = A0+A1+...+An 18 化簡(jiǎn)可得 4a+b=1, 取 a = 1/ b = 1可以滿足條件。這樣我們就可以用歸納法來(lái)根據(jù)任一點(diǎn)在某時(shí)刻周圍四點(diǎn)的振幅來(lái)求出該點(diǎn)在下一時(shí)刻的震動(dòng)幅度。我們不能被現(xiàn)象所誤導(dǎo),實(shí)際上并非水面上的點(diǎn)在向外擴(kuò)散,而是仍停在原地上下移動(dòng),由于振動(dòng)幅度的變化而引起視覺上的錯(cuò)覺。在無(wú)外力干擾時(shí)的穩(wěn)定狀態(tài)下水面是一個(gè)平面,水面各點(diǎn)的波幅都為 0。考慮到普通微型計(jì)算機(jī)的運(yùn)算速度,不能用乘、除法,更不可以使用正、余弦函數(shù)以精確的公式來(lái)構(gòu)造水波,我們只能通過(guò)使用簡(jiǎn)單而高速的 加、減法的近似算法來(lái)實(shí)現(xiàn)。比如對(duì)于本文所仿真的對(duì)象 水波,就要對(duì)水波的諸多特性如擴(kuò)散性、衰減性、反射性以及水的折射等都要有所認(rèn)識(shí),并最終通過(guò)程序算法體現(xiàn)在程序中。 本文所采用的方法是第一種方法,也就是 sin 函數(shù),因?yàn)? sin 函數(shù)的數(shù)學(xué)模型比較簡(jiǎn)單,連續(xù)性和可微性比較好,但是 sin函數(shù)非常光滑,而海水表面并不是光滑的,尤其是在浪尖和浪底的時(shí)候出現(xiàn)尖銳處,我們應(yīng)用一些方法解 決了這個(gè)問(wèn)題,使得效果更佳 。 而且也已經(jīng)有很多種方法對(duì)其進(jìn)行仿真 。在忽略鼠標(biāo)不斷點(diǎn)擊水波使水波能量增加的影響(改影響在水波顯示技術(shù)中考慮)下,假設(shè)水波前后時(shí)刻總能量相等,編程時(shí),不斷地變化,交換兩個(gè)緩沖區(qū)中的數(shù)據(jù),結(jié)合上面的公式,便可得到水波的編程原理。記 F( x,y) 為 (x,y)坐標(biāo)的水波振幅且有正負(fù)之分,( x,y) 坐標(biāo)水波下一時(shí)刻的振幅 F~( x, y)將由當(dāng)前時(shí)刻的 F( x, y) . f(x1,y1). F(x1,y) .f(x1,y+1).f(x,y+1).f(x+1,y). f(x+1,y1) f(x+1,y1) 決定,假設(shè)F(x1,y1).f(x1,y). f(x1,y+1) f(x,y+1) f(x+1,y) f(x+1,y1) f(x+1,y1)和 f(x,y1)對(duì) f~(x,y)的影響相同則: F~(x,y)=a{f(x1,y1)+f(x1,y)+f(x1,y+1)+f(x,y+1)+f(x+1,y)+f(x+1,y1)+f(x+1,y+1)+f(x,y1)}/4f(x,y)次公式與以往水波公式相比,計(jì)算量大大減少,編程時(shí),用一個(gè) for循環(huán)就可以實(shí)現(xiàn)。(x)在 (a,b)可導(dǎo) .此即羅爾定理?xiàng)l件 ,由羅爾定理?xiàng)l件即證 ] 基本原理 建立區(qū)域采樣法水波數(shù)學(xué)模型 區(qū)域采樣時(shí)計(jì)算機(jī)圖形學(xué)中常用的方法,僅僅一片小區(qū)域的影響可以在保證效率的前提下得到較好的效果。(b a) 16 [證明 :把定理里面的 c換成 x在不定積分得原函數(shù) f(x)={[f(b)f(a)]/(ba)}助函數(shù) G(x)=f(x){f(b)f (a)]/(ba)}x 易 證 明 此 函 數(shù) 在 該 區(qū) 間 滿 足 條件 :1,G(a)=G(b)。 以某一起始時(shí)刻每個(gè)質(zhì)點(diǎn)的坐標(biāo)位置( a、 b、 c),作為該質(zhì)點(diǎn)的標(biāo)志。 游泳時(shí)一切制造推動(dòng)力的動(dòng)作,都應(yīng)是加速的才能不使水的流動(dòng)特性把動(dòng)力轉(zhuǎn)移,從而獲得推動(dòng)力。而大部被推動(dòng)水流會(huì)繞過(guò)手掌擋水面流向手的后面低壓區(qū)。水對(duì)外力的抗力與外力的速度成正比,如手劃水時(shí)速度越慢,被推向前方的水越多。游泳時(shí)一切動(dòng)作都將取決于水粘滯性形成的阻力作用,是運(yùn)動(dòng)環(huán)境力的重要因素。 水在靜止時(shí)各方向壓力平衡,粘滯性不顯示作用,當(dāng)受到外力大于水的內(nèi)聚力時(shí),水層壓力產(chǎn)生變化,原分子間的連結(jié)被沖散,由于相互吸引關(guān)系產(chǎn)生水層摩擦來(lái)對(duì)抗外力,直至外力被削弱,這個(gè)現(xiàn)象即是水的阻力過(guò)程。 秒 /米,空氣 =10 3牛頓 粘滯性 流體均有不可忽視的粘滯力,它產(chǎn)生于分子間相互吸引作用,在流體力學(xué)中稱為 “ 內(nèi)聚力 ” 。在很多情況下,特別是中等雷諾數(shù)的流動(dòng),可求出 NS 方程的數(shù)值解。對(duì)于低雷諾數(shù)流動(dòng),可全部地或部分地略去慣性項(xiàng),求得蠕動(dòng)流近似解。它和三維連續(xù)性方程一道組成不可壓縮粘性流動(dòng)完整方程組,附加一定的初始條件和邊界條件,從理論上講 ,就可以解出流速分布和壓強(qiáng)分布。 在某些情況下,合粘性力很小,可忽略不計(jì),于是 NS 方程簡(jiǎn)化為理想液體的歐拉方程。墷 )u 為指定瞬時(shí)由于空間位置改變而 15 引起的速度變化率 ,稱為遷移加速度 。墷為矢量微分算符; 為拉普拉斯算符。此方程是法國(guó)力學(xué)家、工程師 1821 年創(chuàng)立,經(jīng)英國(guó)物理學(xué)家 .斯托克斯于 1845 年改進(jìn)而確定的。 納維-斯托克斯方程 : 牛頓第二定律在不可壓縮粘性流動(dòng)中的表達(dá)式。 難以壓縮性 不同流體受溫度和壓力變化影響,其密度會(huì)有不同的改變,而水這種流體的變化則不明顯,水的壓縮性與澎漲性與空氣對(duì)比則很小。由于水的不可壓縮性,波峰中的水必然是從附近的波谷中流出來(lái)的。水波中,對(duì)水面質(zhì)點(diǎn)提供的回復(fù)力在波長(zhǎng)很小時(shí),表面 張力的作用是主要的,這種波叫做表面張力波。在平的情況下,水的表面是水平的。 5. 清理工作:(析構(gòu)函數(shù)中釋放 dc, rc 指針) void CMyRainView::OnDestroy() { CView::OnDestroy()。 glLoadIdentity()。 gluPerspective(45,ratio,1,1000)。 //在修改前重設(shè)坐標(biāo)系 glLoadIdentity()。 ASSERT(m_pDC != NULL)。 并 添加 WM_CREATE 消息處理函數(shù),然后在 OnCreate 函數(shù)中進(jìn)行調(diào)用: // TODO: Add your specialized creation code here Init()。 ②初始化創(chuàng)建 OpenGL RC: hrc = wglCreateContext(m_pDCGetSafeHdc())。 return FALSE。 } if (SetPixelFormat(m_pDCGetSafeHdc(), pixelformat, amp。pfd)) == 0 ) { MessageBox(ChoosePixelFormat failed)。 13 int pixelformat。選擇 View|ClassWizard 菜單項(xiàng) ,打開MFC對(duì)話框,在 Add Class 之中選擇 New,以便添加一個(gè)新類 COpenGL,且該類的基 類選擇 generic CWnd;最后利用 MFC ClassWizard 為 COpenGL 類添加消息 WM_CREATE, WM_PAINT 的映射。 ④添加 OpenGL 開發(fā)庫(kù)文件到項(xiàng)目 在編譯程序的時(shí)候選擇 Project|Setting 菜單,在 Link 標(biāo)簽中的 Object/library modules 編輯框中輸入“ , , , ”。 ② 將 , , , 拷貝到 Microsoft Visual Studio/VC98/Include/GL 目錄中中。選擇 File|New菜單項(xiàng),新建一個(gè)基于對(duì)話框的項(xiàng)目文件 MyDlgOpenGL; ② 修改對(duì)話框模 板。 應(yīng)用程序通過(guò)文檔模板類對(duì)象來(lái)管理上述對(duì)象(應(yīng)用程序?qū)ο蟆⑽臋n對(duì)象、主邊框窗口對(duì)象、文檔邊框窗口對(duì)象、視對(duì)象)的創(chuàng)建。 ( 6)文檔模板 文檔模板類一般不需要派生。 ( 5)視 12 視類從 CView 或它的派生類派生。 ( 4)文檔 文檔類從 CDocument 類派生,用來(lái)管理數(shù)據(jù),數(shù)據(jù)的變化、存取都是通過(guò)文檔實(shí)現(xiàn)的。 邊框窗口用來(lái)管 理文檔邊框窗口、視窗口、工具條、菜單、加速鍵等,協(xié)調(diào)半模式狀態(tài)(如上下文的幫助 (SHIFT+F1 模式 )和打印預(yù)覽)。 ( 2)邊框窗口 如果是 SDI 應(yīng)用程序,從 CFrameWnd 類派生邊框窗口類,邊框窗口的客戶子窗口 (MDIClient)直接包含視窗口;如果是 MDI 應(yīng)用程序,從 CMDIFrameWnd 類派生邊框窗口類,邊框窗口的客戶子窗口 (MDIClient)直接包含文檔邊框窗口。 ( 1)應(yīng)用程序 應(yīng)用程序類派生于 CWinApp。主框架窗口包含了視窗口、工具條和狀態(tài)欄。 對(duì) ODBC 功能的封裝 以少量的能提供與 ODBC 之間更高級(jí)接口的 C++類,封 裝了 ODBC API 的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫(kù)編程模式。 對(duì) COM/OLE 特性的封裝 OLE 建立在 COM 模型之上,由于支持 OLE 的應(yīng)用程序必須實(shí)現(xiàn)一系列的接口( Interface),因而相當(dāng)繁瑣。另外, MFC 提出了以文檔 視圖為中心的編程模式, MFC 類庫(kù)封裝了對(duì)它的支持。 對(duì)應(yīng)用程序概念的封裝 使用 SDK 編寫 Windows 應(yīng)用程序時(shí),總要定義窗口過(guò)程,登記 Windows Class,創(chuàng)建窗口,等等。 對(duì) Win32 應(yīng)用程序編程接口的封裝 用一個(gè) C++ Object來(lái)包裝一個(gè) Windows Object。 MFC 類庫(kù)是 C++類庫(kù)。 Microsoft Visual C++提供了相應(yīng)的工具來(lái)完成這個(gè)工作: AppWizard 可以用來(lái) 11 生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;ClassWizard 用來(lái)協(xié)助添加代碼到框架文件;最后,編譯,則通過(guò)類庫(kù)實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。 MFC 框架 一. MFC 概述 MFC 是一個(gè)編程框架 MFC (Microsoft Foundation Class Library) 中的各種類結(jié)合起來(lái)構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來(lái)建立 Windows 下的應(yīng)用程序,這是一種相對(duì)SDK 來(lái)說(shuō)更為簡(jiǎn)單的方法。 圍繞著寫算法,多年來(lái)發(fā)表了很多 論文,有些算法越來(lái)越完善,甚至實(shí)現(xiàn)了固化。 (9)三維形體的實(shí)時(shí)顯示和圖形的并行處理。 (7)模糊景物的生成。 (5)隱藏面和隱藏線的消除以及具有光照顏色效果的真是圖形顯示。 (3)圖元素(點(diǎn)、線、環(huán)、面、體)的求交與分類以及集合運(yùn)算。計(jì)算機(jī)圖形學(xué)設(shè)計(jì)的算法非常豐富,大致可分為以下幾類: (1)基本圖元素的生成算 法,如生成直線、圓弧、二次曲線、區(qū)域填色、反走樣等。 隨著計(jì)算機(jī)系統(tǒng)、圖形輸入、圖形輸出設(shè)備的發(fā)展,計(jì)算
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1