0
我有一些物體以正弦曲線移動。每次到達「波浪」的頂部(或底部)時,我都必須進行動畫處理。我想用微分函數來做到這一點:正如我們所知,它在這一點上改變了數值(從正值到負值或相反)。因此,代碼爲:正弦曲線和微分函數
// Start value
int functionValue = +1;
// Function
float y = k1 * sinf(k2 * Deg2Rad(x)) + y_base;
// Derivative function
float tempValue = -cosf(y);
// Check whether value is changed
if (tempValue * functionValue < 0)
{
animation = true;
}
functionValue = tempValue;
,如果我將輸出tempValue
它顯示陌生號碼:
0.851513
0.997643
0.0242145
0.690432
0.326303
-0.614262
0.892036
0.1348
0.709843
0.968676
0.0454846
0.920602
-0.423125
0.692132
-0.960107
0.0799654
-0.747722
-0.635241
0.148477
-0.98611
0.900912
-0.877801
0.811632
-0.362743
-0.233856
0.35512
-0.994107
0.885184
-0.468005
0.982489
0.675337
0.661048
0.870765
0.0312914
-0.319066
-0.602956
-0.996169
-0.95627
和動畫是奇怪了。不僅在潮流的頂端。那裏有什麼問題?
如果f(x)= k1 * sinf(k2 * Deg2Rad(x))+ y_base,則不是'f'(x)= k1 * k2 * cosf(k2 * Deg2Rad(x))' – 2010-12-21 20:12:13