Advertisement
Vitaliy_Novichikhin

3.4.1

Oct 22nd, 2020
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.33 KB | None | 0 0
  1. import numpy as np
  2.  
  3. n = int ( input ( ) )
  4. # Cоздадим пустой список для внесения значений координат многоугольника
  5. points = [ ]
  6. # Наполним список нужным количеством кооридинт (равно количесву вершин)
  7. for top in range ( n ):
  8.     vertex = input ()  # введём координаты каждой вершины (х, у)
  9.     points.append(vertex.split())
  10.  
  11. # Создадим матрицу, одновременно переведя значения в числовой формат
  12. p_matrix = np.array(points, dtype = float)
  13. #print(p_matrix[:,0]+p_matrix[:,1])
  14. x = np.mean(p_matrix[:,0])
  15. y = np.mean(p_matrix[:,1])
  16. def points_len(n, m):
  17.     len_line = p_matrix[n, m] - np.array(np.mean(p_matrix[:,0]), np.mean(p_matrix[:,1]))
  18.     return len_line
  19. # Воспользуемся свойствами массивов и без цикла создадим новый линейный массив расстояний от центра до точек
  20. n_mtx = np.sqrt((p_matrix[:,0] - x)**2 + ((p_matrix[:,1]-y)**2))
  21.  
  22.  
  23. #Максимальное расстояние это наибольшее значение в массиве(списке) расстояний
  24. print("О(%6.3f, %6.3f), r = %6.3f" % (x, y, np.max(n_mtx)))
  25.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement