Advertisement
Vitaliy_Novichikhin

3.3.13

Oct 21st, 2020
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.49 KB | None | 0 0
  1. import numpy as np
  2.  
  3. n = int ( input ( ) )  # количество вершин многоугольника
  4.  
  5. # Cоздадим пустой список для внесения значений переменных координат многоугольника
  6. points = []
  7. # Внесем нужное количество вершин многоуг. через функцию цикла
  8. for i in range(n):
  9.     pnt = input()
  10.     points.append(pnt.split())
  11.  
  12. # Создадим матрицу переведя все значения координат в вещественные числа
  13. na = np.array (points, dtype = float)  # Исходная матрица с координатами каждой вершины многоугольника
  14.  
  15. f = input()  # введем градус поворота и переведем его сразу в радианы
  16.  
  17. fi = np.radians ( int(f) ) # переведем его в радианы
  18. # Введём матрицу поворота
  19. rotate = np.array ( [ [ np.cos ( fi ), np.sin ( fi ) ], [ -np.sin ( fi ), np.cos ( fi ) ] ] )
  20. # найдём координаты фигуры после поворота умножив две матрицы через функцию np.dot
  21. rot_mx = np.dot ( na, rotate )
  22. # Выведем на экран средние значения координат повернутой фигуры по осям Х и У
  23. print ( "avg_x = %6.2f, avg_y=%6.2f" % (np.mean ( rot_mx [ :, 0 ] ), np.mean ( rot_mx [ :, 1 ] )) )
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement