Объясните формулы "матрица вращения на плоскости"10.02.2025, 22:29. Показов 8718. Ответов 109
Метки нет (Все метки)
Добрый день
Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их объяснили первокурсникам? Желательно "под запись", т.е. что должно быть у детей в конспектах? Спасибо
0
|
|
| 10.02.2025, 22:29 | |
|
Ответы с готовыми решениями:
109
Угловая скорость вращения тела на плоскости Поверхность вращения. Построение двумерного графика в 3д плоскости. Матрица вращения |
|
Супер-модератор
|
|||
| 27.02.2025, 15:57 | |||
|
0
|
|||
|
Модератор
3137 / 2285 / 469
Регистрация: 26.03.2015
Сообщений: 8,889
|
||
| 28.02.2025, 22:42 | ||
|
0
|
||
| 28.02.2025, 23:38 [ТС] | ||
|
0
|
||
|
5524 / 2877 / 572
Регистрация: 07.11.2019
Сообщений: 4,773
|
|||
| 01.03.2025, 12:17 | |||
|
Кстати, поворот вектора на комплексной плоскости вокруг начала координат это просто умножение его на комплексное число cos(a)+j*sin(a).
1
|
|||
| 01.03.2025, 13:17 [ТС] | |||
0
|
|||
|
59 / 59 / 4
Регистрация: 10.06.2023
Сообщений: 930
|
|
| 01.03.2025, 14:08 | |
|
Если возникла конкретная задача: "нужно повернуть заданный вектор вокруг заданной оси". То ее решение легко построить.
Направление вектора "ось" принимаем за ось z. Перпендикулярную плоскость считаем плоскостью (x.y) Проекция вращаемого вектора на плоскость направим по назначенной оси x. Дальше просто.
1
|
|
| 02.03.2025, 15:51 [ТС] | ||||
Вот мое объяснение, продолжите его, или, еще лучше, предложите свое. У человека с минимальной подготовкой должен быть такой конспект чтобы сдать экзамен. Нормальный все поймет и сдаст на "отлично", тупой - что-то запомнит и до троечки доползетКликните здесь для просмотра всего текста
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. Данные формулы часто записываются в виде матриц Важно: данная запись в нотации "column major" широко используемой во многих приложениях, напр OpenGL. Матрица применяется "слева", т.е. строка матрицы множится на вектор-столбец (трансформируемой) координаты 4. Эти же формулы используются для поворота 3D векторов/координат. В этом случае x и y не числа(скаляры), а ортогональные 3D вектора равной длины (но необязательно единичной). Результатом будет поворот этих векторов вокруг оси проходящей через начало координат (0, 0, 0) в направлении z = cross(x, y) На практике обычно мы имеем не пару векторов, а только один, напр x который нужно повернуть вокруг заданной (вектором) оси. В этом случае ... . Легко "налить воды", а вот написать кратко но полно..
0
|
||||
|
Модератор
3137 / 2285 / 469
Регистрация: 26.03.2015
Сообщений: 8,889
|
|||
| 02.03.2025, 17:42 | |||
|
0
|
|||
| 02.03.2025, 18:43 [ТС] | |||
|
y' = y * cos(a) - z * sin(a) // поворот в плоскости YZ вокруг оси X z' = z * cos(a) + y * sin(a) z' = z * cos(a) - x * sin(a) // поворот в плоскости ZX вокруг оси Y x' = x * cos(a) + z * sin(a)
0
|
|||
|
Модератор
3137 / 2285 / 469
Регистрация: 26.03.2015
Сообщений: 8,889
|
|||
| 03.03.2025, 00:09 | |||
|
Поэтому вопрос: Каким образом, умножая длину на число (косинус угла), можно получить 3D вектор? Или хотя бы что-нибудь про композицию трёх поворотов. Это ведь одна из первых лекций для тех кто учится всего несколько недель.
0
|
|||
| 03.03.2025, 13:04 [ТС] | |||
|
Интересно наблюдать как срабатывает "рефлекс". Ага, поворот - значит матрица! А вот и нет, данные формулы позволяют вращать "без всяких матриц". Ну и опять: само по себе "матрица" ровным счетом ничего не объясняет, ведь матрица - это "откомпилированный" результат содержательного решения. Напр из данных формул можно получить матрицу 3х3 (хотя сделать это "руками" утомительно)
0
|
|||
|
Модератор
3137 / 2285 / 469
Регистрация: 26.03.2015
Сообщений: 8,889
|
|||||
| 03.03.2025, 16:45 | |||||
|
Было бы понятнее, если это объединить в одно предложение: "Эти же формулы используются для поворота 3D векторов/координат вокруг оси Z" Второе предложение (про "ортогональные 3D вектора равной длины") вообще не могу понять.
0
|
|||||
| 03.03.2025, 18:50 [ТС] | |||
|
Пара (2 вектора) исходных необходима для расчета, но часто дан один и пересчитать нужно его. Можно "назначить" данный вектор x и, используя известную ось z, посчитать y или наоборот, считать x от y. Результат и расчеты получаются одинаковы, это еще предстоит объяснить. Длина почти всегда знаковая, напр скаляры x и y. x' = a * x + b * y + c * z Откуда взялись (a, b, c) что сидят в матрице? Никакой информации об этом уже нет, восстановить логику решения из/по матрице обычно невозможно. "Достоинства есть продолжения недостатков". Да, и я упустил одну важную деталь при использовании этих формул для векторов. Ну "еще не вечер"
0
|
|||
|
59 / 59 / 4
Регистрация: 10.06.2023
Сообщений: 930
|
|
| 04.03.2025, 09:39 | |
|
Вектор, относительно которого вращается второй вектор описывается тремя его проекциями на оси заданной неменяющейся системы координат ( x(t), y(t), z(t)). Изменение координат по времен может описывать как вращение вектора, так и изменение его длины. Второй вектор ( x1(t), y1(t), z1(t)).
Уравнения, описывающие его вращение вокруг первогj: 1) постоянство его длины x1(t)**2+y1(t)**2+z1(t)**2=V1 const 2) проекция его на первый вектор постоянна: x1(t)*x(t)+y1(t)*y(t)+z1(t)*z(t)=x1(0)*x (0)+y1(0)*y(0)+z1(0)*z(0) - это число Выразим из первого, на пример, x1(t), из второго, на пример, y1(t), мы получаем уравнение для изменения z1(t) с вравой частью, содержащей только параметры движения первого вектора. Считайте!
0
|
|
| 04.03.2025, 16:28 [ТС] | |||
А здесь еще и неправильно, народная мудрость говорит: не связывайся с длиной/квадратом. Это преобразование/решение НЕлинейно и матрицей не выражается. А матрица вращения точно есть
0
|
|||
|
59 / 59 / 4
Регистрация: 10.06.2023
Сообщений: 930
|
|
| 04.03.2025, 20:00 | |
|
постоянство проекции при постоянстве длины это и есть условие того, что второй вектор может только вращаться вокруг первого.
Если пришлете программу или кусок программы, в который надо вставить вращение вектора вокруг заданного, то я могу помочь. Разговор о матрицах тербует некоторого уровня знаний, но, обладая разумом, без него можно почти всегда обойтись
0
|
|
| 04.03.2025, 21:41 [ТС] | ||
|
Не по теме: Не все пишут/постят в надежде получить помощь :)
0
|
||
|
5524 / 2877 / 572
Регистрация: 07.11.2019
Сообщений: 4,773
|
|
| 04.03.2025, 21:48 | |
|
1
|
|
| 04.03.2025, 21:48 | |
|
Помогаю со студенческими работами здесь
80
Матрица вращения Матрица вращения (X->Y->Z) Метод косоугольного вращения. Матрица поворота Матрица вращения облака точек вида x,y,z В какой момент времени после начала вращения платформы груз начнет соскальзывать, объясните как решать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|