gpt4 book ai didi

c++ - 修改单位 vector 的角度

转载 作者:行者123 更新时间:2023-11-30 00:58:34 25 4
gpt4 key购买 nike

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

最佳答案

使用以下公式逆时针旋转 vector :

enter image description here

因此,要将 vector 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);
}

关于c++ - 修改单位 vector 的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com