您现在的位置是:首页 >
当前栏目
求两个矢量的夹角(带正负)[通俗易懂]
通俗易懂 两个 矢量 正负 夹角
2023-06-13 09:11:07 时间
文章目录
1 由点乘求夹角,再判断正负向量点乘求夹角:
a * b= |a| * |b| * cos<a,b>=a.x * b.x + a.y* b.y 所以<a,b> = acos((a * b)/ ( |a| * |b|) ); 结果为正值,需要判定正负,来确定角方向; 由向量叉乘判断正负: a X b = |a| * |b| * sin<a,b>=a.x * b.y – a.y * b.x; 如果aXb < 0,那么 <a,b> = -<a,b>
2 由点乘和叉乘,使用atan2(y,x)求角度
由 a * b= |a| * |b| * cos<a,b> 和 a X b = |a| * |b| * sin<a,b> 可知tan<a,b>= (a * b) / (aXb) 但是值域为-pi/2到pi/2 atan2是一个函数,在C语言里返回的是指方位角,C 语言中atan2的函数原型为 double atan2(double y, double x) ,也可float,返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。也可以理解为计算复数 x+yi 的辐角,计算时atan2 比 atan 稳定。 [1] atan2(y, x) 与 atan(y/x)稍有不同,atan2(a,b)的取值范围介于 -pi 到 pi 之间(不包括 -pi) 因此可转化为: <a,b> = atan2((aXb) ,(a*b)); 属于(-pi,pi] 当<a,b> < 0, <a,b>+=2pi;即可转到 (0, 2PI]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179741.html原文链接:https://javaforall.cn
相关文章
- 树莓派视觉小车 — 人脸追踪(人脸识别、PID控制舵机运动)[通俗易懂]
- hibernate二级缓存配置[通俗易懂]
- 微信公众号开发-超级简单[通俗易懂]
- 【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]
- dpkg命令用法[通俗易懂]
- python格式化转换_Python进制转换format格式化[通俗易懂]
- js替换所有的回车换行符[通俗易懂]
- linux下面的解压缩文件的命令[通俗易懂]
- 离心泵CAE_2_ICEM剖分网格_2_叶轮流道[通俗易懂]
- unix命令netstat[通俗易懂]
- Fedora 12 环境搭建[通俗易懂]
- 【Python实践-1】求一元二次方程的两个解[通俗易懂]
- TP5 分页样式[通俗易懂]
- 彻底明白Activity启动模式-SingleTop、SingleTask、SingleInstance具体使用场景[通俗易懂]
- redis 和Mysql 的一些 区别[通俗易懂]
- qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]
- 前端缓存处理[通俗易懂]
- MySQL数据库mycat读写分离[通俗易懂]
- APAP论文阅读笔记[通俗易懂]