diff --git a/libs/phys/source/engine_2d.cpp b/libs/phys/source/engine_2d.cpp index 7c7fabba..10dbe2b8 100644 --- a/libs/phys/source/engine_2d.cpp +++ b/libs/phys/source/engine_2d.cpp @@ -473,7 +473,7 @@ namespace psemek::phys2d float q = geom::length(J - n * geom::dot(J, n)); if (q > mu * geom::dot(J, n)) { - float k = (mu * (1.f + e) * geom::dot(J1, n)) / (q - mu * geom::dot(n, J2 - J1)); + float k = (mu * (1.f + e) * geom::dot(J1, n)) / (geom::length(J2 - n * geom::dot(J2, n)) - mu * geom::dot(n, J2 - J1)); J = (1.f + e) * J1 + k * (J2 - J1); }