On this page | |
Since | 20.5 |
このノードは、Linear Solver SOPノード用のフォーマットで入力メッシュから
離散ラプラシアン
行列を計算するローレベルなノードです。
離散ラプラシアンにはいくつか色々な定義が存在し、このノードは、グラフィックスにおけるいくつかの一般的な定義を実装しています。
デフォルトの Cotan ラプラシアンを使用することをお勧めします。
このノードの出力は、Pointアトリビュートとして格納され、その出力ジオメトリをLinear Solver SOPノードの入力として渡し、行数と列数が同じ LIL-Row Major(LIL行優先) 形式になるようにその入力行列を設定して、その行列を読み込みます。
必要に応じて、 Diffusion Matrix オプションを有効にすることで、このノードは、I+tL
形式の行列(I
が単位行列、L
がラプラシアン行列、t
がスカラー係数)を出力します。
Note
Cotan 、 Mean Value 、 Wachspress のモードは、メッシュラプラシアンを計算するのに対して、 Tutte モードは、グラフラプラシアンを計算し、接続情報を使用することでどの入力メッシュにも対応しています。
Mean Value と Wachspress のラプラシアンは、入力として三角形メッシュしか対応していません。 Cotan ラプラシアンは、入力としてどのポリゴンメッシュにも対応しています。
出力される行列は、 Cotan または Tutte のどちらかのラプラシアンを使用し、且つ、 Separate Mass オプションが有効な時にのみ対称になります。 Separate Mass オプションを有効にすると、このノードは、ポアソン方程式の右側に乗算する質量行列を追加で出力するので、ラプラシアン行列は対称になり、対称行列に対して効率が良い線形ソルバが使用できるようになります。
パラメータ ¶
Mode
離散ラプラシアンの計算に使用される数式を指定します。
Cotan: CotanLaplacian。 Separate Mass オプションを有効にすると、このオプションは、面積ウェイトが質量行列として個別に維持された対称行列を出力します。 無効にすると、面積ウェイトが適用された非対称行列を出力します。
Note
Cotanラプラシアンの非三角形メッシュへの一般化は、Bunge et al氏の“Polygon Laplacian Made Simple”(2020)の論文に基づいています。 このモードは、三角形メッシュだけでなく非三角形メッシュも対応していますが、このノードは、三角形メッシュのほうが高速に実行されます。
Mean Value: 平均値ラプラシアン。
Note
平均値ラプラシアンは、Floater氏とHormann氏の“Surface Parameterization: a Tutorial and Survey”(2005)の論文に基づいています。
Wachspress: Wachspressラプラシアン。
Note
Wachspressラプラシアンは、Meyer et al氏の“Generalized Barycentric Coordinates on Irregular Polygons”(2002)の論文に基づいています。
Tutte: Tutteラプラシアン。 Separate Mass オプションを有効にすると、このオプションは、正規化ウェイトが質量行列として個別に維持されたKirchhoff行列と呼ばれる対称グラフラプラシアンを出力します。 無効にすると、行単位で正規化が適用された非対称行列を出力します。
Separate Mass
Cotan モードと Tutte モードでは、これを有効にすると、このノードは、ラプラシアン行列を対称に維持しつつポアソン方程式の右側に乗算する質量行列を追加で出力します。
このオプションを使用すれば、離散ポアソン問題をLu=f
(L
は非対称ラプラシアン行列)として解く代わりに、Cu=Mf
(C=ML
は出力される対称行列)を解くことができます。
Cotan モードでは、質量行列は集中質量行列です。
したがって、質量行列は対角行列で、浮動小数点アトリビュートとして格納されます。
Diffusion Matrix
有効にすると、このノードは、I+tL
(I
は単位行列、L
はラプラシアン行列、t
はスカラー係数)形式の行列を出力します。
Separate Mass を有効にすると、このノードは、代わりにM + tML
行列(M
は質量行列)を出力します。
Diffusion Coefficient
Diffusion Operator オプションを有効にすると、このパラメータには、スカラー係数のt
を指定します。
Epsilon
ラプラシアンの計算時にゼロ除算を回避するのに使用される小さなプラスの浮動小数点値。 通常は、ゼロのイプシロンでも上手く動作しますが、縮退入力があって、線形ソルバーが数値問題のエラーを報告する場合は、小さなプラスの値を設定する必要があります。
Col Attribute
LIL Row-Major(LIL行優先)行列の列のインデックスを格納する出力整数配列アトリビュートの名前を指定します。
Value Attribute
LIL Row-Major(LIL行優先)行列のデータ値を格納する出力浮動小数点配列アトリビュートの名前を指定します。
Mass Attribute
Separate Mass オプションが有効な場合に、質量行列の対角エントリを格納する出力浮動小数点数アトリビュートの名前を指定します。
Examples ¶
LaplacianSmoothing Example for Laplacian geometry node
このサンプルでは、Laplacian SOPを使用して、典型的なLaplacianスムーズテクニックによって入力サーフェスジオメトリを滑らかにする方法を説明しています。
See also |