This post was first published as an observable notebook. You can find the original, editable, forkable notebook on observablehq.com. It's also the best place to view the code behind each cell.
observable, perlin noise — Feb 19, 2023