PolyDataFilters.ray_trace#
- PolyDataFilters.ray_trace( )[source]#
Perform a single ray trace calculation.
This requires a mesh and a line segment defined by an origin and
end_point.Warning
This filter uses the mesh’s
obbTreeproperty internally to compute the intersection. Since the obb tree is cached, the intersection may not be valid if the mesh’s geometry is modified in between filter calls.- Parameters:
- originsequence[
float] Start of the line segment.
- end_pointsequence[
float] End of the line segment.
- first_pointbool, default:
False Returns intersection of first point only.
- plotbool, default:
False Whether to plot the ray trace results.
- off_screenbool,
optional Plots off screen when
plot=True. Used for unit testing.
- originsequence[
- Returns:
- intersection_points
numpy.ndarray Location of the intersection points. Empty array if no intersections.
- intersection_cells
numpy.ndarray Indices of the intersection cells. Empty array if no intersections.
- intersection_points
Examples#
Download Python source code | Download Jupyter notebook
Compute the intersection between a ray from the origin to
[1, 0, 0] and a sphere with radius 0.5 centered at the
origin.
Show a plot of the ray trace.
>>> point, cell = sphere.ray_trace([0, 0, 0], [1, 0, 0], plot=True)
See Also#
PolyDataFilters.multi_ray_traceDataSet.intersect_with_lineDataSet.find_closest_cellDataSet.find_containing_cellDataSet.find_cells_along_lineDataSet.find_cells_within_bounds- Visualize the Moeller-Trumbore Algorithm
Example of ray-tracing using the Moeller-Trumbore intersection algorithm.
DataSet.find_cells_within_bounds
Used In#
Gallery Examples