checkio Similar Triangles

题目:
相似三角形是True
链接:
https://py.checkio.org/en/mission/similar-triangles/
代码:

def angle_s(a):

	v01 = (a[1][0]- a[0][0], a[1][1]- a[0][1])
	v02 = (a[2][0]- a[0][0], a[2][1]- a[0][1])
	s0 = (v01[0]*v02[0] + v01[1]*v02[1])/(v01[0]**2+v01[1]**2)**0.5/(v02[0]**2+v02[1]**2)**0.5

	v10 = (-v01[0], -v01[1])
	v12 = (a[2][0]- a[1][0], a[2][1]- a[1][1])
	s1 = (v10[0]*v12[0] + v10[1]*v12[1])/(v10[0]**2+v10[1]**2)**0.5/(v12[0]**2+v12[1]**2)**0.5

	v20 =  (-v02[0], -v02[1])
	v21= (-v12[0], -v12[1])
	s2 = (v20[0]*v21[0] + v20[1]*v21[1])/(v20[0]**2+v20[1]**2)**0.5/(v21[0]**2+v21[1]**2)**0.5
	b = []
	b.append(s0)
	b.append(s1)
	b.append(s2)
	c = sorted(b)
	return c
q = ([(-2,0), (2,4), (-4,-4)], [(-1,0), (3,8), (-9,-8)])

m = 1E-12
if angle_s(q[0])[0] - angle_s(q[1])[0] < m and \
	angle_s(q[0])[1] - angle_s(q[1])[1] < m and \
	angle_s(q[0])[2] - angle_s(q[1])[2] < m:
	r = True
else:
	r = False
print(r)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值