向量的點(diǎn)積:
假設(shè)向量u(ux, uy)和v(vx, vy),u和v之間的夾角為α,從三角形的邊角關(guān)系等式出發(fā),可作出如下簡(jiǎn)單推導(dǎo):
|u - v||u - v| = |u||u| + |v||v| - 2|u||v|cosα
===>
(ux - vx)2 + (uy - vy)2 = ux2 + uy2 +vx2+vy2- 2|u||v|cosα
===>
-2uxvx - 2uyvy = -2|u||v|cosα
===>
cosα = (uxvx + uyvy) / (|u||v|)
這樣,就可以根據(jù)向量u和v的坐標(biāo)值計(jì)算出它們之間的夾角。
定義u和v的點(diǎn)積運(yùn)算: u . v = (uxvx + uyvy),
上面的cosα可簡(jiǎn)寫成: cosα = u . v / (|u||v|)
當(dāng)u . v = 0時(shí)(即uxvx + uyvy = 0),向量u和v垂直;當(dāng)u . v > 0時(shí),u和v之間的夾角為銳角;當(dāng)u . v < 0時(shí),u和v之間的夾角為鈍角。
可以將運(yùn)算從2維推廣到3維。
向量的叉積:
假設(shè)存在向量u(ux, uy, uz), v(vx, vy, vz), 求同時(shí)垂直于向量u, v的向量w(wx, wy, wz).
因?yàn)?strong>w與u垂直,同時(shí)w與v垂直,所以w . u = 0, w . v = 0; 即
uxwx + uywy + uzwz = 0;
vxwx + vywy + vzwz = 0;
分別削去方程組的wy和wx變量的系數(shù),得到如下兩個(gè)等價(jià)方程式:
(uxvy - uyvx)wx = (uyvz - uzvy)wz
(uxvy - uyvx)wy = (uzvx - uxvz)wz
于是向量w的一般解形式為:
w = (wx, wy, wz) = ((uyvz - uzvy)wz / (uxvy - uyvx), (uzvx - uxvz)wz / (uxvy - uyvx), wz)
= (wz / (uxvy - uyvx) * (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx))
因?yàn)椋?br>
ux(uyvz - uzvy) + uy(uzvx - uxvz) + uz(uxvy - uyvx)
= uxuyvz - uxuzvy + uyuzvx - uyuxvz + uzuxvy - uzuyvx
= (uxuyvz - uyuxvz) + (uyuzvx - uzuyvx) + (uzuxvy - uxuzvy)
= 0 + 0 + 0 = 0
vx(uyvz - uzvy) + vy(uzvx - uxvz) + vz(uxvy - uyvx)
= vxuyvz - vxuzvy + vyuzvx - vyuxvz + vzuxvy - vzuyvx
= (vxuyvz - vzuyvx) + (vyuzvx - vxuzvy) + (vzuxvy - vyuxvz)
= 0 + 0 + 0 = 0
由此可知,向量(uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)是同時(shí)垂直于向量u和v的。
為此,定義向量u = (ux, uy, uz)和向量 v = (vx, vy, vz)的叉積運(yùn)算為:u x v = (uyvz - uzvy, uzvx - uxvz, uxvy - uyvx)
上面計(jì)算的結(jié)果可簡(jiǎn)單概括為:向量u x v垂直于向量u和v。
根據(jù)叉積的定義,沿x坐標(biāo)軸的向量i = (1, 0, 0)和沿y坐標(biāo)軸的向量j = (0, 1, 0)的叉積為:
i x j = (1, 0, 0) x (0, 1, 0) = (0 * 0 - 0 * 1, 0 * 0 - 1 * 0, 1 * 1 - 0 * 0) = (0, 0, 1) = k
同理可計(jì)算j x k:
j x k = (0, 1, 0) x (0, 0, 1) = (1 * 1 - 0 * 0, 0 * 0 - 0 * 1, 0 * 0 - 0 * 0) = (1, 0, 0) = i
以及k x i:
k x i = (0, 0, 1) x (1, 0, 0) = (0 * 0 - 1 * 0, 1 * 1 - 0 * 0, 0 * 0 - 0 * 0) = (0, 1, 0) = j
由叉積的定義,可知:
v x u = (vyuz - vzuy, vzux - vxuz, vxuy - vyux) = - (u x v)
posted on 2010-08-11 23:26
小王 閱讀(605)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
游戲引擎