我首先要说我的微积分非常糟糕,几乎没有使用它的经验。
我正在尝试寻找一种算法来帮助扩展游戏。具体来说,它应该缩放每个级别产生的波的数量。理想情况下,它将采用任何数字作为级别,直到最大整数值。也将有一个最小值和一个最大值,即最小波和最大波。所以:
level = 0到无穷大
minValue = 3
maxValue = 40
result =一种算法,它将具有最大值的最大曲率,并且无论级别是什么值都不应超过该值。我不确定如何计算该值,但我认为它还需要某种阈值,我可以控制该阈值来基于该水平指示曲率。
答案 0 :(得分:3)
尝试下一种方法:
mult = Min(1, (level/MaxLevel)**Somepower))
minValue + (maxValue - minValue) * mult
选择适合您任务的Somepower
值。例如,值2表示抛物线(请注意,值可能小于1)
如果需要更复杂的曲线,请显示所需形状的图片。
编辑:
对于曲线趋向但未超过某个水平的情况,可以选择一些具有水平渐近线的函数。例如:
max * x /(x+1)
or
max * arctan(k*x) * 2 / Pi