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

Определить операцию «!» для поворота прямоугольника на 90 градусов

04.06.2023, 16:26. Показов 489. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создайте класс «Прямоугольник» (стороны параллельны осям координат). Определите в нем необходимые конструкторы, деструктор (если необходимо), переопределите операции ввода и вывода, определите операцию «!» для поворота прямоугольника на 90 градусов по часовой стрелке относительно центра прямоугольника. Продемонстрируйте использование созданных элементов класса на примере (функция main()).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2023, 16:26
Ответы с готовыми решениями:

Какой будет матрица для поворота на 0 градусов вокруг оси, проходящей через точку P(055, 12669, 015)
Здраствуйте, не могу найти ответ на 2 вопроса, помогите пожалуйста 1. Какой будет матрица для...

Анимация поворота изображения на 360 градусов
подскажите как прокрутить такое изображение по кругу

Перемещение прямоугольника после поворота
Здравствуйте,люди добрые! Мне нужна ваша помощь или совет по одному вопросу. У меня рисуется...

Перевод градусов поворота серводвигателя в линейную величину
Здравствуйте, помогите, если знаете. Имеются сервоприводы, управляющие перемещением каретки...

Способы поворота вектора нормали на 90 градусов в трехмерном пространстве
Доброго времени суток. Имеется вектор нормали (нормализованный вектор направления) направления...

1
Эксперт функциональных языков программированияЭксперт С++
4125 / 1939 / 960
Регистрация: 01.06.2021
Сообщений: 6,831
Записей в блоге: 6
05.06.2023, 00:42 2
Лучший ответ Сообщение было отмечено Royal_X как решение

Решение

fancy-, вот тебя функция RotateAround, с помощью которой можешь поворачивать как угодно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <cmath>
 
struct Point
{
    double x;
    double y;
};
 
Point RotateAround(const Point &point, const Point &pivot, double angle, bool deg = false)
{
    Point p;
    if (deg)
        angle *= std::acos(-1.) / 180.;
    double c = std::cos(angle);
    double s = std::sin(angle);
    double dx = point.x - pivot.x;
    double dy = point.y - pivot.y;
    p.x = c * dx - s * dy + pivot.x;
    p.y = s * dx + c * dy + pivot.y;
    return p;
}
 
int main()
{
    Point p{3, 1};
    p = RotateAround(p, {2, 4}, 40, true);
    std::cout << p.x << ' ' << p.y;
}
Сверил результат с GeoGebra, работает правильно.

Определить операцию «!» для поворота прямоугольника на 90 градусов
1
05.06.2023, 00:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2023, 00:42
Помогаю со студенческими работами здесь

Функция поворота двумерного массива на 180 градусов, против часовой стрелки
Пожалуйста напишите функцию поворота двумерного массива на 180 градусов, против часовой стрелки. ...

Найти матрицу оператора поворота плоскости на 45 градусов против часовой стрелки
Найти матрицу оператора поворота плоскости на угол 45 градусов против часовой стрелки. Не могу...

Матрица поворота. Вращение прямоугольника вокруг точки пересечения диагоналей
Нужно сделать вращение прямоугольника вокруг его центра. Написал метод, где в цикле каждая из...

Как задать угол поворота прямоугольника(важно именно его)
Если подключаю модуль abcobjects , то угол поворота angle нашёл только для правильной фигуры типа...

Матрица поворота. Вращение прямоугольника вокруг точки пересечения его диагоналей
Нужно сделать вращение прямоугольника вокруг его центра. Написал метод, где в цикле каждая из...

Можно ли путём поворота элементов матрицы А по часовой стрелке на 90 градусов получить совмещение матриц А и В
Пожалуйста помогите!!!!!!!!!!!!!!!! Можно ли путём поворота элементов матрицы А по часовой стрелке...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru