私は最近、HTML5 キャンバスを試していて、比較的少ないコードでこの 3D の例に出くわしました。3D レンダリングの良い入門書を見つけたいと思っていましたが、コードの背後にあるジオメトリを理解するのに予想以上に苦労しています。私は JSbin をセットアップし、彼の Web サイトで使用されていたコードをコピーして遊んでみました。私はの意味を理解するのに行き詰まっています
deltaX=1/Math.cos(theta);
これは後で次のように使用されます。
if (deltaX>0) {
stepX = 1;
distX = (mapX + 1 - x) * deltaX;
}
else {
stepX = -1;
distX = (x - mapX) * (deltaX*=-1);
}
私の最善の推測はcos(x) = adjacent/hypotenuse
、直角三角形の関係に使用されているということですが、三角形がどこに収まるかはわかりません。