[SciPy-user] Carateristic distance in a cloud of points

Gael Varoquaux gael.varoquaux@normalesup....
Sat Feb 24 13:42:00 CST 2007


I have a cloud of points (for instance given as a (n,3) shaped array,
with columns formed by the x, y and z column vectors).

I would like to find the mean distance in this cloud of points. I do not
need an exact value, I am just interested in a typical distance.

I could do it in a brute force way:

++++++++++++++++++++++++++++++++++++++++++
from scipy import *
x = arange(1, 5)

points = c_[x, x, x]
diffs = abs(points[newaxis, :] - points[:, newaxis])
dists = sqrt(diffs[..., 0]**2 + diffs[..., 1]**2 + diffs[..., 2]**2).ravel()
dists = dists[dists>0]
mean(dists)
++++++++++++++++++++++++++++++++++++++++++

This is actually not as ugly and slow as I originaly thought.

Are there any better ways of doing this ?

Thanks,

Gaël


More information about the SciPy-user mailing list