制造罪恶' arc'确切的长度

时间:2016-02-03 19:52:42

标签: python math

我有一个相对简单的问题,我甚至不知道如何制定谷歌...

说,我有一个可变长度的数组,例如:

[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 = ?

谢谢!

编辑: 价值观无关紧要!

2 个答案:

答案 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)

取平方值给出一个开始并结束速度零。