Python计算任意两向量之间的夹角方法-创新互联

如图所示,我们要计算任意两个向量之间的夹角。

我们提供的服务有:网站制作、成都做网站、微信公众号开发、网站优化、网站认证、石河子ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的石河子网站制作公司

(图中的坐标数字是估计值,随手给定)

python代码如下

import math 

AB = [1,-3,5,-1]
CD = [4,1,4.5,4.5]
EF = [2,5,-2,6]
PQ = [-3,-4,1,-6]

def angle(v1, v2):
  dx1 = v1[2] - v1[0]
  dy1 = v1[3] - v1[1]
  dx2 = v2[2] - v2[0]
  dy2 = v2[3] - v2[1]
  angle1 = math.atan2(dy1, dx1)
  angle1 = int(angle1 * 180/math.pi)
  # print(angle1)
  angle2 = math.atan2(dy2, dx2)
  angle2 = int(angle2 * 180/math.pi)
  # print(angle2)
  if angle1*angle2 >= 0:
    included_angle = abs(angle1-angle2)
  else:
    included_angle = abs(angle1) + abs(angle2)
    if included_angle > 180:
      included_angle = 360 - included_angle
  return included_angle

ang1 = angle(AB, CD)
print("AB和CD的夹角")
print(ang1)
ang2 = angle(AB, EF)
print("AB和EF的夹角")
print(ang2)
ang3 = angle(AB, PQ)
print("AB和PQ的夹角")
print(ang3)
ang4 = angle(CD, EF)
print("CD和EF的夹角")
print(ang4)
ang5 = angle(CD, PQ)
print("CD和PQ的夹角")
print(ang5)
ang6 = angle(EF, PQ)
print("EF和PQ的夹角")
print(ang6)

网站标题:Python计算任意两向量之间的夹角方法-创新互联
文章出自:http://bzwzjz.com/article/dishsc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: LED网站设计方案 成都网站建设 宜宾网站设计 成都网站建设公司 成都企业网站建设公司 企业网站建设公司 手机网站建设 网站设计 成都网站设计 成都网站建设 外贸营销网站建设 品牌网站建设 成都响应式网站建设公司 网站设计 企业网站设计 自适应网站设计 网站建设 品牌网站建设 网站建设 网站建设公司 网站建设开发 重庆外贸网站建设