resqpy.olio.intersection.last_intersects

resqpy.olio.intersection.last_intersects(line_set_intersections)[source]

From the result of line_set_triangles_intersects(), returns a vector of intersection points, one per line.

argument:
line_set_intersections (numpy float array of shape (nl, nt, 3)): where nl is the number of lines,

nt is the number of triangles and the final axis is x,y,z; nan values indicate no intersection; this array is as returned by the line_set_triangles_intersects() function or the poly_line_triangles_intersects() function

Returns:

numpy float array (nl, 3) – intersection points, where nl is number of lines

Notes

Use this function to force at most one intersection point per line (with a triangulated surface). Applicable where lines are expected to be very roughly orthogonal to a gently verying untorn surface, eg. pillar lines intersecting an unfaulted horizon. If more than one triangle is intersected by a line, the returned point is for the ‘last’ triangle intersected by the line (when checking triangles in the order they appear in the list of triangles). If no triangles are intersected by a line, the resulting point will be (nan, nan, nan).