これは線形代数の問題で、2D および 3D プログラミングに取り組む前に理解する必要があります。私はビジネス アプリケーション プログラマーですが、ゲーム プログラミングに興味を持っています。これは一部の人にとっては簡単な質問かもしれませんが、ご容赦ください。
直線Lは点P1(3,−1,2)と点P2(1,−2,−1)を通る。xy 平面で L の交点を決定します。
これは線形代数の問題で、2D および 3D プログラミングに取り組む前に理解する必要があります。私はビジネス アプリケーション プログラマーですが、ゲーム プログラミングに興味を持っています。これは一部の人にとっては簡単な質問かもしれませんが、ご容赦ください。
直線Lは点P1(3,−1,2)と点P2(1,−2,−1)を通る。xy 平面で L の交点を決定します。
これらの 2 つの点を使用して、直線の方程式を見つけることができます (Google で 3D の直線の方程式を見つける)。 3Dで2つの平面の交点を見つけるグーグル)。
線の z 座標を独立変数として使用し、2 つの点を使用して、z に関する x 座標と y 座標の式を取得できます。
まず、勾配を定義します。
x_slope=(x2-x1)/(z2-z1);
y_slope=(y2-y1)/(z2-z1);
次に、次のようになります。
x-x1=x_slope*(z-z1)
と
y-y1=y_slope*(z-z1)
0 に設定z
して x と y を解くと、
x_plane_coord=x1-(x_slope*z1);
y_plane_coord=y1-(y_slope*z1);