At the risk of posting too low-level a question...

Please consider two tori, with tube radii $r_1$ and $r_2$, and center-of-the-hole to center-of-the-tube radii $c_1$ and $c_2$. I'd like to find an analytical expression for the overlap volume as a function of the distance between the hole centers of each tori and the angles between some set of cross-sectional two-dimensional planes. Is there an especially nice way of doing this? Is this problem solved elsewhere, perhaps in a computational geometry package?

Motivation -

There are a wide variety of molecular catenanes documented in the literature (Wikipedia does a nice job for a basic introduction - http://en.wikipedia.org/wiki/Catenane). They consist of topologically linked organic polymers/metallopolymers (rotaxanes and the like), double-stranded (ds)DNA, peptides/proteins/etc. In some of these systems, the dsDNA one for example, we have rigidity (i.e. long persistence length) and intra/intermolecular Coulombic interactions.

I thought it would be really neat to have a general expression for the overlap volume of two tori to help with things like quantitating the entropic cost of a topological linkage between two polymer rings, to look for the influence of Coulombic interactions in restricting orientational freedom (by measuring overlap between the tubes of two tori where the radius is extended to the Debye screening length), and so forth.

I realize that a straightforward approach to finding the analytical expression will almost certainly yield something messy. But I've certainly been surprised by elegant solutions to these types of geometry problems.

Since sphere-sphere intersection is easy to compute (http://mathworld.wolfram.com/Sphere-SphereIntersection.html), perhaps it could take the form of integrating the overlap between the two spheres in orbits defining the tori. Here, you'd do something like draw two circles in 3-space, with radii $r_1$ and $r_2$, representing the set of centerpoints for the tori tubes, then look at the intersection for two spheres placed a distance $D$ apart, where $D$ is also the distance between any two points on the circles. Not sure if this is practical or even if it will yield the correct tori intersection values...