2 -й евклидовый векторный ротацииC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 2 -й евклидовый векторный ротации

Сообщение Anonymous »

У меня есть евклидовый вектор a , сидящий на координатах (0, 1) .
Я хочу повернуть на 90 градусов (по часовой стрелке) вокруг начала: (0, 0) .
Если у меня есть надлежащее понимание того, как это должно работать, результирующие (x, y) координаты после вращения должны быть (1, 0 ) .
Если бы я повернул его на 45 градусов (все еще по часовой стрелке) вместо этого я бы ожидал, что результирующие координаты будут (0,707, 0,707) .

Код: Выделить всё

theta = deg2rad(angle);

cs = cos(theta);
sn = sin(theta);

x = x * cs - y * sn;
y = x * sn + y * cs;
Используя приведенный выше код, со значением 90,0 градусов, результирующие координаты: (-1, 1) .
и i Я смущен.
Примеры, показанные в следующих ссылках должно быть повернуто?

Подробнее здесь: https://stackoverflow.com/questions/478 ... -rotations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»