blenderproc.python.sampler.Shell module

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.