修改单位矢量的角度

Kyl*_*yle 1 c++ trigonometry vector angle

我有单位矢量形式的角度.我需要能够改变这个角度.假设矢量V =(x,y)的角度是当前的A.如何在不转换矢量的情况下将角度更改为A + 0.2(这只是一个示例,它可以是我正在添加的任何值)一个角度,修改它,然后再次计算适当的向量?

Jes*_*ond 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);
}
Run Code Online (Sandbox Code Playgroud)