Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 418

Вращение объекта

10.03.2022, 22:09. Показов 2755. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужна помощь с вращением объекта. Никак не получается вращать вот эту часть:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    //дверь
        carPainter.setBrush(QBrush(Qt::white));
        QPolygon polygon;
        polygon << QPoint(650,430) << QPoint(730,430) << QPoint(730,600) << QPoint(600,600) << QPoint(600,500);
     carPainter.drawPolygon(polygon);
 
    carPainter.setBrush(QBrush(Qt::white));
     carPainter.setBrush(QBrush(Qt::red));
    carPainter.drawRect(600,500,129,100);
 
    //ручка
    carPainter.setBrush(QBrush(Qt::black));
    carPainter.drawRect(700,520,20,10);
 
}
помогите пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2022, 22:09
Ответы с готовыми решениями:

Реализовать вращение 3D объекта как вращение камеры
Существует некий объект в 3D пространстве (для примера используем куб). В исходном положении это дело выглядит как на рисунке 1 первый куб...

Вращение объекта вокруг другого объекта
Как сделать вращение объекта вокруг другого объекта? Например: создаём куб, затем внутри него создать ещё один куб и отодвинуть этот...

Вращение объекта
using UnityEngine; using System.Collections; public class gameplay : MonoBehaviour { public GameObject obj; public Transform...

20
 Аватар для kapbepucm
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,661
17.03.2022, 15:38
Студворк — интернет-сервис помощи студентам
volver, вращать нужно только часть объекта или всё?

C++ (Qt)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QTimer>
 
class Window: public QWidget
{
  bool positive = true;
  int angle = 0;
  const int step = 1;
  const int interval = 100;
  const int maximum = 45;
public:
  Window(): QWidget(nullptr)
  {
    QTimer* timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &Window::rotate);
    timer->start(interval);
  }
private:
  void rotate()
  {
    if (angle < -maximum || angle > maximum)
      positive = !positive;
    if (positive)
      angle = angle + step;
    else
      angle = angle - step;
    update();
  }
  void paintEvent(QPaintEvent *e)
  {
    Q_UNUSED(e);
    QPainter carPainter(this);
 
    QPoint p0(705, 640);
    QTransform t;
    t.translate(p0.x(),p0.y());
    t.rotate(angle);
    t.translate(-p0.x(),-p0.y());
    carPainter.setTransform(t);
 
    QPen pen(Qt::black, 2);
    QPen pen_2(Qt::black, 1);
    carPainter.setPen(pen);
    carPainter.drawLine(731,430,850,430);
    carPainter.drawLine(850,430,900,500);
    carPainter.drawLine(900,500,600,500);
    carPainter.drawLine(850,430,900,403);
    carPainter.setBrush(QBrush(Qt::red));
    carPainter.drawRect(500,500,100,100);
    carPainter.drawRect(732,500,169,100);
    //дверь
    carPainter.setBrush(QBrush(Qt::white));
    QPolygon polygon;
    polygon << QPoint(650,430) << QPoint(730,430) 
            << QPoint(730,600) << QPoint(600,600) << QPoint(600,500);
    carPainter.drawPolygon(polygon);
    carPainter.setBrush(QBrush(Qt::white));
    carPainter.setBrush(QBrush(Qt::red));
    carPainter.drawRect(600,500,129,100);
    //ручка
    carPainter.setBrush(QBrush(Qt::black));
    carPainter.drawRect(700,520,20,10);
    //колёса
    carPainter.setBrush(QBrush(Qt::black));
    carPainter.drawEllipse(550,560,80,80);
    carPainter.drawEllipse(780,560,80,80); //360
    carPainter.setBrush(QBrush(Qt::white));
    carPainter.drawEllipse(568,578,45,45);
    carPainter.drawEllipse(798,578,45,45); //378
    //carPainter.drawLine(500,520,900,520);
    //фары
    carPainter.setPen(pen_2);
    carPainter.setBrush(QBrush(Qt::gray));
    carPainter.drawRect(500,520,15,30);
    carPainter.drawRect(885,520,15,30);
    carPainter.setPen(pen);
    carPainter.drawLine(600,500,600,560);
  }
};
 
int main(int argc, char** argv)
{
  QApplication app(argc, argv);
  Window window;
  window.show();
  return app.exec();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2022, 15:38

Вращение объекта
Сложилась сложная ситуация с адекватным вращением объекта. Итак, что нужно: Объект вращается, и двигается только в ту сторону, в...

Вращение объекта
Добрый день! есть у кого нибудь код программы, в которой вращается куб или шар, только не на Direct или OpenGL? просто на форме изменение...

Вращение объекта
Здравствуйте. Есть объет(палка), который должен вращаться относительно своего центра с помощью акселерометра, т.е. палка должна всегда...

Вращение объекта
Всем привет, нужен способ сбора данных о вращении объекта. Надо в 1 переменную записать кол-во градусов которое определенный объект имеет...

Вращение 2D объекта
Здравствуйте, пишу программу симуляции движения 2D руки, но возникла проблема с самим вращением, я вроде сдвигаю оси, но вращение...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru