Unity 數(shù)學(xué)

Unity3D中, Vector3.Dot 表示求兩個(gè)向量的點(diǎn)積; Vector3.Cross 表示求兩個(gè)向量的叉積。

點(diǎn)積計(jì)算的結(jié)果為數(shù)值,而叉積計(jì)算的結(jié)果為向量零如。兩者要注意區(qū)別開來。

在幾何數(shù)學(xué)中:

1.點(diǎn)積

點(diǎn)積的計(jì)算方式為:??a·b=|a|·|b|cos??其中|a|和|b|表示向量的模锄弱,表示兩個(gè)向量的夾角考蕾。另外在?點(diǎn)積?中,和 夾角是不分順序的棵癣。

所以通過點(diǎn)積辕翰,我們其實(shí)是可以計(jì)算兩個(gè)向量的夾角的。

另外通過點(diǎn)積的計(jì)算我們可以簡單粗略的判斷當(dāng)前物體是否朝向另外一個(gè)物體: 只需要計(jì)算當(dāng)前物體的transform.forward向量與 (otherObj.transform.position – transform.position)的點(diǎn)積即可狈谊, 大于0則面對,否則則背對著。當(dāng)然這個(gè)計(jì)算也會(huì)有一點(diǎn)誤差河劝,但大致夠用壁榕。

2.叉積

叉積的定義:?c =a x b??其中a,b,c均為向量。即兩個(gè)向量的叉積得到的還是向量赎瞎!

性質(zhì)1:?c⊥a牌里,c⊥b,即向量c垂直與向量a,b所在的平面?务甥。

性質(zhì)2:?模長|c|=|a||b|sin

性質(zhì)3:?滿足右手法則?牡辽。從這點(diǎn)我們有axb ≠ bxa,而axb = – bxa敞临。所以我們可以使用叉積的正負(fù)值來判斷向量a态辛,b的相對位置,即向量b是處于向量a的順時(shí)針方向還是逆時(shí)針方向挺尿。

根據(jù)上面的性質(zhì)2奏黑,我們也同樣的可以計(jì)算出兩個(gè)向量的夾角。

下面是示例代碼:

usingUnityEngine;usingSystem.Collections;publicclassMainScript : MonoBehaviour

{//向量aprivateVector3 a;//向量bprivateVector3 b;voidStart ()

{//向量的初始化a =newVector3 (1,2,1);

b=newVector3 (5,6,0);

}voidOnGUI ()

{//點(diǎn)積的返回值floatc =Vector3.Dot (a, b);//向量a,b的夾角,得到的值為弧度编矾,我們將其轉(zhuǎn)換為角度熟史,便于查看!floatangle = Mathf.Acos (Vector3.Dot (a.normalized, b.normalized)) *Mathf.Rad2Deg;

GUILayout.Label ("向量a窄俏,b的點(diǎn)積為:"+c);

GUILayout.Label ("向量a蹂匹,b的夾角為:"+angle);//叉積的返回值Vector3 e =Vector3.Cross (a, b);

Vector3 d=Vector3.Cross (b, a);//向量a,b的夾角,得到的值為弧度,我們將其轉(zhuǎn)換為角度凹蜈,便于查看怒详!angle = Mathf.Asin (Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))) *Mathf.Rad2Deg;

GUILayout.Label ("向量axb為:"+e);

GUILayout.Label ("向量bxa為:"+d);

GUILayout.Label ("向量a,b的夾角為:"+angle);

}

}

上面的示例中踪区,我們定義了兩個(gè)向量a和b昆烁。分別求出了他們的點(diǎn)積和叉積,并通過點(diǎn)積和叉積來反過來計(jì)算他們的夾角缎岗。

這里要?說明?的是:

1.?a.normalized??和??b.normalized??表示的是兩個(gè)向量的單位向量, 因?yàn)樵诠嚼锞材幔邢蛄亢湍5某ǎ贸鰜淼慕Y(jié)果就是單位向量传泊,所以我們這里和后面都直接用單位向量來計(jì)算鼠渺,省去不少麻煩。

2.?Mathf.Rad2Deg?表示的是 單位弧度的度數(shù)眷细。詳情請見作者文章:Unity3D之Mathf.Rad2Deg和Mathf.Deg2Rad

3.通過叉積計(jì)算度數(shù)是通過公式?|c|=|a||b|sin?來逆向求值拦盹。|c| 其實(shí)就是叉積的模,換句話說溪椎,也代表著?Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))的值普舆。

結(jié)果圖如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恬口,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沼侣,更是在濱河造成了極大的恐慌祖能,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛾洛,死亡現(xiàn)場離奇詭異养铸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)轧膘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門钞螟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谎碍,你說我怎么就攤上這事鳞滨〈慌ǎ” “怎么了太援?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長扳碍。 經(jīng)常有香客問我提岔,道長,這世上最難降的妖魔是什么笋敞? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任碱蒙,我火速辦了婚禮,結(jié)果婚禮上夯巷,老公的妹妹穿的比我還像新娘赛惩。我一直安慰自己,他們只是感情好趁餐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布喷兼。 她就那樣靜靜地躺著,像睡著了一般后雷。 火紅的嫁衣襯著肌膚如雪季惯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天臀突,我揣著相機(jī)與錄音勉抓,去河邊找鬼。 笑死候学,一個(gè)胖子當(dāng)著我的面吹牛藕筋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梳码,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隐圾,長吁一口氣:“原來是場噩夢啊……” “哼伍掀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起翎承,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤硕盹,失蹤者是張志新(化名)和其女友劉穎符匾,沒想到半個(gè)月后叨咖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡啊胶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年甸各,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焰坪。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趣倾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出某饰,到底是詐尸還是另有隱情儒恋,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布黔漂,位于F島的核電站诫尽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炬守。R本人自食惡果不足惜牧嫉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望减途。 院中可真熱鬧酣藻,春花似錦、人聲如沸鳍置。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽税产。三九已至怕轿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砖第,已是汗流浹背撤卢。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梧兼,地道東北人放吩。 一個(gè)月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像羽杰,于是被迫代替她去往敵國和親渡紫。 傳聞我的和親對象是個(gè)殘疾皇子到推,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容