Unity 點乘及叉乘的幾何意義及運用

2021-09-29 19:26:39 字數 1350 閱讀 7114

1:點乘: 定義:a·b=|a|·|b|cos【注:粗體小寫字母表示向量,表示向量a,b的夾角,取值範圍為[0,180]】

注:看到公式,我們即可知道點乘過後得到的是乙個標量,而不是乙個向量。 而且可以通過這個去計算兩個點之間的夾角及方向;

unity專案中的應用

1:通過點乘,我們可以計算出兩個點之前的前後所屬位置,當a·b>0;角度值在0到90度之間,可想而知及b點在a點的前方,反之a·b<0;角度值在90到180度之間,可想而知b點在a點的後方

2:可以根據點乘計算兩個向量之間的夾角;= arccos(a·b / (|a|·|b|))

話不多說看**:

///

/// 點乘

///

///

///

private void testdot(transform a,transform b) 

else

float radians2 = mathf.acos(dotresult2);

float angle2 = radians2 * mathf.rad2deg;

debug.log("該兩個點的角度值為---------->" + angle2);

}2:叉乘:定義:c = a x b,其中a b c均為向量

幾何意義是:得到乙個與這兩個向量都垂直的向量

性質1:c⊥a,c⊥b,即向量c與向量a,b所在平面垂直

性質2:模長|c| = |a||b| sin

unity專案中的應用:

1.根據叉乘得到a,b向量的相對位置,和順時針或逆時針方位。

簡單的說: 點乘判斷角度,叉乘判斷方向。

形象的說: 當乙個敵人在你身後的時候,叉乘可以判斷你是往左轉還是往右轉更好的轉向敵人,點乘得到你當前的面朝向的方向和你到敵人的方向的所成的角度大小。

///

/// 叉乘

///

private void testcross(transform a, transform b) 

else

}

向量點乘與向量叉乘的幾何意義

向量點乘公式為 a b a b cos 點乘的結果是是標量,點乘也被稱為內積,是a向量在b向量上投影的長度與b向量的長度的乘積,反映了兩個向量之間的相似度,兩向量越相似,它們的點積就越大。表徵或計算兩個向量之間的夾角 b向量在a向量方向上的投影 判斷兩個向量是否同一方向或正交 即垂直 等方向關係,具...

unity 點乘叉乘

點乘 也叫內積 a b a b 表示向量a在向量b上的對映長度,是乙個標量,如果是正的,則ab向量角度小於90,如果a b 0 則ab向量夾角大於90度。滿足乘法交換律,即 a b b a。注 有兩個向量 a x1,y1,z1 b x2,y2,z2 a b x1 x2 y1 y2 z1 z2 叉乘 ...

unity基礎 點乘和叉乘

1 點乘 定義 a b a b cos 幾何意義 一條邊向另一條邊的投影乘以另一條邊的長度 運算 x1 x2 y1 y2 z1 z2.結果是乙個標量不是乙個變數。應用 1 根據點乘計算兩個向量的夾角 2 根據點乘的結果得到夾角的大小範圍,判斷某乙個角色是在鏡頭前還是鏡頭後。如果點乘結果 0 表示夾角...