我经常遇到这个问题,但我不确定我是否已经确定了制定它的最佳方法。我认为它需要一个互惠......
基本上,如果x为0,则y应为maxY,如果x为200(或某些maxX),则y应为minY。那么如果给出x,计算y的正确通用公式是什么?
我在Objective-c工作,但问题是数学。
答案 0 :(得分:1)
使用点斜率形式可以找到正确的公式。
y - y1 = m(x - x1)
x1 = 0, y1 = maxY
x2 = 200, y2 = minY
m = (x2 - x1) / (y2 - y1) = 200 / (minY - maxY)
y - maxY = 200 / (minY - maxY) * (x - 0)
y = 200 / (minY - maxY) * x + maxY
答案 1 :(得分:0)
数学上,就是这样:
y = minY + (maxX - x) / maxX * (maxY - minY)
防止int被截断:
y = minY + (double)(maxX - x) / maxX * (maxY - minY)