Вычисление значений в логарифмическом масштабе
Я хочу перерисовать этот масштаб Body Weight
в Редакторе растровых изображений пиксель за пикселем. Как я понял, это логарифмическая шкала, но что такое логарифм - двоичный или десятичный?
Как вычислить расстояние между линиями в пикселях. Может быть, лучше считать от 1 до 70, а не наоборот.
values = []
for kilos, value in enumerate(range(1, 71)):
// some logic
values.append([kilos, pixels])
reverse(values)
1 ответ:
Предполагая, что вы хотите высоту в пикселях 500, вы можете использовать это для получения интервалов:
import math pixels = 500 offset = math.log(10) for x in range(10, 71, 10): print x, int(pixels * (math.log(x) - offset) / (math.log(70) - offset))
Это выход:
Количество пикселей - это всего лишь разница между началом и концом каждого интервала. Измените 500, чтобы соответствовать вашему приложению.10 0 20 178 30 282 40 356 50 413 60 460 70 500