判断两个二维向量夹角及是顺时针还是逆时针旋转方向

判断两个二维向量夹角及是顺时针还是逆时针旋转方向

1.求两个向量的夹角

由公式

v1*v2=|v1||v2|cos(θ)

可得

θ=acos((v1*v2)/(|v1||v2|)

这样求得的角度范围为[0~180],无法得到顺时针还是逆时针旋转方向。

2.求两个向量的旋转方向

可通过向量的叉乘的正负来判断旋转方向

注意,这里仅适用于二维向量,三维向量的叉量是向量,无法直接判断正负。

v3=v1×v2

3.两者结合,可得夹角的取值范围为[-180,180]

伪代码

angle = angle(v1, v2);//夹角

cross = cross(v2,v2);//叉乘

angle = cross>0?-angle:angle;//判断正负

相关推荐

金融行业

金融行业

07-06 👁️ 6981
钓鲢鳙生活饵料,钓鲢鳙加虾粉怎么样?2022-12-12 20:11:41 中国钓鱼人网
B150主板横评已出 多款产品哪个值得买
魔兽部落哪里毛料多

魔兽部落哪里毛料多

07-11 👁️ 4279
国内电话怎么打到澳大利亚
红龙鱼几天喂一次最佳,会饿死吗
阳光保险保单与理赔进度查询方法
阴阳师犬神悬赏封印位置 犬神哪里多
正在阅读:破世界纪录全靠它!微星HD7970闪电版显卡评测破世界纪录全靠它!微星HD7970闪电版显卡评测