给定输入范围限制的输出值公式 - 滑块 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
给定这些参数:
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