Sobes.tech
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