Python 计算任意两向量之间的夹角方法
Python  /  管理员 发布于 7年前   573
如图所示,我们要计算任意两个向量之间的夹角。
(图中的坐标数字是估计值,随手给定)
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_angleang1 = 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)
结果为
AB和CD的夹角55AB和EF的夹角139AB和PQ的夹角52CD和EF的夹角84CD和PQ的夹角107EF和PQ的夹角169
以上这篇Python 计算任意两向量之间的夹角方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号