Sobes.tech
Назад к вопросам
Junior — Middle
60

Каким образом можно проверить, находится ли точка внутри сферы или внутри куба по её координатам?

Ответ от нейросети

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