首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在opengl ES中绘制箭头

在opengl ES中绘制箭头
EN

Stack Overflow用户
提问于 2009-10-26 09:48:26
回答 2查看 3.4K关注 0票数 3

1)我知道箭头的起点和终点。

我不知道怎么画箭头。我假设头部的另外两个点与终点成45度角。

有人知道做这件事所需的公式吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-26 11:00:23

对于这个问题的OpenGL部分,Wade给出了一个很好的答案;我将尝试回答向量数学部分。下面是我脑海中的一些伪代码:

代码语言:javascript
运行
复制
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;
}
票数 8
EN

Stack Overflow用户

发布于 2009-10-26 09:51:38

为什么这不起作用呢?

1)为头部画一个三角形(意思是用GL_TRIANGLES画,而不是画3条线段组成一个三角形)

2)绘制一条从三角形底面中点延伸的线段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1622762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档