




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8-1遊戲相關數學公式8-2遊戲物理學8-3物件的碰撞處理8-4粒子系統簡介第8章數學與物理遊戲演算法
18-1遊戲相關數學公式第8章數學與物理遊戲演算法遊戲相關數學公式不管是在2D或者是3D的系統中,各位都有可能會使用到較複雜的數學來運算物體的運動與移動。在本節中筆者將會探討與距離相關的公式、三角函數、向量、矩陣會使用到的數學運算公式。2遊戲相關數學公式不管是在2D或者是3D的系統中,各位都有可兩點間距離的計算在2D系統裡,定義兩個點A和B,座標分別爲(x1,y1)與(x2,y2),而AB兩點之間的距離公式為x軸方向的座標差平方,再加上y軸方向的座標差平方後開根號,如下列公式所示:x=x2-x1y=y2-y1兩點距離==3兩點間距離的計算在2D系統裡,定義兩個點A和B,座標分別爲三角函數三角函數是一種角度與長度間的關係式,也經常會結合向量觀念,被應用在遊戲中物體間的碰撞或行進中物體與靜止物體的反彈運動。三角函數中共定義了六種函數:正弦函數、餘弦函數、正切函數、餘切函數、正割函數、餘割函數等六個函數。4三角函數三角函數是一種角度與長度間的關係式,也經常會結合向向量幾何簡介對程式設計師而言,遊戲場景的任何物體都必須在電腦的座標系中呈現。例如角色或物體移動軌跡,可能是屬於一種直線運動或曲線運動,而要能適當描述這些曲線運動,就必須藉助向量來呈現。其它遊戲中的物理行為或人工智慧,也可以看到向量表現的足跡。5向量幾何簡介對程式設計師而言,遊戲場景的任何物體都必須在電向量從幾何(Geometry)的觀點來看,向量是有方向性的線段。在三維空間中,向量以(a,b,c)表示,其中a、b、c分別表示向量在x、y、z軸的分量。6向量從幾何(Geometry)的觀點來看,向量是有方向性的線法向量在三度空間中,任意兩個向量可以構成一個平面,而與該平面垂直的向量則稱為法向量(NormalVector或Normal)。法向量的用途很多,除了拿來做背景面消除(Back-FaceCulling)的依據外,還有進行LOD(LevelOfDetail)運算,以及進行卡通描圖(CartoonRendering)或是製作物理引擎。7法向量在三度空間中,任意兩個向量可以構成一個平面,而與該平向量內積向量內積是一種力學與3D圖形學中很好用的工具。在3D圖形學裡,內積是屬於我們計算兩個向量之間角度的餘弦。8向量內積向量內積是一種力學與3D圖形學中很好用的工具。8向量的長度如何求得(1).2D系統定義一個定義向量V(x,y),則(2).3D系統定義向量V(x,y,z),則9向量的長度如何求得(1).2D系統9計算向量內積(1).2D系統先定義2D系統中兩個向量,向量A(x1,y1)及向量B(x2,y2)。其內積的公式如下列所示:A.B=(x1,y1).(x2,y2)=(x1x2+y1y2)(2).3D系統在3D圖形學裡,定義兩個空間向量,向量A(x1,y1,z1)及向量B(x2,y2,z2)。其內積的公式如下列所示:A.B=(x1,y1,z1).(x2,y2,z2)=(x1x2+y1y2+z1z2)10計算向量內積(1).2D系統10向量外積它是以v1與v2作爲輸入向量,並且求出返回向量c,而返回的向量c則會垂直於兩個輸入向量u與v。兩個空間向量u(u1,u2,u3)與v(v1,v2,v3)的向量外積(CrossProduct)的定義如下:u╳v=((u2v3-u3v2),-(u1v3-u3v1),(u1v2-u2v1))11向量外積它是以v1與v2作爲輸入向量,並且求出返回向量c,遊戲物理學不管是在哪一類的電玩遊戲,我們都看得到物理學被運用在其中的影子。例如賽車遊戲中,車輛橫行於馬路上的速度運算、或球類遊戲中,球對於地面的反應。當表現這些遊戲的效果時,如果沒有配合真實世界中的物理原理,可能會造成遊戲中不自然的表現,自然會降低遊戲的逼真性。12遊戲物理學不管是在哪一類的電玩遊戲,我們都看得到物理學被運等速度運動所謂的「速度」就是說單位時間內所改變距離的量。物體會移動,那這個物體一定是具有一個「速度」,速度是物體在各個方向上「速度分量」的合成。以一個在2D平面上移動的物體而言,假設它的移動速度為V,X軸方向上的速度分量為Vx,Y軸方向上的速度分量為Vy,那麼V與Vx、Vy間的關係如下圖所示:13等速度運動所謂的「速度」就是說單位時間內所改變距離的量。1加速度運動凡是物體移動時,其運動的速度或方向會隨著時間而改變,那麼該物體運動便是屬於加速度運動。加速度與速度的關係如下:V=Vo+At上面的公式中,A表示每一時間間隔加速度的量,t表物體運動從開始到要計算時間點為止所經過的時間間隔,Vo為物體原來所具有速度,而V則是由以上公式所計算出某一時間點物件的運動速度。14加速度運動凡是物體移動時,其運動的速度或方向會隨著時間而改動量動量就是物體移動時的量能。就是具有移動物體的特性,而這種特性會與物體的質量與速度有關係。動量=質量*速度當某個物體在以一定速率作運動,如果要想把它們停下來就必須要花費很大力量。例如要將一列以每小時2公里速度前進的火車停下來,這會比把每小時1000公里速度前進的子彈停下來還要困難許多,因為火車的質量會遠遠大於子彈的質量。
15動量動量就是物體移動時的量能。15「動量守恒定律」原則在物理學中的守恒指的是物體在一次運動後其能量的保持。這種能量是可以轉換,不過還是會一直存在,所以守恒定律的基本原則就是「能量不能無故産生,也不能被消滅」。動量守恒公式則會如下所示:M1V1=M2V2M1是第一個物件的質量。M2是第二個物件的質量。V1與V2是它們的相對速度。16「動量守恒定律」原則在物理學中的守恒指的是物體在一次運動後重力在大自然裡存在著一股很大的力量,這個力量可使得我們不會從地球上飄流到太空中,而且穩穩當當地站在地表上,這個力量稱為「重力」。在遊戲的虛擬空間裡,為了做到現實的真實感,也就在空間裡的所有物體上加上一個重力的單位。通常重力是一個向下的力量,當物體要往上飄的時候,重力則會依據物體的運行方向再加上一個往下的力。重力是一個在垂直方向(Y軸方向)、值大約為9.8m/sec、方向向下的加速度。17重力在大自然裡存在著一股很大的力量,這個力量可使得我們不會摩擦力摩擦力是一種作用於運動物體上的負向力。作用於運動物體上的結果,會產生一與物體運動方向相反的加速度,使得物體的運動越來越慢直到靜止不動為止。18摩擦力摩擦力是一種作用於運動物體上的負向力。18反射當物體在碰撞到牆壁的時候,會做出一個特定的反射動作。接下來再將物體運行的方向反射到這條法線的另一端上。19反射當物體在碰撞到牆壁的時候,會做出一個特定的反射動作。1物件的碰撞處理在遊戲世界裡,碰撞是一種最基本的演算法,其演算法又可以分成好幾種。例如,人物與敵人的碰撞、飛機與子彈的碰撞、或者是為了某些特殊的事件而所產生的碰撞等等。事實上,在遊戲中碰撞偵測的方式不只一種,有的碰撞偵測是以範圍來偵測碰撞、有的碰撞偵測是以顏色來偵測碰撞、有的碰撞偵測是以行進路線是否交叉來偵測碰撞等。20物件的碰撞處理在遊戲世界裡,碰撞是一種最基本的演算法,其演範圍偵測以範圍偵測碰撞的方法其實是最簡單且快速。不過在製作遊戲程式時,使用到非規則形狀圖形的情況相當地多。若是在允許範圍內,還是希望能夠以範圍偵測的方式來偵測物體是否碰撞,如此將會省掉許多計算的時間。21範圍偵測以範圍偵測碰撞的方法其實是最簡單且快速。21範圍偵測碰撞圖長和寬交集表示產生碰撞兩圓半徑交集表示產生碰撞22範圍偵測碰撞圖長和寬交集表示產生碰撞球面範圍偵測可以利用數學公式的「圓方程式」來求出不定數座標在球面的哪一個地方,其圓方程式的公式如下所示:若圓心為(h,k),半徑為r,則可得方程式「(x-h)2+(y-k)2=r2」例如有一個球面的圓心為(2,1),半徑為2,其圖方程式如下所示:(x-2)2+(y-1)2=22→(x-2)2+(y-1)2=4不定數座標以四角碰撞而言,它已經算碰撞到了,但是實際上它還未碰撞到球面。23球面範圍偵測可以利用數學公式的「圓方程式」來求出不定數座標顏色偵測顏色判斷的方式來偵測是否產生碰撞,其概念如下圖所示:前景圖車子移動暗圖24顏色偵測顏色判斷的方式來偵測是否產生碰撞,其概念如下圖所示行進路線偵測以行進路線來偵測是否碰撞的方式也不難,主要是偵測兩個移動的物體,或者是移動物體與平面是否發生碰撞。兩球行進路線交叉則可能產生碰撞球行進路線與平面交叉則可能產生碰撞25行進路線偵測以行進路線來偵測是否碰撞的方式也不難,主要是偵測粒子系統簡介可以在螢幕上表現出許多的特殊效果,例如火焰、火苗、瀑布、雪花飛舞等等。基本上,我們可以將粒子定義出四個基本的特性,說明如下:1.生成位置2.生命值3.速度與方向4.加速度26粒子系統簡介可以在螢幕上表現出許多的特殊效果,例如火焰、火生成位置這個特性是決定粒子開始的初始位置,在粒子系統裡。每一個粒子的生成位置可以在同一個地方,例如瀑布特效,亦可以在不同的地方,例如雪花特效。27生成位置這個特性是決定粒子開始的初始位置,在粒子系統裡。2生命值這個特性是決定粒子在特效系統內存在時間,每一個粒子的生命值都不固定,有的比較短、有的比較長。就如同火焰特殊一樣,有的火苗可以飄的較高較久、而有的火苗可以存活的時間就較為短暫。28生命值這個特性是決定粒子在特效系統內存在時間,每一個粒子的速度與方向每一個粒子同時也都存在有方向的運動軌跡,在粒子生成的時候,它也會有運動方向的特性,且有一個基本的飄移速度值。29速度與方向每一個粒子同時也都存在有方向的運動軌跡,在粒子生加速度其特性是讓每一個粒子看起來更加地逼真。就如同在大自然裡的定義一樣,一個物體從高處往下掉,在它還未到達地面之前,速度也就會越來越快,就稱為「加速度」。30加速度其特性是讓每一個粒子看起來更加地逼真。30雪花粒子雪花特效在粒子系統裡是受地心引力的影響比較沒這麼大,所以它會停留在空中的時間相對的也會較長,不過它所受的風力影響卻可以大大地改變其每一個粒子的運動方向。
31雪花粒子雪花特效在粒子系統裡是受地心引力的影響比較沒這麼大,煙火粒子粒子運動一個很好的例子是煙火的爆炸,當一顆煙火爆炸時,會產生無數的煙火碎片。每一個碎片就是一個粒子,每個粒子擁有各自的位置、水平初速度、垂直初速度、顏色與生命週期等,粒子的資訊描述越詳細,煙火的模擬就可以越逼真。32煙火粒子粒子運動一個很好的例子是煙火的爆炸,當一顆煙火爆炸粒子的資訊定義粒子是否存在就表示其是否燃燒殆盡。1structfireball2{3 intx; //火球所在的X座標4 inty; //火球所在的Y座標5 intvx; //火球水平方向的速度6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游法基本知识
- 七年级生物上册 3.3 绿色植物与生物圈水循环教学实录 (新版)新人教版
- 2024年新人教版七年级上册道德与法治教学课件 第二单元整体设计
- 二年级体育下册 2.28小游戏快快躲闪(校本:软排)教学实录
- 长跑广播稿范文
- Unit 1 Making friends Part B Lets talk(教学设计)-2024-2025学年人教PEP版(2024)英语三年级上册
- 腹腔镜疝气术后观察及护理
- 2024年新人教版七年级上册数学教学课件 5.2 解一元一次方程 第3课时 利用去括号解一元一次方程
- 防踩踏安全演练心得体会
- 住宅小区监控施工合同范例
- 2025年西安铁路职业技术学院单招职业技能测试题库学生专用
- pisa数学素养测试题及答案
- 2025年安徽电气工程职业技术学院单招职业技能考试题库汇编
- 2025年锡林郭勒职业学院单招职业技能测试题库汇编
- 2025年合肥财经职业学院单招职业适应性测试题库必考题
- 矿山化验室安全培训
- 清华大学告诉你普通人如何抓住DeepSeek红利
- 《法律职业伦理》课件-第四讲 律师职业伦理
- (2025)辅警招聘公安基础知识必刷题库及参考答案
- 人教版(2024)七年级下册英语Unit 5 Here and Now 单元教学设计(共6课时)
- 动态博弈模型构建-深度研究
评论
0/150
提交评论