1 |
function numeric_springing(arg0, arg1, arg2, arg3, arg4, arg5) |
2 |
{ |
3 |
var _x = arg0; |
4 |
var _v = arg1 * (room_speed / arg5); |
5 |
var _x_t = arg2; |
6 |
var _damping = arg3; |
7 |
var _ang_freq = (2 * pi) * arg4; |
8 |
var _t = arg5 / room_speed; |
9 |
var _delta = 1 + (2 * _t * _damping * _ang_freq) + (power(_t, 2) * power(_ang_freq, 2)); |
10 |
var _delta_x = ((1 + (2 * _t * _damping * _ang_freq)) * _x) + (_t * _v) + (power(_t, 2) * power(_ang_freq, 2) * _x_t); |
11 |
var _delta_v = _v + (_t * power(_ang_freq, 2) * (_x_t - _x)); |
12 |
var _ret; |
13 |
_ret[1] = _delta_v / _delta / (room_speed / arg5); |
14 |
_ret[0] = _delta_x / _delta; |
15 |
return _ret; |
16 |
} |