熱法の誤解

Sep 13 2020

ケンのヒートメソッドというCGの論文をしばらく理解しようとしています。

多くのことがクリックされましたが、私はまだそれを完全には理解していません。特に。

以下では $u$ は、メッシュ内の頂点の数に等しい次元のベクトルです。

論文は、 $(id - t\Delta)u_t = u_0$は、表面の熱流の時間離散化近似です。書き直すと:$u_t = u_0 + t\Delta u_t $ または英語では、時間の熱の流れ $t$ 時間0での熱流にのラプラシアンを加えたものに等しい $u$ 当時の $t$。これは、非常に単純な逆オイラー法です。

次に、それを取得します。 $(M - tL_C)u = δγ,$ 要約すると、これは、媒体を三角形メッシュとして離散化したことを除いて、上記と同じです。

$M$ エントリが $m_{i,i}$ 頂点を含む三角形の面積の合計の3分の2の2倍です $i$。数学で$m_{i,i} = 2\sum_j A_j / 3$ どこ $A_j$ 頂点を含む三角形の領域です $i$。そして$L_C$ は正方形の対角行列でもあります。 $(L_C u)_i = \sum_j (\cot \alpha_{ij} + \cot \beta_{ij})(u_j-u_i)$ 要するに、これは頂点でのラプラス演算子の近似です $i$。

したがって、式を操作します。 $(id - tM^{-1}L_C)u = M^{-1}δγ,$ これは、空間的に離散化された形式です。 $(id - t\Delta)u_t = u_0$。

したがって、これは代数的には理にかなっていますが、今では私が理解できない部分があります。

なぜこれが機能するのですか?なぜその方程式を解くと正しい熱拡散が得られるのでしょうか?私が何を意味するのか説明させてください。私の頭の中では、測地線距離(またはこの方法の目的では同じものである熱流)はメッシュの形状に大きく依存しています。したがって、頂点での測地線距離を知るために$i$ 最初に、ソースに対してその前に来る頂点での測地線距離を知る必要があります。

ただし、この方法は、任意のメッシュと任意の点が与えられた場合、それを意味しているようです。 $p_0$そのメッシュ上。任意のポイントをつかむことができます$p_1$ メッシュ上で測地線からの距離を教えてください $p_1$ に $p_2$ 接続グラフを決定するためにメッシュの完全な接続を調べる必要はありません。

私が求めていることが明確であるかどうかは完全にはわかりません。問題の代数は理解できますが、この方程式を解くと、メッシュ上のあらゆる場所で正しい熱流が得られることを説明できません。特定の接続情報に関係なく、並行して実行できるのはなぜですか?

回答

1 NathanReed Sep 14 2020 at 07:51

方程式を解くとき $(M - tL_C)u = \delta_\gamma$、演算子を効果的に反転する必要があります。 $$ u = (M - tL_C)^{-1} \delta_\gamma $$ 個々のオペレーターが $M$ そして $L_C$メッシュの個々の頂点とエッジに関する情報を含むローカルのみであるため、逆演算子は明らかにローカルではありません。反転は、反転されるマトリックス全体の情報を組み込むグローバル操作です。つまり、メッシュ全体の情報を組み込みます。(ご了承ください$M$ 対角線なので自明な逆関数がありますが $L_C$ 絶対にありません。)

実際には、逆行列を文字通り計算するのではなく、ガウスの消去法などを使用して、 $u$ 与えられた $\delta_\gamma$。その場合、メッシュ全体の情報を統合するのは解決プロセスです。効果的に$L_C$ は隣接する頂点間の一連の制約をエンコードしており、ソルバーはメッシュ全体のすべての制約を一度に満たす必要があります。

(これは簡単に並列化できる仕事ではないことに注意してください。並列処理を使用して大規模な線形システムの解法を加速する方法はありますが、問題のさまざまな「スケール」間で情報を上下に転送するマルチパス方法になります。考えてみてください。並列プレフィックススキャンやFFTのようなものです。)

ところで、この方程式の別の見方は、の不動点を解いているということです。 $u$ に $$ u = M^{-1}(\delta_\gamma + tL_Cu) $$これは、同じ方程式を代数的に書き直すもう1つの方法です。この形式では、レンダリング方程式によく似ています$L = L_e + \int L \, f_{\text{brdf}}$!それは同様の構造を持っています、$\delta_\gamma$ 放出された放射輝度のようなものであり、 $L_C$表面での散乱のようなものです。レンダリング方程式と同じように、グローバルな平衡解を探しています。(レンダリングが離散化されている場合は、散乱演算子を行列に変換し、すべてを線形ソルバーにスローすることで、同様に解決できます。)