Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2

Объясните формулы "матрица вращения на плоскости"

10.02.2025, 22:29. Показов 9717. Ответов 109
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день

Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости".

x' = x * cos(a) - y * sin(a)
y' = y * cos(a) + x * sin(a)

Как бы Вы их объяснили первокурсникам? Желательно "под запись", т.е. что должно быть у детей в конспектах?

Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.02.2025, 22:29
Ответы с готовыми решениями:

Угловая скорость вращения тела на плоскости
Добрый день! У меня простая задача, просто хочу уточнить, правильно ли я понимаю решение. Есть вращение диска на плоскости вокруг своей...

Поверхность вращения. Построение двумерного графика в 3д плоскости.
Задание:отобразить в левой системе координат поверхность вращения вокруг оси OZ кривой z=4/x^2 при y=0. У меня проблема с построением...

Матрица вращения
Здравствуйте! Я совсем молодой пользователь МатЛаба. Возникла проблема с решением задачи в матлабе. Нужно используя ротационную...

109
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
13.02.2025, 09:43  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от u235 Посмотреть сообщение
Хочет чтобы ему все приподнесли на блюдечке, а сам он палец о палец не ударит.
Да, хочет. Да, не ударит Ну а почему он должен рыться в академических книгах? Это явно "не тот случай" когда надо туда лезть. А препод тогда для чего? Почему он не объясняет простую вещь?
Цитата Сообщение от Python_Val Посмотреть сообщение
Дайте им пример:
Это нормально и полезно, но тогда надо честно сказать: "принимаем без доказательств"

Ладно, есть еще предложения? Нет? Странно, ведь мы все просто обожаем поучать других Кстати, а где профессиональные преподы? Неужели их здесь нет? Выходит мне самому надо ответить... (так ведь запинают )
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,756
Записей в блоге: 14
13.02.2025, 11:36
Лучший ответ Сообщение было отмечено Igor3D как решение

Решение

Igor3D, ну что тут сложного? Рассмотрим вектор, исходящий из начала координат длины r и составляющий с осью абсцисс угол a. Координаты конца этого вектора будут x=r*cos(a); y=r*sin(a). Это понятно? Если да - подтвердите, и мы пойдем дальше.
0
wound up as Aussie
516 / 139 / 22
Регистрация: 15.05.2019
Сообщений: 594
13.02.2025, 11:48
Цитата Сообщение от Igor3D Посмотреть сообщение
Ладно, есть еще предложения? Нет? Странно, ведь мы все просто обожаем поучать других Кстати, а где профессиональные преподы? Неужели их здесь нет?
Если Вы спрашиваете геометрический смысл, то это (новые координаты точки, по идее) проекция точки, находящейся на окружности, на линию (которой принадлежит радиус - это гипотенуза которая ).
Причём максимум длины отрезка (для игрека, когда плюс) будет когда угол "гипотенузы" 45 градусов, и точка будет лежать за пределами окружности.
Ps: т.е. новая точка - это проекция старой точки (на дуге) на линию которой принадлежит единичный радиус.
(я так думаю).
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,756
Записей в блоге: 14
13.02.2025, 11:50
Доворачиваем наш вектор на угол b. В результате угол нового (повёрнутого) вектора с осью абсцисс будет, естественно, a+b.
Координаты конца получатся x'=r*cos(a+b), y'=r*sin(a+b).
Теперь воспользуемся формулами для синуса и косинуса суммы. Получим:

x'=r*cos(a+b)= r*cos(a)*cos(b)-r*sin(a)*sin(b)= x*cos(b)-y*sin(b). Здесь х - абсцисса конца вектора до поворота. С ординатой - аналогично...
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
13.02.2025, 12:47  [ТС]
Ладно, вот как бы я дал "под запись"
Кликните здесь для просмотра всего текста
1.
x' = x * cos(a) - y * sin(a)
y' = x * sin(a) + y * cos(a)

Эти формулы могут быть использованы для поворота 2D вектора/координаты (x, y) вокруг точки (0, 0) на угол a. Положительный угол соответствует вращению против часовой стрелки. Говорят также CCW (CounterColckWise)

2. Доказательство/обоснование. Данные формулы легко получаются из тригонометрических для суммы углов

cos(a + b) = cos(a) * cos(b) - sin(a) * sin(b)
sin(a + b) = cos(a) * sin(b) + sin(a) * cos(b)

В равенствах умножим обе части на r - длину вектора (x, y) и заменим параметрические координаты на декартовы

x = r * cos(b)
y = r * sin(b)

x' = r * cos(a + b)
y' = r * sin(a + b)

3. Данные формулы часто записываются в виде матрицы
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{pmatrix}cos(a)& -sin(a)\\sin(a) & cos(a)\end{pmatrix}
Важно: данная запись в нотации "column major" широко используемой во многих приложениях, напр OpenGL. Матрица применяется "слева", т.е. строка матрицы множится на вектор-столбец (трансформируемой) координаты

