Iphone 在opengl ES中绘制箭头
1) 我知道箭头的起点和终点 我不知道如何画箭头。。我假设头部的另外两个点与终点成45度角Iphone 在opengl ES中绘制箭头,iphone,opengl-es,Iphone,Opengl Es,1) 我知道箭头的起点和终点 我不知道如何画箭头。。我假设头部的另外两个点与终点成45度角 有人知道这样做所需的公式吗?为什么不起作用 1) 为头部绘制三角形(意味着使用GL_三角形绘制,而不是绘制形成三角形的3条线段) 2) 从三角形底面的中点开始画一条线段。韦德对这个问题的OpenGL部分给出了一个很好的答案;我将尝试回答向量数学部分。下面是我脑海中的一些伪代码: Triangle GenerateArrowHead(vec2 p1, vec2 p2) { // Compute th
有人知道这样做所需的公式吗?为什么不起作用 1) 为头部绘制三角形(意味着使用GL_三角形绘制,而不是绘制形成三角形的3条线段)
2) 从三角形底面的中点开始画一条线段。韦德对这个问题的OpenGL部分给出了一个很好的答案;我将尝试回答向量数学部分。下面是我脑海中的一些伪代码:
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;
}
通过将vperp1和vperp2乘以某个常量,可以更改头部的角度:使用值<1可获得小于45度的角度,使用值>1可获得大于45度的角度。