単位ベクトルの形で角度があります。この角度を変えられるようにする必要があります。ベクトル 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 に答える