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

Fix Inaccuracies in noise() Documentation Regarding Perlin Noise vs Value Noise #591

Open
SableRaf opened this issue Dec 18, 2024 · 0 comments

Comments

@SableRaf
Copy link
Collaborator

SableRaf commented Dec 18, 2024

Select the type of content error.

Factual Mistake

Section

Reference

Location of the error

https://processing.org/reference/noise_.html

Describe the error

This issue is a follow-up to this comment in the p5.js repository.

The current noise() documentation states in multiple places that the function implements Perlin noise. However, this is inaccurate. Processing actually uses a form of value noise, originally ported by Karsten Schmidt from the demo "Art" by the German demoscene group Farbrausch.

This issue was discussed back in 2014, and as a result, the following line was added to the documentation:

There have been debates over the accuracy of the implementation of noise in Processing. For clarification, it's an implementation of "classic Perlin noise" from 1983, and not the newer "simplex noise" method from 2001.

However, this addition did not address the actual inaccuracy, which is that Processing's implementation uses value noise, not Perlin noise. In fact, it reinforces the prior misleading statements.

Suggested correction

I suggest editing the inline JavaDoc in PApplet.java here to add something like the following.

The noise() function is similar to "Perlin noise," a popular technique for for generating smooth, random-like patterns, invented by Ken Perlin while animating the original Tron film in the 1980s. Note that noise() is not an exact implementation of Perlin noise, but belongs to a category called "value noise." which has slightly different properties.

The rest of the documentation page could be similarly edited to focus more on practical use, possibly taking inspiration from the p5.js version.

Related discussions

In processing/processing: Real Perlin noise would be nice #2549
In processing/processing-docs: Perlin noise documentation #51
In processing/processing-web-archive: Perlin noise documentation #423
In processing/p5.js: Code improvements of the Perlin noise generator. #875

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

No branches or pull requests

1 participant