Skip to content

改訂前の参考解説

このページは改訂前の教材です。現在の授業の回番号・内容は、後期の授業計画で確認してください。

第21回 Ray Marchingによる表面の探索

2 / 4 距離に応じたSphere Tracing ​

このステップの目的

表面を越えない歩幅の条件を理解します。

空いている範囲を使う ​

現在位置で表面までの距離が2なら、その点を中心とする半径2の内側に表面はありません。Rayの方向へ2進むことができます。移動先で距離を読み直し、同じ処理を繰り返します。このように距離を歩幅へ使う方法をSphere Tracingと呼びます。

前の例では、(0,0,3)で距離2を読み、2進むと球の表面です。Rayが斜めの場合は、一回で表面へ届かず、複数回近づくことがあります。すべての画素が同じ回数で終わるわけではありません。

任意の値を歩幅にしない ​

この考え方には、実際の表面までの距離を過大に見積もらない値が必要です。単なる白黒ノイズを距離だと見なしたり、変形後も補正せず距離を使ったりすると、表面を飛び越す可能性があります。基本は距離が明確な球で追います。

条件を変えた確認 ​

始点(0,0,3)、方向(0,0,−1)、半径1の球で、t=0の位置・d・次のtを書きます。その後、移動先でdを読み直してください。

考え方の確認

最初は位置(0,0,3)、d=2、次のt=2です。移動先(0,0,1)ではd=0です。歩幅を使って移動することと、移動先で命中を確認することを区別します。

現在位置→距離評価→終了判定→移動の順序を残します。

チェックリスト
  • 距離2を歩幅へ使える理由と、任意のノイズでは保証できない理由を説明できる。
  • 変更した条件と、予測・計算した結果を対応付けて説明できる。