Skip to content
第05回 SDFによる形状の表示と合成

3 / 4 二つの距離場の合成 ​

このステップの目的

内側を正にする規約に合わせて、残す領域を選びます。

二つ目の円の準備 ​

前の距離計算を複製します。中心A=(0.4,0.5)、中心B=(0.6,0.5)、両方の半径を0.25にします。それぞれの距離をdA・dBと呼びます。まず各距離を一つずつSmoothstepのInへつなぎ、左右の円が表示されることを確認します。

和集合と共通部分 ​

どちらかの円の内側を残すにはMaximum(dA,dB)を使います。内側の正の値が一つでもあれば、結果は正です。両方の内側だけを残すにはMinimum(dA,dB)を使います。

点の状態dAdBMaximumMinimum
Aだけの内側0.1-0.10.1-0.1
両方の内側0.10.050.10.05
両方の外側-0.2-0.1-0.1-0.2

Maximumの出力をSmoothstepのInへ接続して二つの円がつながる表示を確認します。次にMinimumへ切り替え、重なった部分だけ残ることを確認してください。

重ならない二つの円 ​

中心を(0.2,0.5)と(0.8,0.5)、半径を0.2へ変える前に、Minimumの結果を予想します。

考え方の確認

二つの円に共通する内側がないため、基本の硬い境界の判定では何も残りません。Maximumなら左右の円が残ります。Softnessによる境界の幅と、内側の領域そのものは区別します。

中心を(0.4,0.5)・(0.6,0.5)、半径を0.25、出力をMaximumへ戻します。

チェックリスト
  • MaximumとMinimumを内外の数値から選べる。
  • 重ならない形の共通部分を予想して確認した。