opengl - 计算GLSL中两个向量之间的角度

标签 opengl geometry glsl

我正在使用 GLSL,需要快速高效地计算两个 2D 向量之间的角度。

给定两个 vec2 向量,例如 (30, 20) 和 (50, 50),我需要计算它们之间的角度。

我目前正在使用

acos(dot(vector1, vector2));

虽然这似乎没有给我正确的角度。我做错了什么,还是这是正确的函数?

最佳答案

向量点积将计算两个向量之间角度的余弦,scaled by the length of both vectors 。如果您只想获得角度,则必须在进行点积之前对两个向量进行归一化。

关于opengl - 计算GLSL中两个向量之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41984724/

相关文章:

c++ - 使用 gluPerspective()

opengl - 为什么 MESA 不允许我使用 OpenGL 4.5(或 3.0 以外的其他版本)?

delphi - 在 GLScene 中抓取鼠标位置下的顶点

opengl - 将 RGBA32F 纹理作为 R32F 传递给着色器以进行 imageAtomic 操作和访问组件

glsl - 如何避免有关未使用的顶点输入的验证层错误?

python - OpenCV Python OpenGL 纹理

algorithm - 使用圆心、半径和圆上的 3 个点计算圆弧上的点

java - 通过 vector 列表查找路径

java - for循环不 "grow"循环。我需要 "grow"一个圆圈

debugging - 形状取决于点光源顶点或片段着色器中的视角