Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Brazil
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 8
#1

Поворот фигуры по часовой стрелке - C++

28.01.2016, 11:56. Просмотров 1731. Ответов 49
Метки нет (Все метки)

Помогите вывести формулу для поворота фигуры на произвольный угол. У меня выходит одно уравнение с двумя неизвестными.
0
Миниатюры
Поворот фигуры по часовой стрелке  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2016, 11:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поворот фигуры по часовой стрелке (C++):

Поворот массива на 90 градусов по часовой стрелке - C++
Всем привет! Помогите найти ошибку, программа должна поворачивать целочисленный массив на 90 градусов по часовой стрелке Пример 1 2 3 ...

Поворот матрицы на 180 градусов по часовой стрелке - C++
Нужна программа,которая повернет квадратную матрицу из N строк и N столбцов на 180 по часовой. программа на С++ За ранее благодарю:)

Произвести "поворот" матрицы по часовой стрелке - C++
Задание: Задан квадратный массив А из N строк и N столбцов. Произвести «поворот по часовой стрелке» массива таким образом, чтобы элементы...

Обход треугольника по часовой стрелке - C++
Всем доброго дня, а кому-то вечера, итак суть задачи: есть координаты вершин треугольника и нужно их вывести в порядке обхода треугольника...

Вращать треугольник по часовой стрелке - C++
Здравствуйте, буду признателен если поможете, т.к. математика не моя сильная сторона. Условие такое: Составить программу вывода на экран...

Повернуть матрицу по часовой стрелке - C++
Что нужно сделать, чтобы повернуть матрицу по часовой стрелке?? если меняешь i и j местами, но она повернется против часовой на 90...

49
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
28.01.2016, 12:05 #2
Чему только учат в современных школах?
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{matrix} x' = x cos\alpha + y sin \alpha <br />
\\ <br />
y'= x sin\alpha - y cos \alpha <br />
\end{matrix}
0
vndtta
90 / 67 / 13
Регистрация: 17.10.2011
Сообщений: 235
Завершенные тесты: 1
28.01.2016, 12:21 #3
https://ru.wikipedia.org/wiki/%D0%9C...BE%D0%B4%D0%B0

если поворачивать вокруг не нуля, то нужно делать 1)перенос в 0;2)поворот вокруг 0;3)перенос в исходную точку
1
Brazil
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 8
30.01.2016, 15:41  [ТС] #4
Вывел формулу для поворота с помощью радиус-вектора.
Ilot, у вас ошибка
0
Миниатюры
Поворот фигуры по часовой стрелке  
SergioO
95 / 184 / 63
Регистрация: 13.12.2015
Сообщений: 995
30.01.2016, 15:58 #5
Brazil, лучше использовать матрицы.
любое преобразование можно (и нужно) представить в виде матрицы. умножили на матрицу - получили преобразование.
поворот
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{pmatrix} & cos a & sin a &0 \\   & -sin a & cos a &0\\  & 0 &0 &1 \end{pmatrix}
1
Brazil
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 8
30.01.2016, 16:14  [ТС] #6
SergioO, почитаю про матрицы. Сейчас я не знаю как работать с ними.
0
vndtta
90 / 67 / 13
Регистрация: 17.10.2011
Сообщений: 235
Завершенные тесты: 1
01.02.2016, 15:00 #7
почитаю про матрицы. Сейчас я не знаю как работать с ними.
такая запись
http://www.cyberforum.ru/cgi-bin/latex.cgi?x'=xcos\theta-ysin\theta<br />
y'=xsin\theta+ycos\theta
эквивалентна
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{bmatrix} x' \\ y' \end{bmatrix}=\begin{bmatrix}cos\theta & -sin\theta\\sin\theta & cos\theta\end{bmatrix}\begin{bmatrix} x \\ y \end{bmatrix}

для двумерного варианта можно и формулами пользоваться, не так громоздко
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
01.02.2016, 20:18 #8
Цитата Сообщение от Brazil Посмотреть сообщение
Ilot, у вас ошибка
Нет там ошибки.
0
Ilot
Эксперт С++
1826 / 1184 / 232
Регистрация: 16.05.2013
Сообщений: 3,119
Записей в блоге: 5
Завершенные тесты: 1
02.02.2016, 07:47 #9
Цитата Сообщение от Brazil Посмотреть сообщение
Ilot, у вас ошибка
Верно. Писал по памяти.
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{matrix} x' = x cos\alpha + y sin \alpha <br />
\\ <br />
y'= y cos \alpha - x sin\alpha<br />
\end{matrix}
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
02.02.2016, 13:09 #10
Цитата Сообщение от Ilot Посмотреть сообщение
Верно.
Что верно? У вас был рабочий пример.
0
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.02.2016, 14:11 #11
Мне кажется, легче не мучиться, а представить точки фигуры комплексными числами. Тогда поворот этого хозяйства против часовой стрелки на угол phi будет результатом умножения каждой точки на комплексное число polar(1, phi).
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
02.02.2016, 14:29 #12
Mr.X, это как?
0
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.02.2016, 15:32 #13
Цитата Сообщение от castaway Посмотреть сообщение
Mr.X, это как?
Ну, при умножении комплексных чисел их модули перемножаются, а аргументы складываются.
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
02.02.2016, 15:56 #14
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, при умножении комплексных чисел их модули перемножаются, а аргументы складываются.
Ну в итоге то получается то же самое!?
0
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
02.02.2016, 16:14 #15
Цитата Сообщение от castaway Посмотреть сообщение
Ну в итоге то получается то же самое!?
В смысле?
0
02.02.2016, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2016, 16:14
Привет! Вот еще темы с ответами:

Повернуть массив на 90° по часовой стрелке - C++
С помощью генератора случайных чисел заполните двумерный массив NxN числами в интервале 10-99, и выведете его на экран. Поверните массив на...

Матрицу повернуть на 90 градусов по часовой стрелке на C++ - C++
Содержимое квадратной матрицы A(n,n) повернуть на 90 градусов по часовой стрелке, считая центром поворота центр симметрии матрицы.

Развернуть матрицу на 90o по часовой стрелке. - C++
Заполнить матрицу случайными числами. Развернуть матрицу на 90o по часовой стрелке.

Повернуть квадратную матрицу на 90 градусов по часовой стрелке - C++
повернуть квадратную матрицу на 90 градусов по часовой стрелке


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru