Math 在两个数字之间增加整数以创建最平滑的线

Math 在两个数字之间增加整数以创建最平滑的线,math,linear-programming,Math,Linear Programming,我想做一个公式/函数/算法来计算两组数字之间最平滑的线 Set1: (214,224,238) Set2: (180,207,226) 将上述两组视为成对 214-180 224-207 238-226 我相信第一步是使每组配对之间的差异最小。在这种情况下,它是12,因为238-226=12。然后我们可以为另外两对增加12倍 214-180 = 34. 34/12 = 2.83333333 214 - (2.83333 * 12) = 180 如果这个问题允许我们使用

我想做一个公式/函数/算法来计算两组数字之间最平滑的线

Set1: (214,224,238)  
Set2: (180,207,226)
将上述两组视为成对

214-180  
224-207  
238-226
我相信第一步是使每组配对之间的差异最小。在这种情况下,它是12,因为238-226=12。然后我们可以为另外两对增加12倍

214-180 = 34.  
34/12 = 2.83333333   
214 - (2.83333 * 12) = 180
如果这个问题允许我们使用小数,那就很简单了。问题是我们不能有小数点。每个值必须是整数。因此,在本例中,10次迭代将减少3次,2次迭代将减少2次

至于平滑度,2-2次迭代应该在3次迭代之间等距分布是有意义的。因此,模式将是

3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3. 
211, 208, 205, 203, 200, 197, 194, 192, 189, 186, 183, 180
希望我已经解释清楚了。感谢您的建议。

在整数网格上绘制线条的方法。 算法在整个范围内分配步骤

也许这对你来说是合适的


与您的方法不同的是:您使用的是最小的坐标差,而此算法(最大的一个)是为了达到声称的目的(最平滑的线)。

为什么不直接用浮点计算,然后进行舍入?第i个值将是roundstart+i/n*end-start,其中n是总步数。@NicoSchertler好吧,我想你已经回答了。。如果你想发布答案,我可以接受。