最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一文讀懂矢量運(yùn)算

2023-03-23 00:37 作者:CarelessWP  | 我要投稿

在游戲編程或者傳統(tǒng)三維軟件中,點(diǎn)和矢量是特別容易混淆的,因?yàn)樗鼈兊谋硎痉椒ǘ家粯印1热缫粋€點(diǎn)P,它的坐標(biāo)表示為P=(x,y,z),但是矢量的表示方法也是如此,那它們到底有什么區(qū)別呢?

點(diǎn)表示的是空間中的一個位置,它沒有方向、大小、長度這類的概念。

矢量是一段包含了長度(又叫做模)和方向的有向線段,它也經(jīng)常被稱為向量。我們常說的速度,就是一種典型的矢量。

與矢量形成對比的,叫做標(biāo)量。標(biāo)量是一種只有長度、沒有方向的數(shù)學(xué)概念。生活中常提到的距離,它其實(shí)就是一種標(biāo)量。

在這里,我們主要了解矢量,因?yàn)樗灤┯谟螒蚓幊痰氖冀K。對于矢量來說,只有它的模和方向保持不變,無論放在任何位置,都是同一個矢量。比如說下面的矢量a 和 矢量b,盡管它們在坐標(biāo)系中的位置不同,但是它們的模和方向都是相同的,因此,它們是同一個矢量。矢量通常被用于表示相對于某個點(diǎn)的偏移。

矢量可以和矢量做運(yùn)算,也可以和標(biāo)量做運(yùn)算。

矢量和標(biāo)量的乘/除法


矢量和標(biāo)量的運(yùn)算比較簡單,它們之間只能做乘除法,不能做加減法。矢量和標(biāo)量相乘,只需要矢量的每個分量和標(biāo)量相乘即可,而矢量除以標(biāo)量,相當(dāng)于乘以標(biāo)量的倒數(shù)。

從幾何意義來看,矢量乘以一個正標(biāo)量k,相當(dāng)于將矢量擴(kuò)大了k倍,方向不變;而乘以一個負(fù)標(biāo)量,矢量不僅擴(kuò)大了|k|倍,方向也會取反。

矢量的加/減法


兩個矢量相加減,只需要將每個矢量的對應(yīng)分量相加減即可,最后的結(jié)果是得到一個新矢量。

矢量的加減法,它表達(dá)的是偏移的幾何意義。

以加法為例,矢量a + 矢量b,它表示的是:一個點(diǎn),從a的起始位置出發(fā),便偏移了a,接著又偏移了b,就等同于進(jìn)行了一個a+b的位移。這里的矢量a、b,它們的首尾是相連的。

如果a、b首尾不相連,就變成了減法,a-b,表示的是a相對于b的偏移。

矢量的點(diǎn)積


矢量之間也可以進(jìn)行乘法,通常有兩種類型:點(diǎn)積和叉積。先來說說點(diǎn)積。

矢量的點(diǎn)積有兩種公式,第一種是矢量之間對應(yīng)分量的乘積之和,也就是:

從公式可以看出,點(diǎn)積是滿足乘法交換律的,也就是a*b = b*a

點(diǎn)積可以用來判斷兩個矢量之間的方向夾角關(guān)系。

如果 a * b > 0,說明a和b是銳角關(guān)系;

如果 a * b = 0,說明a和b是直角關(guān)系;

如果 a * b < 0,說明a和b是鈍角關(guān)系;

在游戲編程中,也通常使用點(diǎn)積來計算投影,這和求矢量方向夾角是同一個道理。

另外,點(diǎn)積可以和標(biāo)量進(jìn)行乘法運(yùn)算,并且符合乘法的結(jié)合律。

點(diǎn)積還可以結(jié)合矢量加法做運(yùn)算,相當(dāng)于求點(diǎn)積之和。

一個矢量和本身進(jìn)行點(diǎn)積,結(jié)果是這個矢量模的平方。

這里有說到矢量的模,它的求法等于矢量各分量的平方和開根號,即:

另外,模為1的矢量,被稱為單位矢量,也叫做歸一化矢量。

矢量的第二種公式是:

矢量的叉積


矢量的另一種乘法運(yùn)算叫做叉積,和點(diǎn)積不同的是,叉積的結(jié)果仍然是一個矢量,而非標(biāo)量。

兩個矢量的叉積用a X b來表示,這個x號不同于數(shù)學(xué)的乘號,這點(diǎn)不要混淆。叉積計算也有兩種公式,第一種是:

叉積不滿足交換律,即 a X b ≠ b X a,但它滿足反交換律,即a X b = -( b X a)

叉積也不滿足結(jié)合律,即 (a X b) X c ≠ a X (b X c)

從幾何意義來講,兩個矢量叉積的結(jié)果,會得到一個同時垂直于這兩個矢量的新矢量,這個新矢量的模很好計算,既可以通過模公式來得到,也可以通過矢量a、b以及他們之間的夾角θ來得到

對于新矢量的方向,它可能存在兩個完全相反的方向,要確定具體哪個方向,就要看使用的左手坐標(biāo)系還是右手坐標(biāo)系。

要求a X b 新矢量的方向,如果是左手坐標(biāo)系,伸直左手拇指微握其他四指,指背與矢量a方向垂直,四指彎曲方向朝矢量b靠攏,這是拇指指向的方向,就是新矢量的方向。

同樣地,如果是右手坐標(biāo)系,則伸出右手按照同樣的法則來判斷方向。

叉積在游戲編程中,經(jīng)常用于計算垂直于一個平面、三角形的矢量。另外,還可以用于判斷三角面片的朝向。


一文讀懂矢量運(yùn)算的評論 (共 條)

分享到微博請遵守國家法律
沁阳市| 荆州市| 九台市| 大邑县| 崇文区| 台东市| 崇信县| 凌源市| 夏河县| 屏山县| 吴旗县| 隆昌县| 新宁县| 巴彦淖尔市| 柘城县| 贡嘎县| 定南县| 望都县| 武宣县| 和林格尔县| 兴宁市| 页游| 淮滨县| 北碚区| 建阳市| 商水县| 东平县| 沅陵县| 刚察县| 萝北县| 重庆市| 阿坝县| 太白县| 龙海市| 桦川县| 定日县| 祥云县| 赣州市| 旅游| 治县。| 邹平县|