Junior — Middle
91
Hoe kan je bepalen welke punten in een coördinatenarray bij kubussen horen en welke bij bollen, als alleen hun posities bekend zijn?
Antwoord van AI
sobes.tech AI
Если известны только координаты точек и положения кубов и сфер, чтобы определить, к какому объекту принадлежит каждая точка, нужно проверить, попадает ли точка внутрь геометрической фигуры.
Для этого:
-
Для куба: проверить, лежит ли точка внутри его границ по каждой оси. Если у куба известен центр и длина ребра, то точка принадлежит кубу, если её координаты по каждой оси находятся в диапазоне [центр - половина ребра, центр + половина ребра].
-
Для сферы: проверить, что расстояние от точки до центра сферы меньше или равно радиусу сферы.
Пример на Python:
import numpy as np
def point_in_cube(point, cube_center, edge_length):
half = edge_length / 2
return all(np.abs(point - cube_center) <= half)
def point_in_sphere(point, sphere_center, radius):
return np.linalg.norm(point - sphere_center) <= radius
# Пример использования
points = np.array([[1,2,3], [4,5,6], [7,8,9]])
cube_center = np.array([5,5,5])
edge_length = 4
sphere_center = np.array([2,2,2])
radius = 3
for p in points:
if point_in_cube(p, cube_center, edge_length):
print(f"Точка {p} принадлежит кубу")
elif point_in_sphere(p, sphere_center, radius):
print(f"Точка {p} принадлежит сфере")
else:
print(f"Точка {p} не принадлежит ни кубу, ни сфере")
Таким образом, используя геометрические проверки, можно классифицировать точки по принадлежности к фигурам.