내 문제는 다음과 같습니다 : 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 :) 저에게 많은 도움이됩니다! –