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

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

10.03.2022, 22:09. Показов 2723. Ответов 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,660
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
Ответ Создать тему
Новые блоги и статьи
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного. 1. Почему показания термометра заряжены целью? Цель заложена в самом. . .
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ По ссылке 403. Не очень информативно такую ссылку постить. Запись от Usaga размещена Сегодня в 06:46 . . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru