これはかなり複雑な説明になるので、我慢してください。3D空間では、プレーヤーには、x軸とy軸を中心とした回転という2つの回転値があります。ビュー距離を指定して、プレーヤーのビューポートの中心にあるポイントを計算しました。これは、ビュー距離から離れています(以下を参照)。
- 「vd」はビュー距離です
- 「c」は値の所有者です
- '(x、y、z)'は計算されるポイントです
- 「rot.x」と「rot.y」は、それぞれx軸とy軸を中心とした回転です。
このポイント(x、y、z)が与えられた場合、この位置を基準にして4つのポイントを計算する必要があります(以下を参照)。
- '(x2、y2、z2)'、'(x3、y3、z3)'などは私が計算する必要があるポイントです。
- 緑の平面の幅と高さは既知です。それぞれを「w」と「h」と呼びましょう。
最初のグラフのすべての値(回転など)にアクセスできるので、4つのポイントのそれぞれをどのように計算できますか?
少し背景..私は錐台カリングと呼ばれるカリング方法のためにこれを行っています。レンダリングを高速化し、GPUの料金を削減するために、LWJGLでこれを実行しようとしています。私はこの計算の三角法を理解することができませんでした、そして私は過去数時間試みてきました。どんな助けでも大歓迎です。さらに説明/説明が必要な場合は、お知らせください。ありがとう。
編集:また、ポイントは同じ平面上にあり、ポイント(x、y、z)とともにx軸とy軸を中心に回転する必要があります。