Stepping away from the computer as always produces new ideas. While running, I realised that I could dramatically improve my figure-yield by changing the way I randomise the orbital characteristics: instead of just multiplying each of the six parameters by a random value (between, say 0.999 and 1.001) each time, I can precalculate a random walk of values for each parameter which is guaranteed to return to 0 by:
- generating a randomised set half of [total iterations] long;
- copying it & multiplying each element in the copied set by -1;
- shuffling the full-length set.
C. 50,000 random values later, done! Works well, and allows me to explore some higher-randomness spaces with reasonable yields (I still don't get 100% yield: not sure if it's accumulated floating-point errors or some other issue).
Five rows in the figures below, with descending mutation values: from 0.005 in the first row to 0.001 in the last. Interesting to see how somewhere between 0.003 and 0.002 it becomes "rational".