リファレンス computeNormals()

computeNormals()

ジオメトリの各頂点の法線ベクトルを計算します。

すべての3D形状は、頂点と呼ばれる点の集合を接続して作られています。 ジオメトリの表面は、頂点を接続して三角形を作り、それらを縫い合わせることで 形成されます。ジオメトリの表面上の三角形のパッチはと呼ばれます。 myGeometry.computeNormals()は、各面の向きを決めるために必要な 計算を行います。向きは、照明やその他の効果のために重要です。

面の向きは、その法線ベクトルによって定義されます。法線ベクトルは 面から外向きに伸び、表面に対して垂直(法線)です。 myGeometry.computeNormals()を呼び出すと、まず各面の法線ベクトルを 計算します。次に、各頂点の周囲の面の法線ベクトルを平均化して、各頂点の 法線ベクトルを計算します。頂点の法線はp5.Vectorオブジェクトとして myGeometry.vertexNormals配列に格納されます。

最初のパラメータshadingTypeはオプションです。定数FLATを渡すと、 例えばmyGeometry.computeNormals(FLAT)のように、隣接する面に共有する 頂点のコピーを提供します。表面はフラットシェーディングでタイル状に見えます。 定数SMOOTHを渡すと、例えばmyGeometry.computeNormals(SMOOTH)のように、 隣接する面が共有する頂点を再利用します。表面はスムースシェーディングで より滑らかに見えます。デフォルトでは、shadingTypeFLATです。

2番目のパラメータoptionsもオプションです。roundToPrecision プロパティを持つオブジェクトを渡すと、例えば myGeometry.computeNormals(SMOOTH, { roundToPrecision: 5 })のように、 計算に使用する小数点以下の桁数を設定します。デフォルトでは、 roundToPrecisionは3桁の小数点を使用します。

実例

シンタックス

computeNormals([shadingType], [options])

パラメーター

shadingType
String:

シェーディングタイプ。FLATまたはSMOOTH。デフォルトはFLATです。

options
Object:

シェーディングオプション。

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/p5.Geometry.js and open a pull request!

関連するリファレンス