このペーパーで説明されているアルゴリズムを実装しようとしています。これは、レイ トレーシングに役立つ、直線に沿ってグリッド セルをトラバースするために使用されます。
http://www.cse.yorku.ca/~amana/research/grid.pdf
この論文では、アルゴリズムを初期化と反復トラバーサルの 2 つの部分として説明しています。反復トラバーサル部分は理解できますが、初期化部分の一部の変数がどのように計算されるかを理解するのに苦労しています。
tMaxX
, tMaxY
, tDeltaX
&の初期化に助けが必要tDeltaY
です。それらの初期化手順は次のように説明されています。
次に、光線が最初の垂直ボクセル境界を横切る t の値を決定し、それを変数 tMaxX に格納します。同様の計算を y で実行し、結果を tMaxY に格納します。これら 2 つの値の最小値は、現在のボクセルにとどまりながら光線に沿ってどれだけ移動できるかを示します。
最後に、tDeltaX と tDeltaY を計算します。TDeltaX は、そのような動きの水平成分がボクセルの幅と等しくなるように、光線に沿ってどれだけ移動する必要があるかを (t の単位で) 示します。同様に、ボクセルの高さに等しい垂直成分を持つ光線に沿った移動量を tDeltaY に保存します。
上記の英語の説明から必要なコードを推測できません。誰かがそれを数学/擬似コード式に翻訳できますか?