410 likes | 470 Vues
本 章 重 點. 10-1 常用數學運算公式 10-2 熟悉的物理常式. 10-1 常用數學運算公式. 內積是一種力學與 3D 圖形學中很好用的工具。在 3D 圖形學裡,內積是屬於我們計算兩個向量之間角度的餘弦,如下圖所示:. 2D 系統 定義一個向量 (x,y) ,其向量長度的計算公式如下列所示: 3D 系統 定義向量 (x,y,z) ,其向量長度的計算公式如下列所示:. 2D 系統 我們先定義兩個向量。向量 A(x1,y1) 及向量 B(x2,y2) 。其內積的公式如下列所示: 3D 系統
E N D
本 章 重 點 • 10-1 常用數學運算公式 • 10-2 熟悉的物理常式
10-1 常用數學運算公式 • 內積是一種力學與3D圖形學中很好用的工具。在3D圖形學裡,內積是屬於我們計算兩個向量之間角度的餘弦,如下圖所示:
2D系統 • 定義一個向量(x,y),其向量長度的計算公式如下列所示: • 3D系統 • 定義向量(x,y,z),其向量長度的計算公式如下列所示:
2D系統 • 我們先定義兩個向量。向量A(x1,y1)及向量B(x2,y2)。其內積的公式如下列所示: • 3D系統 • 定義兩個向量。向量A(x1,y1,z1)及向量B(x2,y2,z2)。 A*B=(x1,y1)*(x2,y2)=(x1*x2+y1*y2) A*B=(x1,y1,z1)*(x2,y2,z2)=(x1*x2+y1*y2+z1*z2)
夾角餘弦公式如下列所示: cos(θ)=(v1*v2)/(v1向量長度* v2向量長度)
叉積 • 在3D系統中,叉積與內積都是3D圖形學與力學的好助手,而且在各個的地方都有可能會使用到它。
叉積的計算 • 首先我們先定義兩個輸入向量v1(x1,y1,z1)與v2(x2,y2,z2),而輸出向量爲v3(x3,y3,z3)。其計算公式如下列所示: x3=(y1*z2)-(y2*z1) y3=(z1*x2)-(z2*x1) z3=(x1*y2)-(x2*y1)
叉積的用處 • 對於一個多邊形來說,同一個頂點的兩條邊就可以確定該多邊形所在的平面了。
四元數的好處 • 萬向節鎖是一種容易影響到歐拉角表現的現象,簡單的說,它意味著我們將在某些時候會失去角度上的自由性,而這都要歸咎於歐拉角必須要以球坐標的系統來表示。
兩點間距離 • 在2D系統裡,我們先定義兩個點A和B,它們的座標分別爲(x1,y1)與(x2,y2),而兩點之間的距離公式如下列所示: x=x2-x1 y=y2-y1 兩點距離=(x2+y2)^0.5
在3D系統裡,我們先定義兩個點A和B,它們的座標分別爲(x1,y1)與(x2,y2),而兩點之間的距離公式如下列所示:在3D系統裡,我們先定義兩個點A和B,它們的座標分別爲(x1,y1)與(x2,y2),而兩點之間的距離公式如下列所示: x=x2-x1 y=y2-y1 z=z2-z1 兩點距離=(x2+y2+z2) ^0.5
10-2 熟悉的物理常式 • 速度 • 就是單位時間內所改變距離的量。 • 在2D的環境中,假設某一個物體的座標位置為(x,y),而我們將它的速度常量設定成「α」,其速度的方程式將它寫成如下所示: x=x+α y=y+α
如果一直重覆不斷地執行上述的方程式,在2D的環境中,我們則可以看到這個物體向著某個方向前進了。如下圖所示:如果一直重覆不斷地執行上述的方程式,在2D的環境中,我們則可以看到這個物體向著某個方向前進了。如下圖所示:
如果這個速度常量為負值的話,物體則會以反方向的位置移動。如下圖所示:如果這個速度常量為負值的話,物體則會以反方向的位置移動。如下圖所示:
加速度 • 加速度是由速度所衍生出來的物理變量。它是單位時間內速度改變的速率 。
所以我們在物體加上等速度之前,先將速度加上一個加速度。如下列所示:所以我們在物體加上等速度之前,先將速度加上一個加速度。如下列所示: α=α+k x=x+α y=y+α
只要在物體的速度達到最高值、或是某一種條件成立之下,我們將原本累加的加速度值再慢慢遞減回來,如下列所示:只要在物體的速度達到最高值、或是某一種條件成立之下,我們將原本累加的加速度值再慢慢遞減回來,如下列所示: If go=True Then α=α+k Else α=α-k End If x=x+α y=y+α
動量 • 動量就是一種很難把某些東西停下來的量,簡單的說,它就是具有移動物體的特性,而這種特性會與物體的質量與速度有關係。 動量=質量X速度
如果有兩個物體撞在一起的時候,動量守恒公式則會如下列所示:如果有兩個物體撞在一起的時候,動量守恒公式則會如下列所示: M1V1=M2V2 M1是第一個物件的質量。 M2是第二個物件的質量。 V1與V2是它們相對速度。
重力 • 在大自然裡存在著一股很大的力量,這個力量可使得我們不會從地球上飄流到太空中,而且可以讓我們穩穩當當地站在地表上,這個力量我們稱之為「重力」。
將球由A地拋向B地的時候,因為球的運動方向與重力之關係,球的運動路線則會形成一個拋物線。如下圖所示:將球由A地拋向B地的時候,因為球的運動方向與重力之關係,球的運動路線則會形成一個拋物線。如下圖所示:
所謂的重力加速度簡單的說,它就是除了重力之外,物體在往下掉的過程中,它也會加入一個加速度的作用力。如下圖所示:所謂的重力加速度簡單的說,它就是除了重力之外,物體在往下掉的過程中,它也會加入一個加速度的作用力。如下圖所示:
我們在物體上加入一個重力的常量之後,就必須還要再加上一個加速度的常量,如下列所示:我們在物體上加入一個重力的常量之後,就必須還要再加上一個加速度的常量,如下列所示: x=x+α β=β+k y=y+M+β α為速度常量 M為重力常量 β為y值速度常量 k為β的加速度常量
爆炸 • 在遊戲中,有兩種表示方法來描述爆炸的效果,一種是屬於靜態的表現,利用美工圖素的變化來描述爆炸,美工人員必須畫出一張連續的爆炸圖以供遊戲中表現:
爆炸效果的運動過程中,一開始它是將各種塊狀物體在一瞬間由一個圓心向著外圍圓周的任意方向拓展,形成一個爆炸最初期的現象。如下圖所示:爆炸效果的運動過程中,一開始它是將各種塊狀物體在一瞬間由一個圓心向著外圍圓周的任意方向拓展,形成一個爆炸最初期的現象。如下圖所示:
角度 0。 90。 180。 270。 Sin 0 1 0 -1 Cos 1 0 -1 0 • 數學上三角函數的變化,如下表所示:
重力在空間中是一個向下的作用力,所以當我們在運動粒子的同時,就必須要再加上這一個向下的力量,如下圖所示:重力在空間中是一個向下的作用力,所以當我們在運動粒子的同時,就必須要再加上這一個向下的力量,如下圖所示:
折射 • 折射是一個光學反應的名詞,通常它是用來描述光線通過某種物體時所做出的反應,如下圖所示:
球碰撞到牆壁的時候,球的運作方向則會因為牆的平面而有所改變,如下圖所示:球碰撞到牆壁的時候,球的運作方向則會因為牆的平面而有所改變,如下圖所示:
當物體碰撞到牆壁之後,我們在物體運動方向與牆壁的交點上畫出一條垂直於牆壁的法線,如下圖所示:當物體碰撞到牆壁之後,我們在物體運動方向與牆壁的交點上畫出一條垂直於牆壁的法線,如下圖所示:
再將物體運行的方向映射到這條法線的另一端上,如下圖所示:再將物體運行的方向映射到這條法線的另一端上,如下圖所示:
以這個三角形來說,我們可以得到如下列所示的三角函數方程式:以這個三角形來說,我們可以得到如下列所示的三角函數方程式: tanθ=a/b=(y3-y1)/(x3-x1)
利用程式開發工具所提供的「asin」函數來求得θ角度,如下列所示:利用程式開發工具所提供的「asin」函數來求得θ角度,如下列所示: tanθ=a/b→θ=asin(a/b)=asin(〔(y3-y1)/(x3-x1)〕)