轉自http://blog.163.com/shiliping_007/blog/static/25772011201071744031933/
向量積 a x b = (^n) * |a| * |b| * sin<a, b>, 其中^n是同時垂直於a/b且符合右手定則的單位向量。
若已知向量a = (ax, ay, az), b = (bx, by, bz);
則 a x b = (ay * bz - by * az, az * bx - ax * bz, ax * by - ay * bx);
可以把i, j, k和a,b的坐標分別循環寫成一行如下:
i ~~~~ j ~~~~ k ~~~~ i ~~~~ j ...
ax ~~ ay ~~~ az ~~~~ ax ~~~~ ay ...
bx ~~ by ~~~ bz ~~~~ bx ~~~~ by ..
斜向右下方向可以找出三條線分別串起
i-ay-bz, j-az-bx, k-ax-by
斜向左下方向可以找出三條線分別串起
i-az-by, j-ax-bz, k-ay-bx
將每條線中的三個數相乘,(前三條線的和)減去(后三條線的和),就是向量a, b的叉積。
如果向量是二維的(e. g. a = (ax, by) , b = (bx, by) ),那么
a x b = ax * by - ay * bx = |a| * |b| * sin<a, b>
可以用來判斷兩條線段之間的夾角是順時針還是逆時針的。