218function beamAngle(t) { // 弹簧阻尼,确定性逐步积分 219 let th = 0, v = 0; const dt = 1 / 240; 220 for (let s = 49.6; s < t; s += dt) { 221 const [L, R] = weightsAt(s); 222 const tgt = L + R > .01 ? -.22 * Math.tanh(3 * (L - R) / (L + R)) : 0;223 const a = -26 * (th - tgt) - 5.2 * v; 224 v += a * dt; th += v * dt; 225 } 226 return th; 227}