Bullet is a physics library for objects over a 3-D euclidean space. I am in need of physics simulation on objects in a 3-D spherical space (i.e. the surface of a 4-D hypersphere). These are some thought on it:
* Mathematically, it means every transformation transformation tracked by, say, btMotionState, would be a 4x4 rotation matrix, thus, an orthonormal matrix.
* All points in this space are 4-D vectors of length R, where R is the hypersphere radius. For simplicity sake, I've set it to 1.
* Vector quantities, like velocity, force, etc, are not vectors, but 4x4 rotation matrices.
*Gravity can't be directional because, well, it is the surface of a sphere... I can only think of a vector field in order to represent it, if I ever need it someday.
* About the force solvers, I have no idea on how to do it (neither normal 3-D nor spherical), but I assume it must be almost the same thing...
* I can't imagine a broadphase scheme for collision detection, but I suppose I would have to use euclidean distance (and bounding sphere), since bounding boxes makes little sense here.
* For narrowphase, GJK seems to work well here, since it can be generalized to any dimension, but would probably need to be rewritten.
So, on the opinions of people inside bullet, how much effort would take me, a mere bullet user, to adapt it to my needs? Is it feasible? Do you have any thoughts or advice?