我有一个相对简单的问题,我甚至不知道如何制定谷歌...
说,我有一个可变长度的数组,例如:
[0, 1, 2, 3, 4, 5, 6]
在迭代这样的循环时,我想收到价值观:
[0, 1, 2, 3, 4, 5, 6]
[0, 0.3, 0.7, 1, 0.7, 0.3, 0]
所以基本上,我需要从0到1的值,一直到达中间,然后下降。无论是简单的,还是轻松的,我都不在乎。因此它既可以是定义的弧长,也可以是其他黑客......对每一种方法都感兴趣。
我正在谈论for循环的id。
for x in range(0,6):
y = ?
谢谢!
编辑: 价值观无关紧要!
答案 0 :(得分:1)
如果数组中的值不相关,则输出应为sin( currentPositionOfArray*PI / (lengthOfArray-1) )
。但是,在这种情况下,请确保数组的长度为> 1
。
这意味着对于您的数组[0, 1, 2, 3, 4, 5, 6]
,您会犯[0, PI/6, PI/3, PI/2, 2PI/3, 5PI/6, PI]
的罪,即[0, 0.3, 0.7, 1, 0.7, 0.3, 0]
答案 1 :(得分:0)
或者你可以使用
y = (x*(6-x))/9
或通常用于从0到n的段
y = (4*x*(n-x))/(n**2)
取平方值给出一个开始并结束速度零。