0
\$\begingroup\$

enter image description here

Two rectangles collide, use the following formula to calculate:

$$ J = \begin{vmatrix} J_{1} \\ J_{2} \\ J_{3} \\ \end{vmatrix} $$ $$ J_{n} = \begin{vmatrix} \overrightarrow{n} & \overrightarrow{r_{a}}\times \overrightarrow{\omega_{a}} & -\overrightarrow{n} & -\overrightarrow{r_{b}}\times \overrightarrow{\omega_{b}} \\ \end{vmatrix} $$ $$ \lambda = (JM^{-1}J^{T})(-JV-b) $$ $$ \bigtriangleup V = M^{-1}J^{T}\lambda $$

\$J_1, J_2, J_3\$ represents 3 collision points. The problem now is: the "sticking" effect is found after solving. I think it's the reason why the lambda (\$\lambda\$) value is negative.

I tried clamping lambda to a value greater than 0 and using "warm start", but "overshoot" occurred again.

Is there any good solution?

\$\endgroup\$

0

You must log in to answer this question.