Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

distance and even dust (noise) #43

Open
zachwhalen opened this issue Nov 29, 2022 · 2 comments
Open

distance and even dust (noise) #43

zachwhalen opened this issue Nov 29, 2022 · 2 comments

Comments

@zachwhalen
Copy link

The idea is to use Perlin noise to wander through the z-axis of a book. Think of a book as a three-dimensional cube, then create new pages by sampling two-dimensional noise() to pick which source page to pull each letter from.

To clarify: a conventional graphical application of noise() picks a gray value for each pixel (between 0 and 255) such that nearby values have a decent chance of being similar to each other. This creates an impression of clouds instead of the full chaos of pseudorandomness.

noise-cloud

For this project, I found a book that was about 255 pages long, so instead of picking similar gray values for nearby pixels, it picks letters from nearby pages or even the same page. Adjusting the interval by which the noise() generator steps through its values can change how smooth or choppy the cloud effect appears, so if that's set to very smooth (in my case, 0.001 and less), then the resulting text has large, readable chunks.

It's nearly done! I just need to adjust some finishing touches. I'm coding this in p5.js and using Bindery.js to make a book layout. It's looking pretty good:

Screenshot of two pages from the book. Mostly illegible text, but with cloud-like patterns of coherence.

@lizadaly
Copy link

I love this.

@hugovk hugovk added the preview label Nov 30, 2022
@zachwhalen
Copy link
Author

OK, I think I'm done tweaking it! You can see the code -- such as it is -- in this repository, or you can read a live and ever-new version on p5js.org.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants