原创 遊戲開發中的數學和物理算法(10):矢量 vs 標量

遊戲開發中的數學和物理算法(10):矢量 vs 標量 1.標量 標量只有大小沒有方向。 2.矢量 矢量既有大小又有方向。 3.常用舉例: 物理上常用的矢量與標量的對應概念有:速度和速率;距離和位移等。如圖: 距離:

原创 遊戲開發中的數學和物理算法(14):矩陣的相等和轉置

矩陣通常在遊戲處理表示有行和列的數據。 只有一行的矩陣,我們可以將其看成一個矢量。 數學表示:如圖 在計算機中的表示: 矩陣的定義: 矩陣的在計算機中通常有一個二維數組來表示。下面是一個三行三列的矩陣。 struct 

原创 遊戲開發中的數學和物理算法(9):三角代數

三角代數裏的公式推理思路都是通過單位圓來完成的。在單位圓中有x2+y2=1。下圖爲一單位圓: 推論出的公式: cos2a + sin2a = 1 sin(–a) = –sina cos(–a) = cosa tan(–a)

原创 遊戲開發中的數學和物理算法(5):圓(2D)和球(3D)

1.圓(2D)圓的兩個關鍵因素:圓心和半徑。 公式: (x–h)2 + (y–k)2 = r2  圓心爲(h,k)  半徑爲r.舉例:圓心爲(1,2),半徑爲2的圓。 計算機中的實現: 定義一個圓: struct ci

原创 遊戲開發中的數學和物理算法(6):圓和球的碰撞檢測

1.圓的碰撞檢測 圓的碰撞條件: 當兩個圓相切或者相交時,我們認爲兩個圓應該開始發生碰撞。 數學表示: 計算機中的實現: 兩圓之間的碰撞: bool CollisionBetweenCircles(circle c1,

原创 向量幾何在遊戲編程中的使用3-2-D邊界碰撞檢測

<3>2-D邊界碰撞檢測 -Twinsen編寫 -本人水平有限,疏忽錯誤在所難免,還請各位數學高手、編程高手不吝賜教 -我的Email-address: [email protected] 一、使用向量進行障礙檢測的原理 上次說了

原创 遊戲開發中的數學和物理算法(4):拋物線

拋物線 如果你投擲一個鉛球或者踢足球,它們將做一個拋物線運動。因爲它們總是受一個垂直於地面的重力加速度g的作用。下圖爲四個方向上的拋物線。 公式:垂直軸向上的拋物線:y=a(x–h)2+k, 頂點爲(h,k),關於x=h對

原创 遊戲開發中的數學和物理算法(15):矩陣的加減法

遊戲開發中的數學和物理算法(15):矩陣的加減法 矩陣加法數學表示 矩陣減法數學表示: 計算機中矩陣加法的實現: 矩陣加法: Matrix3X3 addMatrices(Matrix3X3 a, Matrix3X3 b) {

原创 遊戲開發中的數學和物理算法(11):極座標 vs 笛卡爾座標

遊戲開發中的數學和物理算法(11):極座標 vs 笛卡爾座標 在1D的系統中利用正負去表示矢量是足夠的,但是在2D和3D的系統中利用正負去表示矢量就不是很足夠了。但是如果用極座標系統去表示的話,就會比較直觀。 極座標表示矢量:矢

原创 遊戲開發中的數學和物理算法(12):矢量的加減法

遊戲開發中的數學和物理算法(12):矢量的加減法 一個矢量,它的幾何圖形的表示爲一個帶箭頭的線段,線段大小爲矢量的大小(矢量的模),箭頭的方向爲矢量的方向。如圖: 矢量的可以用平行四邊形法則來進行計算。如下圖,虛線表示的B和實線表示的

原创 遊戲開發中的數學和物理算法(16):矩陣的乘法

遊戲開發中的數學和物理算法(16):矩陣的乘法 矩陣數乘數學形式: 計算機中矩陣數乘的實現: 矩陣數乘 Matrix3X3 scalarMultiply(Matrix3X3 a, float scale) { Matrix

原创 遊戲開發中的數學和物理算法(7):角度 vs 弧度

我們通常使用的笛卡爾座標系統,角點通常在(0,0),即原點。初始邊在x軸正半軸,終邊與初始邊成夾角。初始邊逆時針旋轉爲正值,順時針旋轉爲逆值。   數學表示:角度:degree=radian*180/π 弧度:radian=deg

原创 遊戲開發中的數學和物理算法(17):平移

遊戲開發中的數學和物理算法(17):平移 點的平移,可以通過矩陣相加和相乘來模擬。 2D加法平移: 例如:點A(20,30),向右移50個像素,向下移100個像素,得到A'。 那麼A'(70,-70)。 3D加法平移:

原创 遊戲開發中的數學和物理算法(13):點積和叉積

遊戲開發中的數學和物理算法(13):點積和叉積 代數中的乘法應稱爲數乘,比如2×3=6,2·3=6。但是在幾何中2·3爲點積,2×3爲叉積。 1.點積 A·B=|A| |B| cosq 2D:定義矢量A[a1,a2],矢量B[

原创 向量幾何在遊戲編程中的使用4 - 2-D物體間的碰撞響應

<4>2-D物體間的碰撞響應-Twinsen編寫 -本人水平有限,疏忽錯誤在所難免,還請各位數學高手、編程高手不吝賜教 -我的Email-address: [email protected]   這次我要分析兩個球體之間的碰撞響應,