Функция range служит для перевода значения из одного диапазона, например от 0 до 1000 в другой, например от -1 до 1. Для быстрого получения значения в разных диапазонах, определим свою функцию range.
Формула для перевода значения из одного диапазона в другой следующая:
Определим функцию в соответствии с формулой:
1 2 3 4 5 |
def range(value, min_src=0.0, max_src=1.0, min_dest=0.0, max_dest=1.0): if max_src == min_src: return 0.0 else: return ((value - min_src) / (max_src - min_src)) * (max_dest - min_dest) + min_dest |
Теперь мы можем с ее помощью легко получить значение, например из диапазона 0 … 10 в диапазоне -1 … 1 для координаты X положения текущего активного объекта:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
print(bpy.context.object.location.x) # 6.05 print( range( bpy.context.object.location.x, min_src = 0, max_src = 10, min_dest = -1, max_dest = 1 ) ) # 0.21 |