-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
63 lines (47 loc) · 1.44 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import numpy as np
import vector as vec
from vector import Vec2
import generate_vertex_set as gvs
import min_disk as md
import plots as plt
import time
import cProfile
import re
import cProfile, pstats, StringIO
import utils
def main():
for attemp in range(1000):
radius = 10
n = 30
points = gvs.generate_vertex_set(radius, n)
disk, disk_points_indices = md.build_min_disk(points)
print(disk_points_indices)
print disk
print
plt.prepare_axis(radius)
plt.draw_points(points, enumerate = True)
plt.draw_disk((disk.center.x, disk.center.y, disk.radius))
plt.draw()
def main_test():
file = utils.get_file_from_parameters()
amount = int(file.readline())
print "samples = ", amount
time_results = []
for i in range(amount):
N = int(file.readline())
points = np.fromfile(file = file, dtype = int, count = 2 * N, sep=" ").reshape(N, 2)
vec_points = []
for i in range(len(points)):
p = points[i]
vec_points.append(Vec2(long(p[0]), long(p[1])))
start_time = time.time()
disk, disk_points_indices = md.build_min_disk(vec_points)
end_time = time.time()
result = (N, end_time - start_time)
time_results.append(result)
print result
print time_results
###################### MAIN #####################
if __name__ == "__main__":
main()
# main_test()