Цитата Сообщение от Catstail Посмотреть сообщение
Рассмотрим вектор, исходящий
Да, именно этого ответа я ждал Вот есть нормальные преподы! (Вы же препод?)
Цитата Сообщение от Catstail Посмотреть сообщение
..и мы пойдем дальше.
А давайте! Оцените мой ответ. По-моему "на троечку", а то и меньше. Самое главное (вернее - самое ценное) я не рассказал
1
5526 / 2879 / 572
Регистрация: 07.11.2019
Сообщений: 4,776
13.02.2025, 13:09
Цитата Сообщение от Igor3D Посмотреть сообщение
Ну а почему он должен рыться в академических книгах?
Хотя бы потому, что это он сам лично решил поступить в ВУЗ и учиться в нем. Это как бы в его интересах. Это в школе учат, а в ВУЗах - учатся. И то, даже в школах, бывают материалы/задания на самостоятельное изучение, например доклад/реферат на тему, где никто никому не разжевывает.
1
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
13.02.2025, 13:13  [ТС]

Не по теме:

Да, забыл сказать: я создал эту тему увидев эту статью. Как я понял, автор - гуманитарий, ему нужно как бы "мыслить образами", это нужно понимать. Объяснения я, правда, "ни асилил", но стало интересно, может и еще как-то можно?



Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от u235 Посмотреть сообщение
Хотя бы потому, что это он сам лично решил поступить в ВУЗ и учиться в нем. Это как бы в его интересах. Это в школе учат, а в ВУЗах - учатся. И то, даже в школах, бывают материалы/задания на самостоятельное изучение, например доклад/реферат на тему, где никто никому не разжевывает.
Как-то это напоминает материалы XXV съезда, много "надо" и "должен", но всем было понятно что делать этого никто не будет

0
13.02.2025, 13:19

Не по теме:

Цитата Сообщение от Igor3D Посмотреть сообщение
ак-то это напоминает материалы XXV съезда, много "надо" и "должен", но всем было понятно что делать этого никто не будет
Тогда зачем за него переживать? Одним студентом меньше, одним больше, для преподавателя без особой разницы. Спасение утопающих - дело рук самих утопающих.

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,756
Записей в блоге: 14
13.02.2025, 16:03
Igor3D, почему же "на троечку"? Отличный ответ. Кстати, эти формулы можно (если забыли формулы для синуса суммы и косинуса суммы) использовать для вывода этих формул. Матричное умножение запомнить легче.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
13.02.2025, 16:35  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Кстати, эти формулы можно (если забыли формулы для синуса суммы и косинуса суммы) использовать для вывода этих формул.
Видел красивое доказательство:

cos(a - b) = cos(a) * cos(b) + sin(a) * sin(b)

Это же просто скалярное произведение векторов v1 = (cos(a), sin(a)) и v2 = (cos(b), sin(b)). А для синуса получается векторное. А потом через нечет синуса получаем суммы

Кстати, MallSerg крутился близко от решения, интуиция у паренька хорошая

Цитата Сообщение от Catstail Посмотреть сообщение
почему же "на троечку"?
Главного нет, эти формулы гораздо мощнее
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,756
Записей в блоге: 14
13.02.2025, 17:07
Цитата Сообщение от Igor3D Посмотреть сообщение
Главного нет, эти формулы гораздо мощнее
- что имеется в виду?

Добавлено через 3 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
Да, забыл сказать: я создал эту тему увидев эту статью.
- статья мусорная. Читать ее не надо.

Формула поворота плоскости есть частый случай поворота пространства Rn вокруг начала координат.
0
wound up as Aussie
516 / 139 / 22
Регистрация: 15.05.2019
Сообщений: 594
14.02.2025, 00:45
Цитата Сообщение от Igor3D Посмотреть сообщение
Видел красивое доказательство:
Посмотрел я в чат gpt, там очень похоже.
Миниатюры
Объясните формулы "матрица вращения на плоскости"   Объясните формулы "матрица вращения на плоскости"   Объясните формулы "матрица вращения на плоскости"  

0
wound up as Aussie
516 / 139 / 22
Регистрация: 15.05.2019
Сообщений: 594
14.02.2025, 00:54
А вот как ИИ доказал в матричной форме:
Миниатюры
Объясните формулы "матрица вращения на плоскости"   Объясните формулы "матрица вращения на плоскости"   Объясните формулы "матрица вращения на плоскости"  

Объясните формулы "матрица вращения на плоскости"   Объясните формулы "матрица вращения на плоскости"  
0
25 / 61 / 4
Регистрация: 10.06.2023
Сообщений: 998
14.02.2025, 09:35
cos(a - b) = cos(a) * cos(b) + sin(a) * sin(b)
Действительно красиво! Сами нашли (поздравляю!) или где-то увидели?
0
Модератор
10468 / 5764 / 3410
Регистрация: 17.08.2012
Сообщений: 17,519
14.02.2025, 12:45
VAF34, эту красоту в средней школе преподают. В девятом классе.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
14.02.2025, 16:00  [ТС]
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
эту красоту в средней школе преподают. В девятом классе.
Разве? Где? Плиз "ткните носиком". Напомню что речь идет о доказательстве формулы

