resqpy.olio.intersection.line_triangle_intersect_numba

resqpy.olio.intersection.line_triangle_intersect_numba(line_p: ndarray, line_v: ndarray, triangle: ndarray, line_segment: bool = False, l_tol: float = 0.0, t_tol: float = 0.0) Union[None, ndarray][source]

Find the intersection of a line within a triangle in 3D space.

Parameters:
  • line_p (np.ndarray) – a point on the line.

  • line_v (np.ndarray) – vector being the direction of the line.

  • triangle (np.ndarray) – three corners of the triangle (second index is xyz).

  • line_segment (bool) – if True, returns None if intersection is outwith (line_p .. line_p + line_v).

  • l_tol (float, default 0.0) – a fraction of the line length to allow for an intersection to be found just outside the segment.

  • t_tol (float, default 0.0) – a fraction of the triangle size to allow for an intersection to be found just outside the triangle.

Returns:

point (np.ndarray) of intersection of the line within the triangle, or None if line is parallel to plane of triangle or intersection with the plane is outside the triangle.