I think I just figured out a way to create pretty good blue (ish) noise sample locations really quickly. This could lead to either me publishing a paper, or me realizing I'm a total dumbass and my idea is worthless.
Place your bets, ladies, gentlemen, and everyone in between!
Ok, there's still a _bit_ of clustering and I'm not sure where it's coming from, because there shouldn't be any. I'll investigate tomorrow...
Hah! And this gave me an idea for generating uniform random values on a circle really fast. This is gonna be useful 😊
@jon_valdes probably referencing your paper in libnoise-java if you're right though. the best-quality alternative for, say, picking tree locations, is a really elaborate Wang Tile method to generate poisson disc points. if I can find a context-free alternative that's really big
@falkreon not sure. This method would distribute a fixed number of points on a 2D region. No idea if that would work for your use case.
@jon_valdes Ah, so there's context, but you still might beat poisson disc noise for computational complexity
@falkreon this thing is fast as hell, but it's not proper blue noise. Hopefully I can approximate the properties of blue noise well enough, but right now you can see either too much regularity or too much clustering.
@jon_valdes yeah, I'm not looking for a mathematically perfect poisson disc. Just something that avoids clustering a little better than a square lattice with random node locations
@falkreon this... might do the trick for you, then. It's also stratified sampling, but with a small twist to avoid clustering. There's a guaranteed minimum distance between points (which is quite smaller than the average distance , unfortunately.... but I might be able to improve on that). And because it's stratified sampling, you can cover the entire plane with points, without any context.
@falkreon Problem right now is I'm trying to balance the clustering against the lattice regularity. Tomorrow I'll try running some statistical tests, see which tweaks look better.
This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!