colour.is_within_mesh_volume#

colour.is_within_mesh_volume(points: ArrayLike, mesh: ArrayLike, tolerance: float = 100 * EPSILON) NDArrayFloat[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 (float) – 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)