blenderproc.python.sampler.Shell module

Samples a point from the volume between two spheres

blenderproc.python.sampler.Shell.shell(center, radius_min, radius_max, elevation_min=-90, elevation_max=90, azimuth_min=-180, azimuth_max=180, uniform_volume=False)[source]

Samples a point from the volume between two spheres (radius_min, radius_max). Optionally the spheres can be constraint by setting elevation and azimuth angles. E.g. if you only want to sample in the upper hemisphere set elevation_min = 0.

Parameters:
  • center (Union[Vector, ndarray, List[float]]) – Center shared by both spheres.

  • radius_min (float) – Radius of the smaller sphere.

  • radius_max (float) – Radius of the bigger sphere.

  • elevation_min (float) – Minimum angle of elevation in degrees. Range: [-90, 90].

  • elevation_max (float) – Maximum angle of elevation in degrees. Range: [-90, 90].

  • azimuth_min (float) – Minimum angle of azimuth in degrees. Range: [-180, 180].

  • azimuth_max (float) – Maximum angle of azimuth in degrees. Range: [-180, 180].

  • uniform_volume (bool) – Instead of sampling the angles and radius uniformly, sample the shell volume uniformly. As a result, there will be more samples at larger radii.

Return type:

ndarray

Returns:

A sampled point.