import numpy as np from intersections import intersect_plane_ray from plane import Plane from ray import Ray from vector import Vector def test_intersections(): r = Ray( Vector.fromargs(0, 0, 1), Vector.fromargs(-1, -1, -1), ) p = Plane( Vector.fromargs(0, 0, 0), Vector.fromargs(0, 0, 1), ) assert intersect_plane_ray(p, r) == Vector.fromargs(-1, -1, 0) np.random.seed(0) for i in range(10): p = Plane(Vector.random(), Vector.random()) r = Ray(Vector.random(), Vector.random()) intersection = intersect_plane_ray(p, r) print(p, r, intersection) assert p & intersection