colour.is_within_mesh_volume#

colour.is_within_mesh_volume(points: ArrayLike, mesh: ArrayLike, tolerance: Optional[Floating] = None) NDArray[source]#

Return whether given points are within given mesh volume using Delaunay triangulation.

Parameters
  • points (ArrayLike) – Points to check if they are within mesh volume.

  • mesh (ArrayLike) – Points of the volume used to generate the Delaunay triangulation.

  • tolerance (Optional[Floating]) – Tolerance allowed in the inside-triangle check.

Returns

Whether given points are within given mesh volume.

Return type

numpy.ndarray

Examples

>>> mesh = np.array(
...     [[-1.0, -1.0, 1.0],
...       [1.0, -1.0, 1.0],
...       [1.0, -1.0, -1.0],
...       [-1.0, -1.0, -1.0],
...       [0.0, 1.0, 0.0]]
... )
>>> is_within_mesh_volume(np.array([0.0005, 0.0031, 0.0010]), mesh)
array(True, dtype=bool)
>>> a = np.array([[0.0005, 0.0031, 0.0010],
...               [0.3205, 0.4131, 0.5100]])
>>> is_within_mesh_volume(a, mesh)
array([ True, False], dtype=bool)