Ответ
Для представления набора XYZ-координат в NumPy рекомендуется использовать двумерный массив (матрицу) формы (N, 3), где N — количество точек.
Такая структура интуитивно понятна: каждая строка представляет собой одну точку, а столбцы соответствуют координатам X, Y и Z.
Пример создания и доступа:
import numpy as np
# Создание массива для 4 точек в 3D-пространстве
points = np.array([
[1.0, 2.0, 3.0], # Точка 0
[4.0, 5.0, 6.0], # Точка 1
[7.0, 8.0, 9.0], # Точка 2
[0.5, 1.5, 2.5] # Точка 3
])
# Проверка формы массива
print(f"Форма массива: {points.shape}") # (4, 3)
# Получение координат первой точки (индекс 0)
first_point = points[0]
print(f"Первая точка: {first_point}") # [1. 2. 3.]
# Получение всех X-координат
x_coords = points[:, 0]
print(f"Все X-координаты: {x_coords}") # [1. 4. 7. 0.5]
Почему этот подход является стандартом:
- Эффективность: Позволяет выполнять быстрые векторизованные операции над всеми точками одновременно (например, сдвиг, масштабирование).
- Совместимость: Является стандартным форматом для большинства библиотек научной визуализации и машинного обучения, таких как Matplotlib, SciPy, Scikit-learn и Open3D.
- Читаемость: Структура
(N, 3)явно отражает суть данных —Nобъектов с 3 признаками у каждого.