I understand how box collision, sphere collision, and other such collisions work. However, how would one implement realistic 3D collisions? That is, objects would interact with one another as they would in real life. For example, take a rod and a torus. Assume that the thickness of the rod is smaller than the hole in the torus. With simple collision systems, as far as I know, inserting the rod into the hole of the torus would result in a collision detection. In reality, no collision would take place. Hopefully, that explains what I am looking for.
closed as not a real question by msell, Maik Semder, Anko, Byte56♦, Tetrad♦ May 30 '13 at 22:02
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.
You can compound various primitives together to add accuracy to your collision model. For instance in your torus example, you could have a bounding box or sphere around the entire model but then also have a sphere that just encompasses the torus' hole. Then the algo would go: if rod is in box but not in holeSphere, then it's colliding, else if rod is in box and holeSphere, it is not colliding.
You can often use a few basic primitives (planes, rays, boxes, spheres) together to get an acceptable level of accuracy.
Definitely get 'Real time collision detection' by Chtister Ericsson,.