我已经为汽车制作了一个 Controller ,目前正在尝试在 Qt 中为该 Controller 制作一个 GUI。 我现在唯一缺少的是汽车相对于起点的位置和角度的可视化。
我想做这样的事情:
其中圆圈代表汽车,其中的线代表它的航向/角度。
一个额外的奖励功能是在它移动时对其路径有淡淡的痕迹,但如果我掌握了基础知识,我应该能够自己解决这个问题。
我已尝试查看一些情节示例,但无法推断出解决问题所需的条件。
您建议如何实现这样的事情?
最佳答案
You say :
I have all the measurements
那么让我们假设您有 Euler angles这样你就可以过滤掉 roll 的变化,只考虑 φ 的变化。
为此,您需要扩展一个 QWidget
,添加一个成员 φ,我们将其命名为:m_phi
。我们还需要将您的 QPixMap
添加为成员,我们将其称为 m_px
。你将覆盖 QWidget::paintEvent
.
paintEvent(qPaintEvent* /*event*/) {
if(!m_px.isNull()) {
QPainter* p;
p.setRenderHint(QPainter::Antialiasing);
p.translate(width() / 2.0, height() / 2.0);
p.save();
p.rotate(m_phi);
QRect r = m_px.rect();
r.moveCenter(QPoint());
p.drawPixmap(r, m_px);
p.restore();
}
}
关于c++ - Qt中位置和角度的二维图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36691109/