はじめに Part1(基礎編)(ここ) Part2(円柱編) Part3(角柱編) Part4(SDFの加工編) こんにちは、アドベントカレンダー9日目の避雷です。レイマーチングをするにあたって必要不可欠な関数に「距離関数」というものがあります。コピペや暗記してしまえば何も考えずに使えるこれらの関数ですが、ちゃんと考察してみると面白い気づきがあったりします。 今回はレイマーチングにおいて描画処理の根幹を担う距離関数について数学的な解釈をしたいと思います。 本編 そもそもSDFとは SDFとはSignedDistanceFunction(符号付距離関数)の略で、一般に以下の形で定義される関数です。 f:R^n \rightarrow R (nは通常2,3) \\ f(r) < 0 (rが物体内面にあるとき) \\ f(r) > 0 (rが物体外面にあるとき) \\ |f(r)| = 物体表面