2009-10-26 6 views
2

1) 화살표의 시작점을 알고 있으며 끝점을 알고 있습니다.OpenGL ES에 화살표 그리기

나는

누구나가 알고 ... 나는 머리의 다른 두 지점은 45도 멀리 끝 지점에서 각도입니다 있으리라 믿고있어 .. 어떻게 화살표의 머리를 그리는 아무 생각이 없다 이 작업을 수행하는 데 필요한 공식은 무엇입니까?

답변

6

웨이드는이 질문의 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; 
} 
+0

: 여기에 내 머리 위로 떨어져 일부 의사 코드의 사용 가치는 <1 미만 45 개도를 얻기 위해, 값> (1) 더 얻을 수 45도 이상. –

1

왜 작동하지 않습니까?

1) GL_TRIANGLES 그릴 의미 헤드 (위한 삼각형을 그리 삼각형을 형성하는 3 선분)

2) 삼각형베이스의 중앙으로부터 연장되는 선분을 그릴 수 없다.

관련 문제