我有一些功能:javascript數學公式。發現反
function calc_degree(a,b,c,cnt) {
if(cnt==0) {
return a;
}
b = b+c;
a = a-b;
return calc_degree(a,b,c,cnt-1);
}
不久,它Calcs(計算)的旋轉度一些cicle,其轉速增大順利。函數返回旋轉的摘要度數。例如:
calc_degree(0,0,1.5,6*1000/time_out);
//a - start angle; b-value of increasing ratoation degree every tick.
//c-increase value; time_out - interval of rotation.
在此示例中,函數返回6秒的總旋轉角度。 那麼,如果我知道「a」和「cnt」,我該如何計算「c」參數?我需要獲得增加值,知道旋轉和時間/滴答的概要程度。如果我的「a」值是2790,則需要每次減少「c」值,最後一個值「a」必須爲零。
謝謝,我會嘗試你的算法)我會在這裏寫功能,如果它的工作) – Alexey
嗯..我試圖意識到它,但它不工作。 'var all_d = calc_degree(0,0,1.5,3 * 1000/50); // 3秒鐘「a」= -2745; b = 90;' 因此,你的算法有一個「c」= 1.8970588235294117。 但我需要將值倒置6秒以獲得值:a = 0; B = 0;並且c值是錯誤的。哪裏有我的錯誤? 檢查我使用過'calc_degree(-2790,90,-1.897,6 * 1000/50);' – Alexey
有一些小錯誤,'b'的新值用於更新'a'這將總和超過0 ... n-1轉換爲1 ... n之和。添加反轉公式,注意你需要'b [0] =(n-1)/ 2 * a [0]',然後'c = -b [0]/n'。 – LutzL