blacked all

This commit is contained in:
2019-10-28 11:52:03 +01:00
parent 132cec2445
commit f0580a988c
8 changed files with 213 additions and 178 deletions

View File

@@ -1,45 +1,47 @@
#!/usr/bin/env python
import math
def angle_to_vector(angle):
angle=angle*math.pi/180
angle = angle * math.pi / 180
return [math.cos(angle), math.sin(angle)]
def get_line_feats(point1, point2):
x1,y1 = point1
x2,y2 = point2
x1, y1 = point1
x2, y2 = point2
# if x1 == x2 :
# x1=x1+1
a = (y1-y2)/(x1-x2)
a = (y1 - y2) / (x1 - x2)
b = y2 - a * x2
return a,b
return a, b
def segments_intersection(line1, line2):
p1,p2 = line1
p3,p4 = line2
if p1[0] == p2[0] :
p1, p2 = line1
p3, p4 = line2
if p1[0] == p2[0]:
p1 = (p1[0] + 1, p1[1])
if p3[0] == p4[0] :
if p3[0] == p4[0]:
p3 = (p3[0] + 1, p3[1])
a1, b1 = get_line_feats(p1, p2)
a2, b2 = get_line_feats(p3, p4)
a1,b1 = get_line_feats(p1,p2)
a2,b2 = get_line_feats(p3,p4)
if a1 == a2:
return None # parrallel lines
if a1==a2 :
return None # parrallel lines
x = (b2-b1)/(a1-a2)
x = (b2 - b1) / (a1 - a2)
if min(p1[0], p2[0]) <= x <= max (p1[0], p2[0]) and min(p3[0], p4[0]) <= x <= max (p3[0], p4[0]) :
if min(p1[0], p2[0]) <= x <= max(p1[0], p2[0]) and min(p3[0], p4[0]) <= x <= max(
p3[0], p4[0]
):
y = a1 * x + b1
return x,y
else :
return None # intersect is outside segments
return x, y
else:
return None # intersect is outside segments
def distance(point1, point2):
return math.hypot(point1[0] - point2[0], point1[1] - point2[1])
return math.hypot(point1[0] - point2[0], point1[1] - point2[1])