2013-05-12 35 views
-2

我经常遇到这个问题,但我不确定我是否已经确定了制定它的最佳方法。我假设它需要一个相互...范围内反距离的数学公式

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

我在Objective-C中工作,但问题是数学。

+0

你能举一些例子... – 2013-05-12 03:24:24

+0

你想一个线性关系或别的东西?有无限多的功能可以满足您的要求 - 更精确的功能可以帮助您获得您正在寻找的答案! – Floris 2013-05-12 03:27:10

+0

线性很好,是的。约翰·阿塔克说得没错。 – soleil 2013-05-12 03:33:56

回答

0

在数学上,这将是这样的:

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

为了防止INT被截断:

y = minY + (double)(maxX - x)/maxX * (maxY - minY) 
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