From 28b676b0026ef9aa6d19a9aa8874d527dd72bce9 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 29 Nov 2020 14:33:35 +0300 Subject: [PATCH] Fix friction collision --- libs/phys/source/engine_2d.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); }