Junior — Middle
80
Нүктенің координаттары бойынша оның сфера немесе куб ішінде орналасқанын қалай тексеруге болады?
AI-дан жауап
sobes.tech AI
Чтобы проверить, находится ли точка внутри сферы или куба, нужно сравнить координаты точки с параметрами этих фигур.
Для сферы:
- Пусть центр сферы — (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