ベクトルに沿ってポリゴンを3D空間の平面に投影したいと思います。これを行うには、単一の変換行列を使用することが望ましいですが、この種の行列を作成する方法がわかりません。
与えられた
- 平面のパラメーター(ax + by + cz + d)、
- 私のポリゴンの世界座標。見出しで述べたように、私のポリゴンのすべての頂点は別の平面にあります。
- ポリゴンを投影する方向ベクトル(現在はポリゴンの平面の法線ベクトル)
目標 -必要な射影を実行する4x4変換行列、
また
- 自分で構築する方法についての洞察
アップデート
答えてくれてありがとう、それは意図したように動作します。
これを見つけた人への注意:射影の法線の平面が射影ベクトルに平行である場合、分母Dは(ほぼ)0になるので、奇妙なことが起こらないようにするために、この特殊なケースのある種の処理が必要です。D <1e-5かどうかを確認して解決しました。その場合は、ポリゴンを押し出しベクトルに沿って移動します。