hirax.net::Keywords::「数値拡散」のブログ



2011-05-28[n年前へ]

「おっぱい」で学ぶ「CIP法」 

 「みんなでCカップを学ぼう!」という勉強会に参加しています。Cカップといっても、JIS L4006「女性用ファンデーションのサイズ表示」で定められた「”バストとアンダーバストの差が15cm”で定義されるCカップ」を勉強しよう!という集まりではなく、CIP-CUP法(CIP-Combined Unified Procedure)という計算手法の勉強会です。

 とはいえ、勉強会の名前が名前ということもあり、頭の中の誰かが題材をすべて「おっぱい」で解説し始めたりする瞬間があります。それは、たとえば、Cカップ(C-CUP)法の基礎となるCIP法を題材にすれば、…こんな具合になります。

 何かしらのものが流れ・動いていくさまを記述するのが移流方程式です。それを差分化して解こうとする時に、差分化された点以外の場所における値を「周囲の”値”を(何かしらの)平均化」をすることで求めようとすると、「平均化処理」は「滑らかにする処理」に他なりませんから、どんどん「(値が形作る波形など)形状」が滑らかになっていってしまいます。これを数値拡散と呼びます。

 たとえば、右の図は「等速度で動く”矩形状分布”」が動くさまを、一次風上差分を用いて計算してみたものです。左が元形状で、右が計算が100ステップほど進んだ時の計算結果です。本来カクばったゴツい形状のはずなのに、滑らかな「おっぱい」形状に姿を変えてしまっているのです。ただ動くだけで元の形が変わってしまうなんて、計算処理としては大問題です。

 こんな変化は、カップ大好き人間にとっては魅力的かも知れません。けれど、「計算処理よりカップ大好き!」という人にもわかる「大問題な例」を示してみましょう。

 それが、右図の例になります。シミュレーションで作成したCカップ形状の分布を、(同じく一次風上差分を用いて)動かしてみた、というものです。初期には「滑らかで魅力的なバスト形状(左図)」であったものが、ただ等速度で動くさまを計算した結果(右図)は、なぜか周囲に伸びて広がってしまい、元の形状の魅力が半減していることがわかると思います。…これほどに、(本来は姿を変えないはずなのに)形状が変わってしまう、というのは大問題なのです。

 そこで、登場するのがCIP法です。「疑似おっぱいの感触を説明するために、オイラーの運動方程式に粘性を導入することで作られたのがナヴィエ・ストークス方程式である」ならば「動くカップ形状を正しく計算するために作られたのがCIP法」なのです。

 CIP法は、元の形状の各点における傾きがどのように動いていくかも解き、差分化された点以外の場所における値を「周囲の”値”と”傾き”から算出する」ので、「平均化」による数値拡散を防ぐことができます。たとえば、山(単バスト)の中央の値を求めるのに、山(単バスト)の左右中腹の平均値を計算しようとするのが、1次風上差分であれば、山(単バスト)の左右中腹の高さと傾き(傾きの”流れ”も計算するのです)から中央の高さを求めようとするのがCIP法です。その違いを考えれば、「なるほどCIP法を使えば”形”が崩れにくそうだ」と納得させれるのではないでしょうか。

 ためしに、「等速度で動くカクばったゴツい形状」と「滑らかで魅力的なバスト形状」を一次風上差分とCIP法を使って移動させてみた計算結果を下に貼り付けてみます。「角張ったものは角張ったままで・滑らかなものは滑らかに」というさまがわかるかと思います。「動くカップ形状を正しく計算するために作られたのがCIP法」なのです。

「おっぱい」で学ぶ「CIP法」「おっぱい」で学ぶ「CIP法」「おっぱい」で学ぶ「CIP法」








■Powered by yagm.net