如何从线性轴到日志?

时间:2013-12-11 18:57:02

标签: c++ scale

我有一个c ++程序,用户将点击屏幕上的两个点,我必须从中创建一个对数比例..喜欢:

10 100 1000 10000

假设我的第一个点是10个上映像素5,并且在像素200处给出了10000个

那么如何计算使鼠标指向屏幕时显示日志值的等式。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要的只是log功能。让我们首先假设没有偏移。如果您在X轴上获得x的值,则可以通过以下方式获取其日志值(例如,在基数10中):

log(x) / log(10)

如果您希望x从某个偏移计算(例如x0),则应调整x

log(x - x0) / log(10)

如果您希望结果点在某一点(例如lx0)偏移,那么就这样做:

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