私の問題は次のとおりです: 私は3点で三角形を定義しました。三角形内の任意の点の位置を取得
座標系は次のように定義される:上方
- X軸ヘッド
これはOpenGLで使われている最も一般的な座標系です(私は思っています)。 私は三角形を得ました。各点のXとZの値は異なります。 X座標とZ座標を指定して、三角形上のY座標を見つける必要があります。 誰かがこの方法を書かれ、呼ばれたそれbarryCentric(点A、点B、点C、点POS)(私は彼が「重心」を意味かなり確信しているが、細かい。
public static float barryCentric(Vector3f p1, Vector3f p2, Vector3f p3, Vector3f pos) {
float det = (p2.z - p3.z) * (p1.x - p3.x) + (p3.x - p2.x) * (p1.z - p3.z);
float l1 = ((p2.z - p3.z) * (pos.x - p3.x) + (p3.x - p2.x) * (pos.y - p3.z))/det;
float l2 = ((p3.z - p1.z) * (pos.x - p3.x) + (p1.x - p3.x) * (pos.y - p3.z))/det;
float l3 = 1.0f - l1 - l2;
return l1 * p1.y + l2 * p2.y + l3 * p3.y;
}
私はその方法があれば確認していませんどんな意味があります。私は、これは私が欲しいものではありません推測するので、彼はまた、pos.y値を使用しています。誰もが私の問題で私を助けることができるアルゴリズムを知っていますか?
挨拶、フィン
ty great :)これは私を助けます。 –