Files
skyview.astronomiemuseum.de/public/py/vendor_linux/skyfield/tests/test_geometry.py
T
2026-07-13 20:00:07 +02:00

31 lines
903 B
Python

from numpy import array, isnan
from skyfield.geometry import intersect_line_and_sphere
def a(*args):
return array(args)
def test_intersect_line_and_sphere():
near, far = intersect_line_and_sphere(a(1000, 0, 0), a(2, 0, 0), 1)
assert near == 1.0
assert far == 3.0
near, far = intersect_line_and_sphere(a(-1000, 0, 0), a(3, 0, 0), 1)
assert near == -4.0
assert far == -2.0
near, far = intersect_line_and_sphere(a(0, 0.5, 0), a(0, 5, 0), 2)
assert near == 3.0
assert far == 7.0
near, far = intersect_line_and_sphere(a(1000, 0, 0), a(0, 5, 0), 2)
assert isnan(near)
assert isnan(far)
near, far = intersect_line_and_sphere(a(1000, 0, 0), a(2, 1, 0), 1)
assert near == 2.0
assert far == 2.0
near, far = intersect_line_and_sphere(a(1000, 0, 0), a(2, 0.999, 0), 1)
assert abs(near - 1.955) < 1e-3
assert abs(far - 2.045) < 1e-3