processing / processing/processing-website

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

オープン
#591 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
MDX
スター
90
フォーク
122
平均マージ
1時間 43分
マージ済み PR(30日)
3

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

リンク先の core/src/processing/core/PApplet.java にある noise() のインライン JavaDoc から始め、次に processing.org/reference/noise_.html の noise() リファレンスページと、リンクされている p5.js のリファレンスを確認します。Perlin-noise の不正確な説明を更新して value noise と区別し、関連ページのテキストにも修正後の説明が反映されるようにします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
documentation
issue の種類
ドキュメント
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。