-2

我经常遇到这个问题,但我不确定我是否已经确定了制定它的最佳方法。我认为它需要一个互惠的...

基本上,如果 x 为 0,则 y 应为 maxY,如果 x 为 200(或某个 maxX),则 y 应为 minY。那么,如果给定 x,计算 y 的正确通用公式是什么?

我正在使用objective-c,但问题是数学问题。

4

2 回答 2

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
于 2013-05-12T03:18:55.287 回答
0

从数学上讲,就是这样:

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

为了防止 int 被截断:

y = minY + (double)(maxX - x) / maxX * (maxY - minY)
于 2013-05-12T03:22:27.720 回答