# [SciPy-User] SciPy for Computational Geometry

Yosef Meller yosefmel@post.tau.ac...
Sun Nov 6 08:41:29 CST 2011

```On Monday 31 October 2011 22:14:01 Lorenzo Isella wrote:
> Dear All,
> Imagine that you are sitting at the origin (0,0,0) of a 3D coordinate
> system and that you are looking at a set of (non-overlapping) spheres
> (all the spheres are identical and with radius R=1).
> You ask yourself how many spheres you can see overall.

I'm not sure I understood your problem correctly, but if I got it right, then
you are talking about a 2D problem of circles intersection. Project all the
spheres on a screen behind the farthest sphere, then use the inclusion-
exclusion principle to find intersections between each subset of intersecting
spheres.

This is my take on a similar problem, although possibly simpler:
http://apps.webofknowledge.com/full_record.do?product=UA&search_mode=GeneralSearch&qid=1&SID=T1LjN5d2NKd9GGLMKgG&page=1&doc=1

Analytically calculating shading in regular arrays of sun-pointing collectors

SOLAR ENERGY  Volume: 84   Issue: 11   Pages: 1967-1974   DOI:
10.1016/j.solener.2010.08.006

> The result is in general a (positive) real number as one sphere may
> partially eclipse another sphere for an observer in the origin (e.g. if
> one sphere is located at (0,0,5) and the other (0,0.3,10)).
> Does anybody know an algorithm to calculate this quantity efficiently?
> I have in mind (for now at least) configurations of less that 100
> spheres, so hopefully this should not be too demanding.
> I had a look at
>
> http://www.qhull.org/
>
> but I am not 100% sure that this is the way to go.
> Any suggestion is appreciated.
> Many thanks
>
> Lorenzo
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
```