Qt文档阅读笔记-Rotations Example相关
生活随笔
收集整理的這篇文章主要介紹了
Qt文档阅读笔记-Rotations Example相关
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Rotations?Example文檔閱讀筆記
?
使用這種方式,對y軸和z軸進行旋轉(zhuǎn)。
QQuaternion yRotation = QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, horizontalAngle * radiansToDegrees); QQuaternion zRotation = QQuaternion::fromAxisAndAngle(0.0f, 0.0f, 1.0f, verticalAngle * radiansToDegrees); QQuaternion totalRotation = yRotation * zRotation; ptrToDataArray->setRotation(totalRotation);使用這種方式加載obj素材:
m_magneticField->setMesh(QAbstract3DSeries::MeshUserDefined); m_magneticField->setUserDefinedMesh(QStringLiteral(":/mesh/narrowarrow.obj"));顏色梯度如下代碼:
QLinearGradient fieldGradient(0, 0, 16, 1024); fieldGradient.setColorAt(0.0, Qt::black); fieldGradient.setColorAt(1.0, Qt::white); m_magneticField->setBaseGradient(fieldGradient); m_magneticField->setColorStyle(Q3DTheme::ColorStyleRangeGradient);箭頭的梯度函數(shù)0.0是黑色,1.0為白色
?
?
代碼中的各個各個知識點解析:
Q3DScatter:用于渲染3D離散圖的。還可以對內(nèi)部的item進行旋轉(zhuǎn)。
通過鼠標(biāo)左右鍵進行。滾動滾輪進行放大和縮小(變化了場景)。
?
構(gòu)造一個簡單的Q3DScatter圖
首先設(shè)置此屬性:Qt::FramelessWindowHint
Q3DScatter scatter; scatter.setFlags(scatter.flags() ^ Qt::FramelessWindowHint);做了上面的工作后Q3DScatter 才能接收數(shù)據(jù)。使用QVector3D添加一條3D線。
QScatter3DSeries *series = new QScatter3DSeries; QScatterDataArray data; data << QVector3D(0.5f, 0.5f, 0.5f) << QVector3D(-0.3f, -0.5f, -0.4f) << QVector3D(0.0f, -0.3f, 0.2f); series->dataProxy()->addItems(data); scatter.addSeries(series);最后展示下即可:
scatter.show();完整的代碼:
#include <QtDataVisualization>using namespace QtDataVisualization;int main(int argc, char **argv) {QGuiApplication app(argc, argv);Q3DScatter scatter;scatter.setFlags(scatter.flags() ^ Qt::FramelessWindowHint);QScatter3DSeries *series = new QScatter3DSeries;QScatterDataArray data;data << QVector3D(0.5f, 0.5f, 0.5f) << QVector3D(-0.3f, -0.5f, -0.4f) << QVector3D(0.0f, -0.3f, 0.2f);series->dataProxy()->addItems(data);scatter.addSeries(series);scatter.show();return app.exec(); }下面這個函數(shù):
QWidget *QWidget::createWindowContainer在第一個參數(shù)的QWindow里面創(chuàng)建一個QWidget
?
?
QScatter3DSeries:使用Q3DScatter構(gòu)建連續(xù)的線。
總結(jié)
以上是生活随笔為你收集整理的Qt文档阅读笔记-Rotations Example相关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt文档阅读笔记-GridLayout
- 下一篇: RabbitMQ笔记-使用rabbitm