ゲームで作業するときにまったく同じ問題が発生し、数学を正しく実行するのに永遠に時間がかかりました(ブレ)。だからここにある:
minDistanceToStop = 0.5 * acceleration * Math.Pow(velocityLinear() / acceleration, 2.0);
通常の数学に書き直されました:
(Acceleration / 2) * (linearVelocity / Acceleration)^2
あなたの場合の加速は1であり、linearVelocityは10です:
(1 / 2) * (10 / 1)^2
= 50 units to stop
編集
ジミーの結果と説明は両方とも正しい。私の式では、速度の半分も追加する必要があります。
minDistanceToStop = (0.5 * acceleration * Math.Pow(velocityLinear() / acceleration, 2.0)) + (velocityLinear() / 2);
または
((Acceleration / 2) * (linearVelocity / Acceleration)^2) + (linearVelocity / 2)
((1 / 2) * (10 / 1)^2) + (10 / 2)
= 55