Advertisement
MagicWinnie

Untitled

Nov 30th, 2019
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.70 KB | None | 0 0
  1. n = int(input())
  2.  
  3. d = dict()
  4. res = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
  5. d_new = dict()
  6. for _ in range(n):
  7.     num, x_ice, y_ice, x_drone, y_drone, height = map(float, input().split())
  8.     try:
  9.         d[int(num)] += [[x_ice, y_ice, x_drone, y_drone, height]]
  10.     except:
  11.         d[int(num)] = [[x_ice, y_ice, x_drone, y_drone, height]]
  12.  
  13. def size(height):
  14.     x = (4*height)/3
  15.     y = (3*height)/3
  16.     return x, y
  17.  
  18. for key, item in zip(d.keys(), d.values()):
  19.     temp_arr = [[], []]
  20.     for i in range(len(item)):
  21.         x, y = size(item[i][-1])
  22.        
  23.         r_x = item[i][0] * x / 640
  24.         r_y = item[i][1] * y / 480
  25.  
  26.         if item[i][0] >= 320:
  27.             real_x = item[i][2] + (r_x-(x/2))
  28.         else:
  29.             real_x = item[i][2] - ((x/2)-r_x)
  30.         if item[i][1] >= 240:
  31.             real_y = item[i][3] - ((y/2)-r_y)
  32.         else:
  33.             real_y = item[i][3] + (r_y-(y/2))
  34.        
  35.         temp_arr[0].append(real_x)
  36.         temp_arr[1].append(real_y)
  37.  
  38.     d_new[key] = [sum(temp_arr[0])/len(temp_arr[0]), sum(temp_arr[1])/len(temp_arr[1])]
  39.     #d_new[key] = [temp_arr[0][0], temp_arr[1][0]]
  40.  
  41.  
  42. x_x = [[[],[]],[[],[]],[[],[]]]
  43.  
  44. sorted_ = sorted(d_new.items(), key=lambda kv: kv[1])
  45.  
  46. counter = 0
  47. count = 0
  48.  
  49. for i in range(len(sorted_)):
  50.     if count < 4:
  51.         x_x[counter][0].append(sorted_[i][0])
  52.         x_x[counter][1].append(sorted_[i][1][1])
  53.     count += 1
  54.     if count > 3:
  55.         count = 0
  56.         counter += 1
  57.  
  58. for i in range(len(x_x)):
  59.     x_x[i][0] = [x for _, x in sorted(zip(x_x[i][1],x_x[i][0]), key=lambda pair: pair[0])]
  60.  
  61. for i in range(3):
  62.     for j in range(4):
  63.         res[j][i] = x_x[i][0][3-j]
  64.  
  65.  
  66. for i in res:
  67.     print(*i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement