我无法通过这个思考,我认为这是答案非常简单的时刻之一,但我太接近问题而无法看到解决方案。
我有一个可以改变的距离,一个物体必须在同一时间内穿过这个距离而不管长度。
距离的起点值为0,距离的终点值为1。
显然,保持时间相等的长度越大,增量越小。
我可以使用什么公式计算0-1增量,但保持时间相等。
我知道这似乎过于复杂的增加方式,但它是我给予的第三方插件的一部分。
我在C#编码。
感谢。
[编辑] 对不起,我不是很清楚。 对于增量,起点始终为0,终点始终为1。 因此,对象可以移动+ = 0.5,例如。 因此,当长度从30增加到65时,从0增加到1需要更长的时间。
答案 0 :(得分:1)
因此,您正在寻找一种方法,使[x
,0
]范围内的数字1
能够映射到某个任意范围内的某些y
[{1}} {1}},min
],并且正在寻找增量值a,以便max
- > x
然后y
+ x
- >某个常数a
y
+ b
?如果我已正确理解您的问题,那么您的b
值应为:
a
注意:请确保为C#正确格式化,特别是确保投射等等。
这基本上是说a = b / (max - min)
应该是a
跨越范围的一小部分,如果a
是b
到min
的范围的一半},然后max
应为0.5,如果a
跨越范围的五分之一,则b
应为0.2。