再谈空间向量之间的夹角问题

本文讨论了不同情况下向量夹角的计算方法,包括当转轴N与向量a和b不完全垂直的情况。提出了使用atan2算法及a*b/|a|*|b|求acos来计算角度的方法。

以前发表过一个关于计算向量之间夹角的文章

     http://blog.csdn.net/happy__888/archive/2005/04/28/367008.aspx

有个网友提出疑问, 当N和a以及b向量不垂直的情况下, 计算方法是错误的

这个问题非常的好

尽管问题本身,和描述的提供的方法的前提违背---方法首先在前提的时候已经说明了N是a和b的公共法向量,那么N必然是同时垂直a和b的

在实际的应用当中,确实存在一种旋转状况---转轴N和a和b都不垂直

这种现象很常见:  向量a围绕向量N,旋转到达了b的位置,让我们计算这个转角是多少, 此时a和N之间没有必然的关系 ,不是必须垂直的,当然,b也不是必须垂直于N的; (这种情况下a和b是模是相等的,既等长的)

我的上一篇文章当中描述的方法,a和b可以是模不相等的

当然,实际情况上,对于不等长的这种类似的夹角计算情况也有---计算两个向量在某个平面上的投影的夹角,而这个平面的法向量实际上就是N了,N是垂直于两个向量,在改平面上的投影的

在未知N的情况下,可以回归成为计算几何的一个经典问题, 从一个旋转加缩放矩阵当中提取转轴,转角,以及缩放比例的问题, 这个是有固定的解法的,瞒复杂的

可是我们本来的这个问题很简单啊, 计算哪个角度而已啊

还是用哪个atan2的算法,用a*b/|a|*|b| 求acos也可,计算就可以得到角度,无非是不知道旋转的正负而已;围绕任意转轴的旋转公式也都是现成的,构造出矩阵尝试一下结果就知道了

也许有很好的解法, 现在比较忙,没有时间细想了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值