Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- n = int ( input ( ) )
- # Cоздадим пустой список для внесения значений координат многоугольника
- points = [ ]
- # Наполним список нужным количеством кооридинт (равно количесву вершин)
- for top in range ( n ):
- vertex = input () # введём координаты каждой вершины (х, у)
- points.append(vertex.split())
- # Создадим матрицу, одновременно переведя значения в числовой формат
- p_matrix = np.array(points, dtype = float)
- #print(p_matrix[:,0]+p_matrix[:,1])
- x = np.mean(p_matrix[:,0])
- y = np.mean(p_matrix[:,1])
- def points_len(n, m):
- len_line = p_matrix[n, m] - np.array(np.mean(p_matrix[:,0]), np.mean(p_matrix[:,1]))
- return len_line
- # Воспользуемся свойствами массивов и без цикла создадим новый линейный массив расстояний от центра до точек
- n_mtx = np.sqrt((p_matrix[:,0] - x)**2 + ((p_matrix[:,1]-y)**2))
- #Максимальное расстояние это наибольшее значение в массиве(списке) расстояний
- print("О(%6.3f, %6.3f), r = %6.3f" % (x, y, np.max(n_mtx)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement