python计算向量夹角代码

举报
风吹稻花香 发表于 2021/09/10 00:47:17 2021/09/10
【摘要】 向左为负,向右为正,标准坐标系,返回-180-180度 import math AB = [0 ,0 ,5 ,-1]CD = [0 ,0 ,4.5 ,4.5]EF = [0 ,0 ,-2 ,6]PQ = [0 ,0 ,-6 ,-1] def angle(v1, v2): dx1 = v1[2] - v1[0] dy1 =...

向左为负,向右为正,标准坐标系,返回-180-180度


  
  1. import math
  2. AB = [0 ,0 ,5 ,-1]
  3. CD = [0 ,0 ,4.5 ,4.5]
  4. EF = [0 ,0 ,-2 ,6]
  5. PQ = [0 ,0 ,-6 ,-1]
  6. def angle(v1, v2):
  7. dx1 = v1[2] - v1[0]
  8. dy1 = v1[3] - v1[1]
  9. dx2 = v2[2] - v2[0]
  10. dy2 = v2[3] - v2[1]
  11. angle1 = math.atan2(dy1, dx1)
  12. angle1 = -int(angle1 * 180 /math.pi)
  13. if angle1<0:
  14. angle1=360+angle1
  15. # print(angle1)
  16. angle2 = math.atan2(dy2, dx2)
  17. angle2 =- int(angle2 * 180 /math.pi)
  18. if angle2 < 0:
  19. angle2 = 360 + angle2
  20. print(angle1,angle2)
  21. included_angle = angle1 - angle2
  22. if abs(included_angle) > 180:
  23. included_angle=included_angle/abs(included_angle)*(360-abs(included_angle))
  24. else:
  25. included_angle*=-1
  26. return included_angle
  27. ang1 = angle(AB, CD)
  28. print("AB和CD的夹角")
  29. print(ang1)
  30. ang1 = angle(CD,AB)
  31. print("CD和AB的夹角"

文章来源: blog.csdn.net,作者:AI视觉网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/120190497

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。