Qt文档阅读笔记-Rotations Example相关
发布日期:2021-06-30 10:41:08
浏览次数:2
分类:技术文章
本文共 1929 字,大约阅读时间需要 6 分钟。
Rotations Example文档阅读笔记
使用这种方式,对y轴和z轴进行旋转。
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);
箭头的梯度函数0.0是黑色,1.0为白色
代码中的各个各个知识点解析:
Q3DScatter:用于渲染3D离散图的。还可以对内部的item进行旋转。
通过鼠标左右键进行。滚动滚轮进行放大和缩小(变化了场景)。
构造一个简单的Q3DScatter图
首先设置此属性:Qt::FramelessWindowHint
Q3DScatter scatter;scatter.setFlags(scatter.flags() ^ Qt::FramelessWindowHint);
做了上面的工作后Q3DScatter 才能接收数据。使用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();
完整的代码:
#includeusing 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();}
下面这个函数:
QWidget *QWidget::createWindowContainer
在第一个参数的QWindow里面创建一个QWidget
QScatter3DSeries:使用Q3DScatter构建连续的线。
转载地址:https://it1995.blog.csdn.net/article/details/103678000 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月23日 13时35分28秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
在 Vue 中用 Axios 异步请求API
2019-04-30
为什么总是面试造火箭呢?做前端真的有这么难么?
2019-04-30
85道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)
2019-04-30
如何安装以及使用vsftpd服务
2019-04-30
Linux之磁盘与分区的管理(快速入门)
2019-04-30
LVM逻辑卷------基础命令详解(三分钟入门)
2019-04-30
LVM逻辑卷------详细操作过程(三分钟上手)
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MySQL数据库之索引
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
Mysql——完全备份+增量备份+备份恢复
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
LVS负载均衡------NAT模式
2019-04-30
MYSQL 之 读写分离
2019-04-30
MYSQL 之 MHA高可用架构搭建
2019-04-30
部署 LVS-DR + keepalived 高可用群集
2019-04-30
Haproxy搭建web群集
2019-04-30
Nginx+Tomcat部署负载均衡
2019-04-30
Tomcat 与 Nginx 实现动静分离的详细部署
2019-04-30