fork download
  1. import numpy as np
  2.  
  3. # Генерация случайных точек с целочисленными координатами
  4. np.random.seed(0) # для повторяемости результата
  5. points = np.random.randint(-10, 11, size=(10, 3)) # 10 точек с 3 координатами
  6.  
  7. # 1. Найти точку, наиболее удалённую от начала координат
  8. distances = np.linalg.norm(points, axis=1) # вычисляем расстояния от начала координат
  9. most_distant_point = points[np.argmax(distances)] # находим точку с максимальным расстоянием
  10.  
  11. # 2. Отсортировать точки в порядке убывания расстояний от начала координат
  12. sorted_points = points[np.argsort(-distances)] # сортировка точек по убыванию расстояний
  13.  
  14. # 3. Создать массив противоположно направленных радиус-векторов
  15. opposite_vectors = -points # просто меняем знак всех координат
  16.  
  17. # 4. Профильтровать массив, оставив только векторы с положительными координатами
  18. filtered_vectors = opposite_vectors[(opposite_vectors > 0).all(axis=1)] # выбираем только векторы с положительными координатами
  19.  
  20. # Вывод результатов
  21. print("Исходные точки:\n", points)
  22. print("\nТочка, наиболее удалённая от начала координат:", most_distant_point)
  23. print("\nТочки, отсортированные по убыванию расстояний:\n", sorted_points)
  24. print("\nПротивоположные радиус-векторы:\n", opposite_vectors)
  25. print("\nОтфильтрованные векторы с положительными координатами:\n", filtered_vectors)
  26.  
  27.  
  28.  
Success #stdin #stdout 0.12s 28992KB
stdin
Standard input is empty
stdout
Исходные точки:
 [[  2   5 -10]
 [ -7  -7  -3]
 [ -1   9   8]
 [ -6  -4   2]
 [ -9  -4  -3]
 [  4   7  -5]
 [  3  -2  -1]
 [ 10   9   6]
 [  9  -5   5]
 [  5 -10   8]]

Точка, наиболее удалённая от начала координат: [10  9  6]

Точки, отсортированные по убыванию расстояний:
 [[ 10   9   6]
 [  5 -10   8]
 [ -1   9   8]
 [  9  -5   5]
 [  2   5 -10]
 [ -7  -7  -3]
 [ -9  -4  -3]
 [  4   7  -5]
 [ -6  -4   2]
 [  3  -2  -1]]

Противоположные радиус-векторы:
 [[ -2  -5  10]
 [  7   7   3]
 [  1  -9  -8]
 [  6   4  -2]
 [  9   4   3]
 [ -4  -7   5]
 [ -3   2   1]
 [-10  -9  -6]
 [ -9   5  -5]
 [ -5  10  -8]]

Отфильтрованные векторы с положительными координатами:
 [[7 7 3]
 [9 4 3]]