This operator is closely related to the implosion mutation (see
doImplosionMutation
). However, instead of dragging points towards
a center those points are instead moved away from it (similar to particles
affected by an explosion). Again, a center of explosion \(c \in R^2\) and
an explosion radius \(\epsilon = U[min.eps, max.eps]\) are sampled at random.
All points within the ball with radius \(\epsilon\) around \(c\) are moved
away from the center following the direction vector between center and
corresponding point. The internals ensure that moved points have distance
at least \(\epsilon\) to \(c\) after mutation plus an additive random number
sampled from an exponential distribution with rate parameter \(\lambda = 10\).
doExplosionMutation(coords, min.eps = 0.1, max.eps = 0.4, ...)
coords | [ |
---|---|
min.eps | [ |
max.eps | [ |
... | [any] |
[matrix
] Mutated coordinates.