processing / processing/processing-website

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

Offen
#591 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
MDX
Sterne
90
Forks
122
Ø Merge
1 Std. 43 Min.
Gemergte PRs (30 T.)
3

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem Inline-JavaDoc für noise() in core/src/processing/core/PApplet.java an der verlinkten Stelle, sieh dir dann die noise()-Referenzseite unter processing.org/reference/noise_.html und die verlinkte p5.js-Referenz an. Aktualisiere die ungenauen Beschreibungen von Perlin-Noise, um Value Noise davon zu unterscheiden, und stelle sicher, dass der zugehörige Seitentext die korrigierte Erklärung widerspiegelt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.