Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 8

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

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

Студворк — интернет-сервис помощи студентам
Помогите вывести формулу для поворота фигуры на произвольный угол. У меня выходит одно уравнение с двумя неизвестными.
Миниатюры
Поворот фигуры по часовой стрелке  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2016, 11:56
Ответы с готовыми решениями:

Поворот неквадратной матрицы на 90° по часовой стрелке
Написать программу, выполняющую поворот неквадратной матрицы на 90° по часовой стрелке. Матрицы должны храниться в памяти в виде двумерного...

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

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

49
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
02.02.2016, 20:51
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Mr.X Посмотреть сообщение
Так для этого же надо вспомнить матрицу поворота! Ну и, я говорил уже, что для меня перемножить два числа проще, чем умножать вектор на матрицу. Ну и комплексные числа же не просто так придуманы. Они реализуют некоторые математические модели, к которым и повороты фигур относятся.
Много слов у нас...
Вы можете как-то проще повернуть точку в 2D пространстве?
C++
1
2
3
4
5
6
7
8
    // precalculate sin/cos
    a_sin = sin( angle );
    a_cos = cos( angle );
 
    ...
 
    new_x =  x * a_cos + y * a_sin;
    new_y = -x * a_sin + y * a_cos;
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
02.02.2016, 21:02
Цитата Сообщение от castaway Посмотреть сообщение
Много слов у нас...
Вы можете как-то проще повернуть точку в 2D пространстве?
Неожиданно! Так я ж вроде начал не со слов, а с дела, то бишь с кода, где именно повернул, и именно проще!
И я не очень люблю, когда точку представляют несколькими объектами, одним мне проще.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
02.02.2016, 21:16
Mr.X,
Перефразирую вопрос.
Вы можете повернуть точку за меньшее количество операций?
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
02.02.2016, 21:49
Цитата Сообщение от castaway Посмотреть сообщение
Вы можете повернуть точку за меньшее количество операций?
Цитата Сообщение от castaway Посмотреть сообщение

C++
1
2
3
4
 a_sin = sin( angle );
 a_cos = cos( angle );
 new_x = x * a_cos + y * a_sin;
 new_y = -x * a_sin + y * a_cos;
Ну, похоже, что вы мой код не читали. Если в этой теме еще есть такие, то для них поясняю, что у меня вместо ваших строчек 1 и 2 - вызов функции
C++
1
std::polar(1,angle )
, а вместо строчек 3 и 4 с шестью арифметическими операторами - умножение одного комплексного числа на другое.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
02.02.2016, 21:59
Цитата Сообщение от Mr.X Посмотреть сообщение
а вместо строчек 3 и 4 с шестью арифметическими операторами - умножение одного комплексного числа на другое.
А вы в курсе чем для процессора обходится ваше умножение комплексного числа? Мне кажется что нет.

Ваш код я читал, и он не ответил на мой вопрос.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
02.02.2016, 22:16
Цитата Сообщение от castaway Посмотреть сообщение
А вы в курсе чем для процессора обходится ваше умножение комплексного числа?
Если в ТЗ отдельно не оговорена оптимизация кода ради увеличения производительности (уменьшение нагрузки на проц, уменьшение необходимой памяти и т.п.), то нет никакой причины жертвовать читабельностью кода. Пускай себе проц трудится. Его для того и придумали.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
02.02.2016, 22:19
Цитата Сообщение от gru74ik Посмотреть сообщение
Если в ТЗ отдельно не оговорена оптимизация кода ради увеличения производительности (уменьшение нагрузки на проц, уменьшение необходимой памяти и т.п.), то нет никакой причины жертвовать читабельностью кода. Пускай себе проц трудится. Его для того и придумали.
А где вы видели что в моём случае пострадала читабельность?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
02.02.2016, 22:27
Цитата Сообщение от castaway Посмотреть сообщение
А где вы видели что в моём случае пострадала читабельность?
Не было такого. Но я Вас в этом и не упрекал. Рассуждения о соотношении читабельность/оптимизация были, так сказать, просто мыслями вслух, никому не в укор.
Я к тому, что если Mr.X для решения задачи решил умножить комплексные числа, то ничего страшного в этом нет. Не ракеты же в космос запускаем - просто учебные примеры. Каждый реализует так, как взбредёт в голову, лишь бы ТЗ было выполнено и код был читаем.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
02.02.2016, 23:01
Там всё есть: https://habrahabr.ru/post/131931/
0
02.02.2016, 23:03
 Комментарий модератора 
Господа, не переходите на взаимные обвинения и выяснение отношений.
Тема почищена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.02.2016, 23:03
Помогаю со студенческими работами здесь

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

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

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

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

Вращение Треугольника по часовой стрелке
Есть вот такие переменные: int x1_1 = 320; int x2_1 = 300; int y1_1 = 200; int y2_1 = 240; int x1_2 = 300; int x2_2 = 340; int...


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

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru