Как перейти от линейной оси к логу?

У меня есть программа на С ++, которую пользователь нажимает на две точки на экране, и я должен создать логарифмическую шкалу из этого ..

10 100 1000 10000

учитывая, что моя первая точка на 10 пикселей 5 и 10000 на 200 пикселей

Итак, как мне рассчитать уравнение, которое заставило бы мою мышь показывать значение журнала, когда оно указывает на экран.

Благодарю.

0

Решение

Все, что вам нужно, это log функция. Давайте сначала предположим, что нет смещения. Если вам дано значение x по оси X вы можете получить его лог-значение (например, в базе 10):

log(x) / log(10)

Если ты хочешь x считать от определенного смещения (скажем, x0), вы должны настроить x:

log(x - x0) / log(10)

Если вы хотите, чтобы результирующая точка была смещена в точке (скажем, lx0), ну просто сделай это

log(x - x0) / log(10) + lx0
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]