向量积(叉积)及其计算
2016-06-24 16:46
246 查看
昨晚想起叉积,竟然没印象了,在网上看了一下,转载出来
~ 向量积(叉积)及其计算
向量积
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>
可以用来判断两条线段之间的夹角是顺时针还是逆时针的。
~ 向量积(叉积)及其计算
向量积
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>
可以用来判断两条线段之间的夹角是顺时针还是逆时针的。
相关文章推荐
- JS全局变量和局部变量最新解析
- android 5 通知栏
- 算法之路(一)----求最大子序列
- setTimeOut一些注意的地方
- 2016年高校保送生拟录取名单 (北京大学)
- Java中使用Jedis操作Redis
- gradle多渠道打包替换图片、xml等资源文件
- Android Studio 快捷键
- Python3中级玩家:网络爬虫抓取豆瓣三万本图书
- jni javah
- Linux上开启Telnet服务
- 二维数组与指针
- dp转化为px的原因
- 窗体按钮权限控制
- Jquery--text()与html()方法的区别
- Python 客制化类的创建过程
- Python的网络编程库Gevent的安装及使用技巧
- div层调整z-index属性无效原因分析及解决方法
- Spring整合Struts 2,以及Spring中Bean的作用域问题
- com.google.guava 包解析 ——Google Guava官方教程(中文版)