Poisson Disk Sampling

141 points19 comments16 hours ago
akkartik

Still one of the most satisfying debug UIs I ever came up with.

https://akkartik.name/post/2023-11-04-devlog

show comments
jacobolus
show comments
mi_lk

Off-topic but I quite like another post about relationships on this site: https://stripeacross.com/posts/no-bf-22/

kleiba2

Possibly interesting post from Casey Muratori, regarding random placement of grass in games: https://caseymuratori.com/blog_0013, using blue noise.

show comments
Terr_

> Consider when the algorithm places a point p and then samples its annulus to get a new point q.

I was confused for a while thinking p and q were swapped here, relative to the visualization below. [0] However I now think what I missed is that that the visualization is showing two points that are already firmly-established, and the question is where a potential third (unseen, unnamed) point could be placed.

So metaphorically speaking, it's about picking a new direction of travel that isn't guaranteed to be into your own recent footsteps.

[0] You might say I have problems minding my p's and q's.

PiXeL161616

Never found a way to do this per-pixel in a shader, Bridson's needs the active list. Ended up hashing cells and jittering inside them instead.

show comments
hingler36

I love these kinds of problems, because they try to produce what humans perceive as random instead of something truly random. Another great example of this is blue noise

show comments
addag

I'm wondering if it can be used as a low-discrepancy sequence

show comments
WithinReason

I see the generated points often form lines which would cause aliasing in computer graphics, why not use low discrepancy sequences instead?

yanjunnf

Magical algorithm

jonstewart

Oh, that’s rather a different sort of disk sampling than I imagined.