Junior — Middle
103
Koordinatlarına göre bir noktanın küre veya küp içinde olup olmadığını nasıl kontrol edebilirsiniz?
AI'dan gelen yanıt
sobes.tech yapay zeka
Чтобы проверить, находится ли точка внутри сферы или куба, нужно сравнить координаты точки с параметрами этих фигур.
Для сферы:
- Пусть центр сферы — (cx, cy, cz), радиус — r.
- Точка — (x, y, z).
- Вычисляем расстояние от точки до центра: d = sqrt((x - cx)² + (y - cy)² + (z - cz)²).
- Если d ≤ r, точка внутри сферы.
Для куба (оси-параллельного):
- Пусть куб задан двумя противоположными углами: min_corner = (xmin, ymin, zmin), max_corner = (xmax, ymax, zmax).
- Точка внутри куба, если одновременно выполняются условия: xmin ≤ x ≤ xmax, ymin ≤ y ≤ ymax, zmin ≤ z ≤ zmax.
Пример на Python:
import math
def is_point_in_sphere(point, center, radius):
x, y, z = point
cx, cy, cz = center
distance = math.sqrt((x - cx)**2 + (y - cy)**2 + (z - cz)**2)
return distance <= radius
def is_point_in_cube(point, min_corner, max_corner):
x, y, z = point
xmin, ymin, zmin = min_corner
xmax, ymax, zmax = max_corner
return xmin <= x <= xmax and ymin <= y <= ymax and zmin <= z <= max_corner
# Пример использования
point = (1, 2, 3)
sphere_center = (0, 0, 0)
sphere_radius = 5
cube_min = (0, 0, 0)
cube_max = (3, 3, 3)
print(is_point_in_sphere(point, sphere_center, sphere_radius)) # True
print(is_point_in_cube(point, cube_min, cube_max)) # False