Source code for blenderproc.python.modules.provider.sampler.Uniform3d

import random

import mathutils

from blenderproc.python.modules.main.Provider import Provider


[docs]class Uniform3d(Provider): """ Uniformly samples a 3-dimensional vector. Example 1: Return a uniform;y sampled 3d vector from a range [min, max]. .. code-block:: yaml { "provider": "sampler.Uniform3d", "max": [0.5, 0.5, 0.5], "min": [-0.5, -0.5, -0.5] } **Configuration**: .. list-table:: :widths: 25 100 10 :header-rows: 1 * - Parameter - Description - Type * - min - A list of three values, describing the minimum values of 1st, 2nd, and 3rd dimensions. - list * - max - A list of three values, describing the maximum values of 1st, 2nd, and 3rd dimensions. - list """ def __init__(self, config): Provider.__init__(self, config)
[docs] def run(self): """ :return: Sampled value. Type: mathutils.Vector """ # minimum values vector min = self.config.get_vector3d("min") # maximum values vector max = self.config.get_vector3d("max") position = mathutils.Vector() for i in range(3): position[i] = random.uniform(min[i], max[i]) return position