Skip to content

Commit 76ba9d0

Browse files
committed
Python Jarvis March cleanup: make PEP8 conformant
1 parent 678ab11 commit 76ba9d0

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed
Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,45 @@
11
# Is the turn counter clockwise?
2-
def CCW(p1, p2, p3):
3-
return (p3[1]-p1[1])*(p2[0]-p1[0]) >= (p2[1]-p1[1])*(p3[0]-p1[0])
2+
def ccw(p1, p2, p3):
3+
return (p3[1] - p1[1]) * (p2[0] - p1[0]) \
4+
>= (p2[1] - p1[1]) * (p3[0] - p1[0])
45

56

6-
def jarvisMarch(gift):
7-
n = len(gift) #Number of points in list
8-
pointOnHull = min(gift) #leftmost point in gift
9-
hull = [pointOnHull] #leftmost point guaranteed to be in hull
10-
7+
def jarvis_march(gift):
8+
n = len(gift) # Number of points in list
9+
point_on_hull = min(gift) # leftmost point in gift
10+
hull = [point_on_hull] # leftmost point guaranteed to be in hull
11+
1112
while True:
12-
endpoint = gift[0] #Candidate for next point in hull
13-
for j in range(1,n):
14-
if endpoint==pointOnHull or not CCW(gift[j],hull[-1],endpoint):
13+
# Candidate for next point in hull
14+
endpoint = gift[0]
15+
for j in range(1, n):
16+
if endpoint == point_on_hull \
17+
or not ccw(gift[j], hull[-1], endpoint):
1518
endpoint = gift[j]
16-
17-
pointOnHull = endpoint
18-
19-
#Check if we have completely wrapped gift
20-
if hull[0]==endpoint:
19+
20+
point_on_hull = endpoint
21+
22+
# Check if we have completely wrapped gift
23+
if hull[0] == endpoint:
2124
break
2225
else:
23-
hull.append(pointOnHull)
24-
26+
hull.append(point_on_hull)
27+
2528
return hull
2629

2730

2831
def main():
29-
testGift = [(-5, 2), (5, 7), (-6, -12), (-14, -14), (9, 9),
30-
(-1, -1), (-10, 11), (-6, 15), (-6, -8), (15, -9),
31-
(7, -7), (-2, -9), (6, -5), (0, 14), (2, 8)]
32-
hull = jarvisMarch(testGift)
33-
32+
test_gift = [
33+
(-5, 2), (5, 7), (-6, -12), (-14, -14), (9, 9),
34+
(-1, -1), (-10, 11), (-6, 15), (-6, -8), (15, -9),
35+
(7, -7), (-2, -9), (6, -5), (0, 14), (2, 8)
36+
]
37+
hull = jarvis_march(test_gift)
38+
3439
print("The points in the hull are:")
3540
for point in hull:
3641
print(point)
3742

38-
main()
43+
44+
if __name__ == "__main__":
45+
main()

0 commit comments

Comments
 (0)