python求角度_python根据坐标点的坐标计算角度

1.由点转换得到向量

2.由向量计算夹角

参考文档:https://www.jb51.net/article/164697.htm

import math

#A(1,-3)B(5,-1)C(4,1)D(4.5,4.5)

#AB = [1,-3,5,-1]

AB = [5,-1,1,-3]

CD = [4,1,4.5,4.5]

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)

标签:angle,python,v1,角度,angle1,坐标,angle2,included,math

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值