- 目前,有许多软件提供曲线拟合功能,例如
matlab
,origin
,excel
等,这些软件功能强大,但是也有不足之处:它们都只能对输入的一组数据点拟合出图像,如果需要修改图像,只能手动修改数据值,而无法在函数图像中直接添加点或移动点实时获取对应函数曲线,便捷性和直观性较差。 - 在各种实际工程设计和科学实验的数据处理过程中,通常有一条预设的曲线,或者一些偏离的样本点,如果能够直接在拟合出的函数图像中对这些点进行移动修改,那么数据的处理无疑会简单直观很多。
- 我们的暑期c++工程就是基于这样的一个需求,目标开发出一款可以直接在图像上对点进行移动,得到拟合曲线的数学工具——OPCF(ocular points curve fitting).
- 美观友好的图形化界面
- 包括主窗口、菜单栏、工具栏、表格区、函数图像区和信息显示区。
- 主要功能
- 多种类型的函数拟合,包括一次函数、二次函数、三次函数、指数函数、对数函数和三次样条插值拟合。
- 直接在图像上添加、移动点的功能。
- 撤销、重做功能。
- 保存和载入功能。可以保存工程文件或者只保存函数图像,可以载入工程文件或从excel文件导入数据。
- 在之前的数值分析课程中,学习了三次样条插值法可以用于拟合曲线。曲线的拟合功能在Vs2019中用C++开发。开发模型使用老师讲述的MVVM模型,如下图所示:
- 基于Qt5.13.0实现GUI界面。
- 使用Visual studio 2019 以及 c++17 特性进行编程。
- 使用Jenkins实现持续集成。
任务 | 所需时间(天) |
---|---|
需求分析 | 0.5 |
测试规划 | 0.5 |
界面设计 | 0.5 |
MVVM 模型熟悉 |
1 |
git学习以及持续集成环境构建 | 2 |
第一轮迭代 | 3 |
第二轮迭代 | 2 |
第三轮迭代 | 2 |
gantt
dateFormat YYYY-MM-DD
title C++项目管理及工程实践开发计划
section 时间规划
git学习:done, a0,2019-07-05,1d
jenkins集成环境搭建:crit,a1,after a0,2d
需求分析 :done,a2,2019-07-06,12h
MVVM模型样例代码学习:crit,a3,after a2,2d
界面设计:a4,after a1,1d
测试分析:a5,after a3,12h
第一轮迭代:crit,a6,after a5,3d
第二轮迭代:a7,after a6,2d
第三轮迭代:a8,after a7,1d
报告撰写:a9,after a8,2d
姓名 | 任务 |
---|---|
邵尧 | view层和持续集成jenkins工具的搭建 |
周章华 | viewmodel层和model层的搭建以及app层组装 |
周国晨 | model层的三次样条插值拟合算法以及common层架构 |
姓名 | 任务 |
---|---|
邵尧 | model层与算法层的修改,多项式函数拟合算法 |
周章华 | view层添加图像的显示,添加图像显示的功能 |
周国晨 | viewmodel层与model层的函数图像坐标范围计算 |
姓名 | 任务 |
---|---|
邵尧 | model层与viewmodel层,增加更多函数拟合选项 |
周章华 | model层与算法层,指数与对数拟合算法 |
周国晨 | view层功能添加,界面设计 |
- 完善了MVVM模型。运行效果与v1.0版本相同。