<br>
For the more general case, I would wager it has something to do with 
vector projection, which you can use to find the length of a &quot;shadow&quot; 
cast by a line.<br><a href="http://en.wikipedia.org/wiki/Vector_projection">http://en.wikipedia.org/wiki/Vector_projection</a><br><br>Your case would be a 3d generalization of it, but I&#39;m sure that has been done somewhere... <br clear="all">

<br>Kevin Gullikson<br><br><div class="gmail_quote">On Mon, Oct 1, 2012 at 10:03 AM, Robert Kern <span dir="ltr">&lt;<a href="mailto:robert.kern@gmail.com" target="_blank">robert.kern@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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