# Mathematical-Visualization-Tools **Repository Path**: LJ_Luffy/mathematical-visualization-tools ## Basic Information - **Project Name**: Mathematical-Visualization-Tools - **Description**: 这是我的大一c++期末大作业。 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2023-04-05 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: Qt, math ## README # Mathematical-Visualization-Tools # 介绍 这是我的大一c++期末大作业,基于Qt Creator 4.11.1,c++语言。 #### 打包软件 链接:https://pan.quark.cn/s/63c0e95e8fad # 需求分析 - 方便用户能直观地看见函数图像,更好地理解函数 - 图表绘制,可用于论文写作、实验报告、数学建模等 - 三维绘图主要用于理解高数中空间曲面等知识点 # 使用说明 ### 1. 二维函数绘制 开始界面:![开始界面](image/8e5d9ce717bd57ab8a39e65e40a18c7.png) 函数设置、输入界面:![函数设置、输入界面](image/5467b9ab3bd018e21f042eb443710cd.png) ### 使用细节 - 目前仅支持一元方程,如y=x^2,x=y+1 - 用户 **最开始只能选择输入x或y,其他符号均无法输入** ;输入x或y后=号自动补全,删除=号会连同左边的未知数一同删除 - 特定位置*号会自动补全 - **括号的输入很重要** !若要输入 x的二分之一次方 ,应为 y=x^(1/2) - x和y轴的最大范围为[-100,100] ### 2. 数据图表绘制 以柱状图为例: ![柱状图界面](image/f9760c85f7a60306ab390d9853a0786.png) ### 使用细节 - **可直接在表格中进行数据输入、名字更改** - 该输入数据的格子中若输入非数字或未输入,则会 **识别成0** - 使用 清空 功能,不改变表格行列数,只更改格子中的内容 - 饼图的孔洞大小输入限制在[0,100], **超出范围无法输入** - 拟合曲线目前只能绘制多项式拟合 - 拟合图中, **因double类型数据只显示小数点后6位,若计算出的某系数类似于0.0000001,则会识别成0,影响拟合图像的绘制,因此需要根据实际情况改变数据比例或者拟合阶数** - **使用excel导入数据,名字需要自行输入,不可空缺** - **excel导入,只导入数据,不导入名字,并且excel中数据的摆放应于表格中各类数据的摆放一致,类似于下图(柱状图),否则无法绘制预期效果** ![柱状图数据输入excel数据摆放示例](image/7cedc70d4eb689d6a605d3ab0b79ad0.png) ### 3. 三维函数绘制 开始界面:![输入图片说明](image/be678d88871751d9dd401bd7da9ecc5.png) ### 使用细节 - **用户输入的未知数只能为x和y,可缺少其中之一,但是不能全部缺少或者使用其他字母** - **未设置*号自动补全,用户需要自行注意输入** - **显示的坐标中y和z位置互换** # 思路 ### 逆波兰表达式 参考资料:https://blog.csdn.net/m0_52447591/article/details/120092448?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168304462916800225575254%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168304462916800225575254&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-120092448-null-null.142^v86^wechat,239^v2^insert_chatgpt&utm_term=%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F&spm=1018.2226.3001.4187 ### 类的介绍 ![输入图片说明](image/%E6%95%B0%E5%AD%A6%E5%8F%AF%E8%A7%86%E5%8C%96(1).png) ### 二维函数绘图结构设计 ![输入图片说明](image/a811e779b348a82ed41edcd5673a295.png) ### 所用相关知识 ![输入图片说明](image/%E8%BF%90%E7%94%A8(1).png) # 效果图 ### 二维 ![输入图片说明](image/d64781c2a2d9340480823ca690b3921.png) ### 柱状图 ![输入图片说明](image/665f5d8d923c0277834b8eaf10efb9d.png) ### 曲线图 ![输入图片说明](image/95128af2c30049629ca068de38877f2.png) ### 饼图 ![输入图片说明](image/dd53e91ef8af0838dba74e618d7a414.png) ### 拟合曲线 ![输入图片说明](image/137546aae665ca2d9424e3b73b5d67f.png) ### 三维 ![输入图片说明](image/e56261cd52fbfa37fb87d9dd6f18c4e.png) #收获 - 学会使用QT中信号与槽相关知识 - 巩固栈知识点 - 学会并掌握逆波兰表达式