我有一个单位向量形式的角度。我需要能够改变这个角度。假设向量 V = (x,y) 的角度当前为 A。我将如何在不转换向量的情况下将角度更改为 A+0.2(这只是一个示例,它可以是我添加的任何值)到一个角度,修改它,然后再次计算适当的向量?
问问题
531 次
2 回答
5
使用以下公式逆时针旋转矢量:
因此,要将向量 V = (x, y) pi 旋转角度A,您将执行以下操作:
V' = (x * cos(A) - y * sin(A), x * sin(A) + y * cos(A))
或使用代码:
vec2 rotateVec2(const vec2 &vec, float angle)
{
float newX = vec.x * cos(angle) - vec.y * sin(angle);
float newY = vec.y * sin(angle) + vec.y * cos(angle);
return vec2(newX, newY);
}
于 2011-05-15T04:16:16.390 回答
1
x2 = x * cos(angle) - y * sin(angle);
y2 = y * cos(angle) + x * sin(angle);
于 2011-05-15T04:15:43.930 回答