What is btCManifoldPoint? (Geometrically)
Posted: Sat Aug 14, 2021 5:58 am
Hello,
I'm working on a game using LibGDX, which uses bullet as 3d physics engine.
I have a little experience with bullet. Recently, I started working on contact detection. I'm interested in what btManifoldPoint class represents, like geometrically. It has fields like localPointA, localPointB, positionWorldOnA, positionWorldOnB - but none of them make any sense for me. Why? That might be because I don't have that much experience with contact detection itself. BUT, for me a contact "point" between two bodies is not a mathematical point. It's an area where these objects overlap. And because I'm missing some knowledge in this area, it's why btManifoldPoint just doesn't make sense for me. I was trying to find a geometrical explanation of what those fields of btManifoldPoint are, but I didn't find anything useful. Bullet source code docs also don't describe what those fields are. Would you be so kind and explain (perhaps with images) what is btManifoldPoint? Or maybe there is some physics-for-dummies tutorial somewhere on the web that I fail to find... Any help would be appreciated.
As to why I need that information: I'm working on a multiplayer racing game with fixed tick rate. I want to be able to interpolate the exact (or as accurately as possible) moment in time when car "touched" the checkpoint to get accurate lap times. Please note that this information is just for context - first I really want to understand btManifoldPoint.
I'm working on a game using LibGDX, which uses bullet as 3d physics engine.
I have a little experience with bullet. Recently, I started working on contact detection. I'm interested in what btManifoldPoint class represents, like geometrically. It has fields like localPointA, localPointB, positionWorldOnA, positionWorldOnB - but none of them make any sense for me. Why? That might be because I don't have that much experience with contact detection itself. BUT, for me a contact "point" between two bodies is not a mathematical point. It's an area where these objects overlap. And because I'm missing some knowledge in this area, it's why btManifoldPoint just doesn't make sense for me. I was trying to find a geometrical explanation of what those fields of btManifoldPoint are, but I didn't find anything useful. Bullet source code docs also don't describe what those fields are. Would you be so kind and explain (perhaps with images) what is btManifoldPoint? Or maybe there is some physics-for-dummies tutorial somewhere on the web that I fail to find... Any help would be appreciated.
As to why I need that information: I'm working on a multiplayer racing game with fixed tick rate. I want to be able to interpolate the exact (or as accurately as possible) moment in time when car "touched" the checkpoint to get accurate lap times. Please note that this information is just for context - first I really want to understand btManifoldPoint.