我在GLSL工作,需要快速有效地计算两个2D矢量之间的角度。
给定两个vec2向量,例如(30,20)和(50,50),我需要计算它们之间的角度。
我正在使用
acos(dot(vector1, vector2));
虽然这似乎没有正确地给我这个角度。我做错了什么,或者这是正确使用的功能?
答案 0 :(得分:9)
矢量点积将计算两个矢量scaled by the length of both vectors之间角度的余弦值。如果您想获得角度,则必须在执行点积之前对两个向量进行标准化。
答案 1 :(得分:4)
单独的点积将为您提供关于两个向量之间角度的非常粗略的信息,即使它们不是单位向量: