CppQt3D-DataVisualization Simple LorenzSystem By Q3DScatter

news/2025/2/24 6:09:52/文章来源:https://www.cnblogs.com/NekoBlog/p/18714817

环境搭建:

Qt 6.7.2 MSVC 2019 64bit

CMake latest

find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Core Core5Compat DataVisualization)#executable(...) 之后target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::DataVisualization)

#Simple Lorenz System
class LorenzSystemTest {
public:LorenzSystemTest(double sigma, double rho, double beta): sigma(sigma), rho(rho), beta(beta) {}void step(double dt) {double dx = sigma * (y - x);double dy = x * (rho - z) - y;double dz = x * y - beta * z;x += dx * dt;y += dy * dt;z += dz * dt;}double x = 1.0, y = 1.0, z = 1.0; // 初始条件private:double sigma, rho, beta;
};

GTEST 验证及绘制(不考虑内存问题,仅作示例)

TEST(ChaoticSystemTest,LorenzScatterTest) {// 创建 3D 图表窗口Q3DScatter *scatter = new Q3DScatter();scatter->setShadowQuality(QAbstract3DGraph::ShadowQualityNone);scatter->setFlags(scatter->flags() ^ Qt::FramelessWindowHint); // 显示窗口边框scatter->setAxisX(new QValue3DAxis);scatter->setAxisY(new QValue3DAxis);scatter->setAxisZ(new QValue3DAxis);scatter->axisX()->setTitle("X");scatter->axisY()->setTitle("Y");scatter->axisZ()->setTitle("Z");scatter->setTitle("Lorenz System - 3D View");// 创建数据系列QScatter3DSeries *series = new QScatter3DSeries;series->setItemLabelFormat("(@xLabel, @yLabel, @zLabel)");series->setMesh(QAbstract3DSeries::MeshPoint); // 设置点的形状series->setBaseColor(Qt::blue); // 设置点的颜色// 初始化 Lorenz SystemLorenzSystemTest lorenz(10.0, 28.0, 8.0 / 3.0); // 经典参数double dt = 0.01; // 时间步长int steps = 10000; // 总步数// 生成 Lorenz System 数据QScatterDataArray data;for (int i = 0; i < steps; ++i) {lorenz.step(dt);data << QVector3D(lorenz.x, lorenz.y, lorenz.z);}// 设置数据series->dataProxy()->addItems(data);scatter->addSeries(series);// 显示窗口scatter->resize(800, 600);scatter->show();
}

演示图:

image-20250214100135854

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883601.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Burpsuite基础使用

Burpsuite使用教程 目标靶场 :pikachu 系统 :win11 (一)暴力破解 1.基于表单的暴力破解什么是暴力破解? Burte Force(暴力破解)概述 ​ “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用…

docker compose容器化部署 sonarqube+jenkins+dingtalk钉钉插件通知+中文插件 代码检测。超详细

docker hub : https://hub.docker.com/_/sonarqube 钉钉插件:https://github.com/xbmlz/sonar-dingtalk-plugin 中文包:https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-8.9sonar客户端:https://docs.sonarsource.com/sonarqube-server/la…

[AI/GPT] 硅基流动(SiliconFlow) : AI大模型时代的基础设施

概述:硅基流动(SilliconFlow) 简介 🌸硅基流动(SiliconFlow) 是一家专注于人工智能(AI)基础设施的公司,致力于通过技术创新降低大模型(如生成式AI和大语言模型)的部署和推理成本,推动人工通用智能(AGI)的普及。 https://siliconflow.cn/zh-cn/ 以下是关于硅基流动…

010 组件生命周期

每个组件在被创建时都要经过一系列的初始化过程一一例如,需要设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫做生命周期的钩子函数,这给了用户在不同阶段添加自己的代码的机会为了方便记忆,我们可以将他们分类:创建时:…

03网络基础day02

ip及子网掩码 私有ip地址范围 A类:10.0.0.0-10.255.255.255 子网掩码是8位 B类:172.16.0.0-172.31.255.255 子网掩码是16位 C类:192.168.0.0-192.168.255.255ip不够解决方案 方式一:部分ip划分出来用于内部ip, 一个公网ip可以让上千万设备共享上网 NAT 网络地址…

Jmeter Http request Get 请求的时候 response body 为空

Jmeter response body 为空已知原因: 1、Content encoding 的默认编码对应不上,需要手动设置编码为:UTF-8; 2、请求设置 Header,且设置有请求数据类型为 Content-Type: application/json 注:原因2是GET,如果通过 Nginx 代理处理请求后再到达目标服务器,则可以避免该情况…

c# log4net 日志的使用

C# log4net 日志参考:C# log4net的使用。输出的日志内容添加文件名和行号。_log4net 发布 输出的文件中行号-CSDN博客1.NuGet增加log4net 2.增加log4net.config文件 log4net.config的内容如下,没有的功能可以搜一搜,设置 log4net.config的属性 复制到输出目录 设为始终复制&…

超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏!

在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智能的AI编程。 1、为什么选择DeepSeek + PyCharm? DeepSeek…

解锁互动新体验:专业互动小游戏开发,打造你的专属爆款

在移动互联网时代,互动小游戏以其轻量化、强社交、易传播的特性,成为了品牌营销、用户引流、产品推广的利器。无论是电商平台的趣味促销,还是教育机构的寓教于乐,亦或是线下门店的引流获客,互动小游戏都能以其独特的魅力,吸引用户参与,提升品牌影响力。 然而,想要打造一…

超详细,DeepSeep 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏!

在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智能的AI编程。 1、为什么选择DeepSeek + PyCharm? DeepSeek…

机台设备数据采集方案:打破数据孤岛,实现数据资源有效配置!

机台设备上的数据种类丰富多样,机台设备数据采集对于监测机台状态、优化生产过程以及进行故障诊断等都具有重要意义,可以提高设备的运行效率和生产效益。对于汽车零部件企业而言,会涉及以下机台设备数据采集需求: 1、生产设备: 冲压设备:如压力机等,用于金属板材的冲压成…

天猫精灵功能开发

AliGenie技能应用平台 消息中心咨询答疑文档中心zhwnw新人必看教程新人必看教程10分钟带你创建一个技能应用,4堂课掌握语音技能开发能力快速实现欢迎回复需要时间:10min实现单轮、多轮对话需要时间:20min切换意图,参数传递需要时间:15min开发屏显页面需要时间:20min课程介…