Precision problem when doing collision detection? I've got this problem, and I don't know what may be the cause of it. I finished reading this article on sphere triangle collision. My character (the sphere) stops before it reaches the triangle, and then over like 2 seconds it slowly reaches the "expected" spot where I really want it to stop. Thing is, I tried switching my whole algorithm from floats to doubles, and they problem stays. So I'm not really sure if that's a number precision problem, although after many debugging I think that there could be a problem with the precision of the next calculation (t0 and t1) Real signedDistToTrianglePlane trianglePlane.signedDistanceTo(colPackage gt basePoint) Real normalDotVelocity glm dot(trianglePlane.normal(),colPackage gt velocity) t0 ((Real) 1.0 signedDistToTrianglePlane) normalDotVelocity t1 ((Real)1.0 signedDistToTrianglePlane) normalDotVelocity Could the dot product function be a trap for precise calculations? (signedDistanceTo() uses glm dot as well) Here's my collision detection amp response algorithms. One last thing to note is that on page 47 in the article, the author uses a verySmallDistance number where he only updates some variables if distanceToCollision is bigger than it. I don't understand these lines. I've been struggling with this issue for a week now. Any help or idea on the subject will be highly appreciated!