求取 numpy 向量夹角可以使用 numpy.arctan2 函数;
从而避免了特殊值带来的角度错误;

实例:

# 初始化向量
a = np.array([-1.0, 1.0])
b = np.array([0.0, 1.0])
# 单位化(可以不用这一步)
a /= norm(a)
b /= norm(b)
# 夹角cos值
cos_ = np.dot(a,b)/(norm(a)*norm(b))
# 夹角sin值
sin_ = np.cross(a,b)/(norm(a)*norm(b))
arctan2_ = np.arctan2(sin_, cos_)
print("向量{}相对于向量{}的夹角是{:.3f},即{:.3f} pi".format(a,b,arctan2_,arctan2_/np.pi))

举例结果:

向量[1. 1.]相对于向量[0. 1.]的夹角是0.785,即0.250 pi
向量[1. 0.]相对于向量[0. 1.]的夹角是1.571,即0.500 pi
向量[-1.  1.]相对于向量[0. 1.]的夹角是-0.785,即-0.250 pi

成功将向量的夹角转为 [-pi, +pi] 这个区间

源码:

a = np.array([-1.0, 1.0])
a /= norm(a)b = np.array([0.0, 1.0])
b /= norm(b)cos_ = np.dot(a,b)/(norm(a)*norm(b))
sin_ = np.cross(a,b)/(norm(a)*norm(b))
arctan2_ = np.arctan2(sin_, cos_)
print("向量{}相对于向量{}的夹角是{:.3f},即{:.3f} pi".format(a,b,arctan2_,arctan2_/np.pi))

numpy 求向量夹角 区间 [-pi, +pi]相关推荐

  1. 如何用Python 求函数 y = sinx 在区间[0, pi/2]上的弧长

    今天在高数课上老师讲到求光滑曲线弧长问题,老师自己想了一个例子: 求函数 y = sinx 在区间[0, pi/2]上的弧长 但是经过微分和积分发现没法求出确定值,百度后发现不可积,是椭圆积分,只能求 ...

  2. python求向量与x轴的夹角_如何计算直线与水平轴的夹角?

    首先找出起点和终点之间的区别(这里,这更多的是一条有向线段,而不是"直线",因为直线无限延伸,而不是从某个特定点开始).deltaY = P2_y - P1_y deltaX = ...

  3. matlab求两向量夹角_高中数学《平面向量的数量积》说课稿

    高中数学<平面向量的数量积>说课稿 作为一位无私奉献的人民教师,有必要进行细致的说课稿准备工作,借助说课稿可以让教学工作更科学化.那么写说课稿需要注意哪些问题呢?以下是小编为大家收集的高中 ...

  4. matlab求两向量夹角_高考数学解题技巧:专题21 平面向量中最值、范围问题高中数学黄金解题模板...

    ↑ 点击上方"红色笔记"关注我们 高中各科解题技巧下载  回复数字:800009 高考数学解题技巧:专题24 数列求和方法高中数学黄金解题模板 高考数学解题技巧:专题26 含参不等 ...

  5. matlab求两向量夹角_初学讲义之高中数学十四:向量的数量积

    上篇讲了向量的基本概念和简单的加减运算,这部分的数学运算与几何图形变换之间的联系是非常直观的,理解起来非常容易 本篇讲的内容在数学运算与几何图形变换之间的联系不那么直观,需要花功夫反复琢磨运算的数学意 ...

  6. python求向量与x轴的夹角_2020届石家庄高考模拟题,参数方程解决向量问题

    哈喽,大家好,高考因为疫情原因推迟一个月进行,虽然延期一个月,但我们也不应该放松,要时刻准备着.下面我们来看一道数学高考模拟题,虽然是选择题,但是我们需要用做大题的方式去对待它.我们一起看一下.  ...

  7. Python计算向量夹角代码:如何用代码计算两个向量之间的夹角?

    Python计算向量夹角代码:如何用代码计算两个向量之间的夹角? 向量夹角是指两个向量之间的夹角,通常用cosine来表示.在机器学习和数据科学领域,计算向量夹角是一个非常基本的概念.Python是一 ...

  8. 【嵌入式算法】空间向量夹角公式及其应用

    有些设备正常工作时需按合适的方位安装,比如GPS天线必须朝向天空才能保证信号最佳,温湿度传感器监测口必须朝向被测目标才能及时响应.软件需求是在安装角度异常时提醒用户改变位置.那设备如何感知当前方位呢? ...

  9. threejs向量夹角和夹角方向

    计算向量的夹角 计算向量的夹角: v1 = new THREE.Vector3(5,0,0); v2 = new THREE.Vector3(5,5,0); v1.angleTo(v2); //0.7 ...

  10. Python数据分析学习笔记:计算向量夹角

    Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...

最新文章

  1. Windows 2003服务器维护的几个技巧
  2. VoVNet、VarGNet、PeleeNet:轻量级实时网络(嵌入端)
  3. lisp压盖处理_一种压盖的制造方法
  4. RabbitMQ之Consumer消费模式(Push Pull)
  5. ASP.NET2.0数据操作之创建业务逻辑层
  6. 信息学奥赛一本通 1052:计算邮资 | OpenJudge NOI 1.4 14
  7. java实验多线程机制_使用Java多线程的同步机制编写应用程序 PDF 下载
  8. canvas.drawBitmap()画出来的bitmap和原bitmap大小不同,有一部分缺失了
  9. python获取url响应
  10. python读取csv文件中数据_python读取.csv文件中的数据
  11. 手机端连线题html5,基于Canvas的html5连线题
  12. 经验模态分解股票波动matlab,matlab经验模态分解程序
  13. PHP连接msSQL数据库方法
  14. 舵机控制原理/舵机内部电路原理
  15. 使用QQ推广作为客服或留言
  16. 软件测试工程师简历项目经验怎么写?--1000套软件测试工程师简历
  17. 【Java语言】项目实践:汽车租赁系统(源码)(面向对象方法)
  18. TreeView使用笔记
  19. 手机摄像头驱动_打开手机摄像头,就能实现3D全身动捕,相芯发布虚拟形象全身驱动技术...
  20. 上海亚商投顾:市场呈现窄幅震荡 新能源类行业受热炒

热门文章

  1. kappa一致性检验教程_一致性检验的几种方式--ICC、kappa、weighted kappa、Kendall
  2. Spring Boot+Spring Security:基于URL动态权限:自定义Filter - 第17篇
  3. 40Gbit和100Gbit的网络可视性解决方案
  4. html图片顺时针倾斜50度,html – 使用transform进行垂直对齐:translateY(-50%);里面绝对定位的div...
  5. python cox模型_基于Cox比例风险模型的失效时间预测
  6. Insecure CAPTCHA(不安全的验证码)
  7. CentOS防火墙开启masquerade后即开启包转发功能
  8. swin transformer解读
  9. 《加州消费者隐私法案》(CCPA)解读二:CCPA赋予消费者六大权力
  10. C#设置点击打开外部exe程序,并判断是否程序已开启,未开启的话打开,已经在运行了就前置