遊戲人工智慧程式設計學習筆記一

2020-10-15 15:00:36

1.數學知識

1.1笛卡爾座標系

在二維空間下,笛卡爾座標系可以被定義成兩個座標軸成直角相交併且用單位長度標出。水平軸稱為x軸,垂直軸稱為y軸,兩個軸。

如果要表達三維空間,需要增加一個座標軸-z軸,z軸從螢幕的後面延伸到你的頭的後方,在途中穿過原點。

1.2函數和方程

如果x的每一個值都可以與y的一個值相關聯,那麼y就是一個關於x的函數。y稱為因變數,x稱為自變數。

例如:y = m * x + c

其中m和c叫做係數(不因自變數的變化而變化)

1.3三角學

1、射線和線段

射線:只有一個端點,另一端無限延伸。

線段:擁有兩個端點。

2、角

弧度與角度的換算:360° = 2Π弧度

3、三角形

計算兩點距離:可以使用畢達哥拉斯定理

即一個直角三角形直角所對應的斜邊的平方等於其他兩個邊的平方和

通過直角三角形一條邊的長度和其餘兩個角中的一個角的度數,可以使用三角函數計算該三角形的其他成分

α為角度

sin(α) = 對邊/斜邊

cos(α) = 鄰邊/斜邊

tan(α) = 對邊/鄰邊

4、向量

在一個笛卡爾平面上的一個點可以用兩個數來表達:P = (x,y)

二維向量的形式類似 μ = (x,y) ,向量具有方向和大小兩個性質

向量計算

加減:(x1,y1) + (x2,y2) = (x1 + x2, y1 + y2) (減直接把加號改為減號)

數乘:a*(x1,y1) = (a * x1,a * y1)

大小:可使用畢達哥拉斯定理計算,即對各個分量的平方和開根

歸一化:使用向量的模(大小)除向量的每個分量

點乘:μ * v = μx* vx + μy * vy = 模的乘積 * cos(向量夾角)

使用點乘可以很好的判斷目標在自己的前面還是後面,自己朝向的向量和自己到目標的向量點乘,值為正數,則目標在前面;值為負數,則目標在後面

使用點乘還能很容易的計算向量間的夾角,如果是歸一化的兩個向量,點乘直接就是向量夾角的餘弦值

在這裡插入圖片描述

5、空間

世界空間代表的是你在螢幕上看到的渲染的東西。原點和軸的方向都是固定的

區域性空間用來描述物件相對於指定實體的區域性座標系統的位置和方向,原點會跟隨實體移動,方向也會隨著實體的轉動而改變