1) 화살표의 시작점을 알고 있으며 끝점을 알고 있습니다.OpenGL ES에 화살표 그리기
나는
누구나가 알고 ... 나는 머리의 다른 두 지점은 45도 멀리 끝 지점에서 각도입니다 있으리라 믿고있어 .. 어떻게 화살표의 머리를 그리는 아무 생각이 없다 이 작업을 수행하는 데 필요한 공식은 무엇입니까?
1) 화살표의 시작점을 알고 있으며 끝점을 알고 있습니다.OpenGL ES에 화살표 그리기
나는
누구나가 알고 ... 나는 머리의 다른 두 지점은 45도 멀리 끝 지점에서 각도입니다 있으리라 믿고있어 .. 어떻게 화살표의 머리를 그리는 아무 생각이 없다 이 작업을 수행하는 데 필요한 공식은 무엇입니까?
웨이드는이 질문의 OpenGL 부분에 대한 좋은 대답을 제공합니다. 벡터 수학 부분에 답하려고 노력할 것입니다. 당신은 어떤 상수 vperp1 및 vperp2를 곱하여 머리의 각도를 변경할 수 있습니다
Triangle GenerateArrowHead(vec2 p1, vec2 p2)
{
// Compute the vector along the arrow direction
vec2 v = Normalize(p2 - p1)
// Compute two perpendicular vectors to v
vec2 vPerp1 = vec2(-v.y, v.x)
vec2 vPerp2 = vec2(v.y, -v.x)
// Compute two half-way vectors
vec2 v1 = Normalize(v + vPerp1)
vec2 v2 = Normalize(v + vPerp2)
Triangle tri;
tri.a = p2;
tri.b = p2 + ArrowHeadSize * v1;
tri.c = p2 + ArrowHeadSize * v2;
return tri;
}
왜 작동하지 않습니까?
1) GL_TRIANGLES 그릴 의미 헤드 (위한 삼각형을 그리 삼각형을 형성하는 3 선분)
2) 삼각형베이스의 중앙으로부터 연장되는 선분을 그릴 수 없다.
: 여기에 내 머리 위로 떨어져 일부 의사 코드의 사용 가치는 <1 미만 45 개도를 얻기 위해, 값> (1) 더 얻을 수 45도 이상. –