If you used voronoi diagrams, you define “feature points” loop through the pixels, sort the nearest features from the current pixel and have coeffecient multipliers for each distance on… An equation says a thousand words:
currentPixel = constant1 * nearestDistance + constant2* secondNearestDistance + constant3 * thirdNearestDistance…
Ofcourse, for performance reasons, i suggest you only need to use the first and second nearest distances, because you can take advantage of that if the first and second nearest distances are very very similar you end up (with the correct coeffecients) is a shallow (or high, depending on the coeffecients) point where pixels have a closely matching . Say if the first coeffecient was positive and the second coeffecient was negative, you would end up near 0 with equal distances.
So then, loop again through the pixels and only make the ones below a certain threshold passable and the rest, nonpassable. It gives a nice, organic feel to map if thats what you wanted.
DP