给定输入范围限制的输出值公式 - 滑块 UI

Formula for output value given a restricted range of input - Slider UI

给定这些参数:

minX = 10.0
maxX = 200.0
minY = 300
maxY = 700

用户可以在 minX 和 maxX 之间移动 x。找到 y,使其在 minY 和 maxY 之间的比例与 x 在 minX 和 maxX 之间的比例相同。所以如果 x = 10,y = 300。如果 x = 200,y = 700。

虽然 x 是一个浮点数,但 y 必须是一个整数。

这个公式会是什么样子?

我试过下面的方法,但效果相反。

y = minY + (double)(maxX - x) / maxX * (maxY - minY)

这应该有效:

((x - minX) / (double)(maxX - minX)) * (maxY - minY) + minY

((x - minX) / (double)(maxX - minX)) 计算 x 范围内 x 的 "percentage"。然后,您只需乘以 y 范围的大小 ((maxY - minY)) 并加上下限即可得到 y