cos(a + b) = cos(a) * cos(b) - sin(a) * sin(b)

Не по теме:

Цитата Сообщение от VAF34 Посмотреть сообщение
Сами нашли
Не сам, где-то видел :)



Добавлено через 1 час 54 минуты
Наверно этот мой пост будет добавлен к предыдущему, хотя в данном случае не хотелось бы смешивать. Ладно, ничего страшного, пусть Cyborg Drone поищет/поразмыслит, а мы пока займемся другим
Цитата Сообщение от Catstail Посмотреть сообщение
Формула поворота плоскости есть частый случай поворота пространства Rn вокруг начала координат.
Охотно верю, тем более я не раз встречал это утверждение. В посте #8 (два слайда) препод пошел именно этим путем. Если я верно понял, есть точка (x, y) в исходной СК (возможно совпадающей с мировой). Выполняется поворот СК на угол phi и находятся координаты той же точки в новой, повернутой СК. Проблема, однако, в том, что эти координаты совсем не равны тем (x', y') что в стартовом посте. По слайдам получается обратное преобразование, как если бы точка повернулась по часовой. Впрочем, переписавший этого даже не заметил

Ну ладно, в конце-концов перебросить знак синуса - не вопрос. Но главное, поворот СК здесь ничего не упрощает и никаких выгод не дает. По-прежнему надо выводить формулы "по чертежу и теореме Пифагора" что совсем не означает "просто". Это легко если перед мордочкой висит "правельный ответ". Отследил цепочку, прикинул, ну.. наверно правильно. Но "с нуля" и без шпаргалки придется попыхтеть минут 10, а то и больше. Отказ от использования известных формул здесь совершенно не оправдан. Видимо лучшее что может сделать студент - опять-таки тупенько запомнить формулы слайдов, на этот раз никому не нужные.

Как же так, ведь идея "поворота пространства" несомненно верная, а выходит коряво, натужно и результат не совсем верен?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,756
Записей в блоге: 14
14.02.2025, 17:34
Igor3D, вращения даже трехмерного пространства (не говоря уже о бОльших размерностях) - более сложная задача. Имеет место замечательная теорема примерно такого содержания "Два поворота вокруг двух векторов, исходящих из начала координат эквивалентны повороту на некоторый угол вокруг некоторого вектора". Найти этот вектор и этот угол - довольно сложная задача. И здесь очень может помочь алгебра кватернионов.
0
1 / 1 / 0
Регистрация: 12.07.2016
Сообщений: 39
Записей в блоге: 2
14.02.2025, 22:05
Когда-то, чтобы понять эту тему, я сел писать эту статью:
Когда немного с gamedev-ом соприкасаешься, то эта тема всплывает и становится более очевидной, на мой взгляд.
0
Модератор
10468 / 5764 / 3410
Регистрация: 17.08.2012
Сообщений: 17,519
15.02.2025, 00:10
Цитата Сообщение от Igor3D Посмотреть сообщение
Где? Плиз "ткните носиком". Напомню что речь идет о доказательстве формулы
Для начала, извиняюсь. Не в девятом, а в десятом классе. Ну, перепутал, в моё время это в девятом классе преподавали, если мне правильно память изменяет.

Скачал учеюник по алгебре за десятый класс по первой попавшейся ссылке, А. Г. Мордкович, П. В. Семёнов, "Алгебра и начала математического анализа", базовый и углублённый уровни, 10 класс, часть 1, страница 218:



И, да, как и сказано, доказательство в конце параграфа есть. Выложить?
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,117
Записей в блоге: 2
15.02.2025, 02:02  [ТС]
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
И, да, как и сказано, доказательство в конце параграфа есть. Выложить?
Да, выложить. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2025, 02:02

Матрица вращения
Нужно чтобы вместо Х вращалась буква П. Вот сам код uses crt,graph; const minXm=-100;maxXm=2000; minYm=2000; maxYm=-100; ...

Матрица вращения (X->Y->Z)
Добрый день. Подскажите как составить матрицу вращения, если знаю координаты вектора в начальном и конечном положении.

Метод косоугольного вращения. Матрица поворота
Доброго времени суток. В факторном анализе в статистике есть метод косоугольное вращение. Пишу программу для его реализации и не могу...

Матрица вращения облака точек вида x,y,z
Добрый день господа сочувствующие! Никто не подскажет способ и функционал для матрицы вращения облака точек вида x,y,z. Проще выражаясь...

В какой момент времени после начала вращения платформы груз начнет соскальзывать, объясните как решать
Здравия, соратники! Разъясните,пожалуйста, как решать задачу Google не помог На краю вращающейся платформы радиуса R=1,0 м лежит груз. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью. Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru