On Sat, 26 Apr 2008, baptiste Auguié wrote:
Dear list useRs,
I have to generate a random set of coordinates (x,y) in [-1 ; 1]^2
for say, N points. At each of these points is drawn a circle (later
on, an ellipse) of random size, as in:
N <- 100
positions <- matrix(rnorm(2 * N, mean = 0 , sd= 0.5), nrow=N)
sizes<-rnorm(N, mean = 0 , sd= 1)
plot(positions,type="p",cex=sizes)
My problem is to avoid collisions (overlap, really) between the
points. I would like some random pattern, but with a minimum
exclusion distance. In looking up "Numerical recipes in C", I found
out about some Sobol quasi-random sequences, which one can call from
the gsl package,
That is a hard-core point process, e.g. a special case of a Strauss
process. You will find ways to simulate such a process (there are several
processes, and several ways for most) in the various spatial packages,
including 'spatial' itself.
I think you have misunderstood the point of quasi-random sequences (which,
given the exposition in the edition of NR I have, would be easy to do).
library(gsl)
g <- qrng_alloc(type="sobol",dim=2)
qrng_get(g,n= N) ->xy
plot((xy),t="p",cex=0.5)
but this does not look very random: I clearly see some pattern
(diagonals, etc...), and even the non-overlapping condition is not
impressive.
One (painful) way I can foresee is to check the distance between each
symbol and the others, and move the overlapping ones in a recursive
manner. Before delving into this, I wanted to check I'm not
overlooking something in the rgl quasi-random sequences, or missing a
more obvious way to generate such patterns. Perhaps solving an
electrostatic problem with a potential both attractive at long
distances and repulsive at short distances is a better way? I have a
vague recollection of hearing that somewhere to position points
evenly on a sphere.
Thanks for any comment / suggestion,
Baptiste
_____________________________
Baptiste Auguié
Physics Department
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK
Phone: +44 1392 264187
http://newton.ex.ac.uk/research/emag
http://projects.ex.ac.uk/atto
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
Brian D. Ripley, [EMAIL PROTECTED]
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.