4

Sort of like the archipelago map in Age of Empires II

(But this is actually a real question that I do need for my exoplanet research)

  • 1
    +1 for the AOK reference. Have you played on the Zone? As for the question, I guess you will have to look at random sets: http://en.wikipedia.org/wiki/Random_compact_set if you don't want to limit yourself to a specific shape or some other restriction. – Alex Sep 05 '11 at 10:14
  • 1
    Nice Q, but can you be a little more specific about what do you expect? BTW Perlin noise may be some clue. –  Sep 05 '11 at 15:01
  • Haha yes I've played on the Zone before.

    As for what I expect - a bunch of island arcs (sort of like the Indonesian or Hawaiian islands), surrounded by oceans

    Thanks for the suggestions so far - I'll definitely look into them

    – InquilineKea Sep 05 '11 at 18:07
  • @InquilineKea: can you please post an update as to what exactly you would have been able to simulate? I am curious myself as to what the maps might look like. – StasK Sep 06 '11 at 18:35

1 Answers1

2

As a starter, you can generate a Brownian sheet and take slices of it. In two dimensions, a Brownian sheet is a Gaussian process on $[0,1]^2$ with covariance $\mbox{Cov}B(s,t)B(u,v) = \min(s,u) \min(t,v)$, which you can simulate on a grid (Gaussian means that any finite subset of values $B(s_1,t_1),\ldots,B(s_k,t_k), \mbox{all of} (s_1,t_1), \ldots, (s_k,t_k) \in [0,1]^2$ will have a multivariate normal distritubion (see Wikipedia).

If that does not quite work (Brownian sheet tends to produce grid-like patterns, if you trust this paper), you can also simulate spatial processes with sufficiently strong local dependence using anisotropic kernels/variograms that depend only on the distance between two points. Matern covariance function (Wikipedia definition) is a popular choice among geostaticians for its flexible form. So:

  1. Set up a grid of sufficient resolution; this may be a flat set $[0,1]^2$ or a sphere $S_3$ with geodesic distances on it.
  2. Pick parameters of your spatial correlation function. In the above article, $\rho$ is the range parameter (a typical "size" of the island), and $d$ is the shape parameter (how spiky the result is, I am guessing).
  3. Compute the matrix of distances between the pairs of points.
  4. Compute the matrix of covariances based on the chosen variogram and the distances.
  5. Simulate an instance of a multivariate normal distribution (simulating uncorrelated normal variates is easy, and Cholesky decomposition should help to transform them to correlated ones).
  6. Pick as "continents" or "islands" the points on a grid on which the simulated process exceeds a certain level.

I am sure some of the steps can be made super-computationally-efficient, but as a starter this might do.

StasK
  • 31,547
  • 2
  • 92
  • 179