On Mon, Oct 1, 2012 at 10:34 AM, Lorenzo Isella <lorenzo.isella@gmail.com> wrote:
Dear All, I hope this is not too off-topic. I need to know if there is already some ready-to-use SciPy algorithm (or at least if this is easy to implement or not). Consider a dimer, i.e. 2 spheres with a single contact point. This dimer can have any orientation in the 3D and I have the (x,y,z) coordinates of the centre of the 2 spheres. For a given orientation, I want to project the dimer on, let's say, the xy plane and evaluate the area of the surface of its projection. I spoke about a dimer since it is easy to start discussing a simple case, but in general I will deal with objects consisting of several non-overlapping spheres such that any sphere has at least a contact point with another sphere.
There is nothing implemented in scipy for this. For the case of spheres projected (orthographically?) onto a plane, the shadows are probably-overlapping circles (the contact point is irrelevant). It looks like there is an analytical solution to the area of the intersection for circles: http://mathworld.wolfram.com/Circle-CircleIntersection.html You can probably just add up the areas of each circle, then subtract out one copy of each area of intersection to get the area of the union. -- Robert Kern