以下内容为所有文本框输入的共同标准
除了使用下方的标准 Python/SymPy 语法,本版本开始支持直接输入 LaTeX 代码。在 LaTeX 代码前添加半角美元符号 $ 作为标识,系统会自动将 LaTeX 表达式转换为 SymPy 表达式进行计算。
使用方式:
| 序号 | 数学含义 | LaTeX 输入 | 等价 SymPy 输入 |
|---|---|---|---|
| 1 | 二分之 x | $\frac{x}{2} | x/2 |
| 2 | x 的平方 | $x^{2} | x**2 |
| 3 | 根号 x | $\sqrt{x} | sqrt(x) |
| 4 | sin(x) | $\sin{x} | sin(x) |
| 5 | 自然对数 ln(x) | $\ln{x} | log(x) |
| 6 | 圆周率 π | $\pi | pi |
| 7 | 无穷大 ∞ | $\infty | oo |
$ 开头且必须为半角美元符号。如果不以 $ 开头,系统将按原有 SymPy/Python 语法规则解析表达式。LaTeX 解析支持常见的数学符号与结构,复杂表达式也可混合使用 LaTeX 和 SymPy 语法。
+ - * /**(例如 x**2 表示 x 的平方)sqrt()abs()log(x, a)log(x)sin() cos() tan() cot() sec() csc()asin() acos() atan() acot() 等sinh() cosh() tanh() 等epioo / -oo() 即可I示例:
| 序号 | 数学含义 | 应输入的表达式 |
|---|---|---|
| 1 | 2x | 2*x |
| 2 | x 的平方 | x**2 |
| 3 | x 的算术平方根 | sqrt(x) |
| 4 | 以 2 为底 x 的对数 | log(x,2) |
| 5 | 自然对数 ln(x) | log(x) |
| 6 | x 的正弦值 | sin(x) |
FiniteSet(1,2,3)ImageSet(Lambda(x, f(x)), Domain)RealsComplexesNaturalsNaturals0IntegersRationalsEmptySetInterval(x,y)Interval.Lopen(x,y)Interval.Ropen(x,y)Interval.open(x,y)Union(A,B)Intersection(A,B)Complement(A,B),其中 A 为全集示例:
| 序号 | 数学含义 | 应输入的表达式 |
|---|---|---|
| 1 | 集合 {1,2} | FiniteSet(1,2) |
| 2 | 区间 [1,2] | Interval(1,2) |
| 3 | 区间 [1,2) | Interval.Ropen(1,2) |
| 4 | 区间 (1,2) | Interval.open(1,2) |
| 5 | 并集 {0}∪[1,2] | Union(FiniteSet(0),Interval(1,2)) |
| 6 | 交集 {1,2}∩{2,3} | Intersection(FiniteSet(1,2),FiniteSet(2,3)) |
| 7 | 补集 R \ [-1,1] | Complement(Reals,Interval(-1,1)) |
FiniteSet(1,2,3) 将函数定义域限定为离散点集 {1,2,3}FiniteSet(0,1) 限定只求解该集合中的根Union(Interval(0,1), FiniteSet(2)) 表示区间 [0,1] 与点 2 的并集ImageSet(Lambda(x, x**2), Interval(0, 5)) 表示 {x² | x∈[0,5]}ImageSet(Lambda(n, n*pi), Integers),其中 n 为整数ImageSet(Lambda(x, 2*x+1), Integers) 表示所有奇数组成的集合对于已经在"定义"页面定义好的函数,可以在其余大多数输入框内直接使用该函数:
g+1/g 得到 x**2 + 1/x**2f(3) 自动计算 3**2 = 9;支持嵌套调用如 f(g(2))在求导、积分、方程求解、表达式变形等模块中,如果计算结果的分母含有根号,系统会自动执行分母有理化,将结果化简为分子分母均为整式或根式的最简形式。
支持三种计算引擎:
在"定义向量"页面,可以定义二维向量并执行向量运算。
v,可自定义sqrt(3)、pi/2)在"解三角形"页面,输入三角形的已知条件即可求解其余未知元素。
pi/3、sqrt(2))| 情形 | 已知条件 | 说明 |
|---|---|---|
| ASA | 两角一边(边为两角夹边) | 唯一解 |
| AAS | 两角一边(边为其中一角对边) | 唯一解 |
| SAS | 两边及夹角 | 唯一解 |
| SSA | 两边及其中一边对角 | 可能两解、一解或无解 |
| SSS | 三边 | 唯一解 |
在"绘制函数"页面,可以绘制函数图像。
x**2、sin(x))1/x 在 x=0 处断开曲线)sin(x),定义域设为 [0, 2*pi],点击绘制即可看到一个完整的正弦波形。
在"平面几何"页面定义点、直线、线段、圆、三角形、多边形,然后在"平面绘图"页面可视化。
| 类别 | 方法 | 参数 |
|---|---|---|
| 基础创建 | 通过坐标创建点 | x, y |
| 基础创建 | 通过两点创建直线 | 点1, 点2 |
| 基础创建 | 通过圆心和半径创建圆 | 圆心, 半径 |
| 基础创建 | 通过三点创建圆(外接圆) | 点1, 点2, 点3 |
| 基础创建 | 通过三点创建三角形 | 点1, 点2, 点3 |
| 基础创建 | 通过顶点列表创建多边形 | 点1, 点2, ... |
| 圆的构造 | 以两点为直径端点作圆 | 点1, 点2 |
| 圆的构造 | 以圆心和圆上一点作圆 | 圆心, 圆上点 |
| 直线构造 | 线段的中垂线 | 线段名 |
| 直线构造 | 过一点作平行线 | 点名, 线段名 |
| 直线构造 | 过一点作垂线 | 点名, 线段名 |
| 直线构造 | 两直线角平分线 | 直线1, 直线2 |
| 直线构造 | 角平分线(三点) | 点1, 点2(顶点), 点3 |
| 三角形构造 | 三角形的中线 | 三角形名, 顶点索引(0/1/2) |
| 三角形构造 | 三角形的高线 | 三角形名, 顶点索引(0/1/2) |
| 三角形构造 | 三角形的中位线 | 三角形名 |
| 三角形构造 | 三角形的内切圆 | 三角形名 |
| 三角形构造 | 三角形的旁切圆 | 三角形名, 顶点索引(0/1/2) |
| 线段 | 通过两点构造线段 | 点1, 点2 |
切换到"平面绘图"页面,所有已定义对象默认全部勾选。取消不需要的对象后点击绘制or更新,即可生成 Matplotlib 图像。
在"立体几何"页面定义三维点、直线、平面、线段,然后在"立体绘图"页面 3D 可视化。
| 方法 | 参数 |
|---|---|
| 通过坐标创建点 | x, y, z |
| 通过两点创建直线 | 点1, 点2 |
| 过一点作平面的平行平面 | 平面名, 点名 |
| 过一点作直线的垂直平面 | 直线名, 点名 |
| 过一点作直线的平行线 | 直线名, 点名 |
| 过一点作直线的垂线 | 点名, 直线名 |
| 过一点作平面的垂线 | 平面名, 点名 |
| 过一直线和线外一点作平面 | 直线名, 点名 |
| 过两相交/平行直线作平面 | 直线1名, 直线2名 |
| 点到平面的垂足 | 点名, 平面名 |
| 点到直线的垂足 | 点名, 直线名 |
| 通过两点构造三维线段 | 点1, 点2 |
切换到"立体绘图"页面,通过复选框筛选对象后点击绘制or更新,生成 3D 旋转视角的 Matplotlib 图像(含透明平面和彩色直线)。
在"平面计算"页面,使用已定义的点、直线、圆、三角形、多边形等对象进行几何运算。参数以英文半角逗号分隔,通过对象名称引用已定义对象。
| 类别 | 操作 | 参数示例 |
|---|---|---|
| 点运算 | 两点距离 | A, B |
| 点运算 | 中点坐标 | A, B |
| 点运算 | 多点共线判断 | A, B, C |
| 点运算 | 平移点 | A, 1, 2 |
| 点运算 | 绕定点旋转点 | A, pi/2, O |
| 点运算 | 点关于直线反射 | A, L1 |
| 直线运算 | 直线方程 | A, B |
| 直线运算 | 直线斜率 | A, B |
| 直线运算 | 两直线交点 | L1, L2 |
| 直线运算 | 点到直线距离 | A, L1 |
| 直线运算 | 两直线夹角 | L1, L2 |
| 直线运算 | 平行判断 / 垂直判断 | L1, L2 |
| 圆运算 | 圆心坐标 / 半径 / 面积 / 周长 | C1 |
| 圆运算 | 两圆交点 | C1, C2 |
| 圆运算 | 圆切线方程 | A, C1 |
| 三角形运算 | 面积 / 周长 / 外心 / 内心 / 重心 / 垂心 | T1 |
| 三角形运算 | 外接圆半径 / 内切圆半径 | T1 |
| 三角形运算 | 直角/等腰/等边判断 | T1 |
| 多边形运算 | 面积 / 周长 | A, B, C, D |
| 变换 | 平移 / 旋转 / 反射 | 见点运算 |
| 向量运算 | 两点向量 / 向量模 / 点积 / 夹角 | A, B |
A,B,C,计算结果为 6。
在"立体计算"页面,使用已定义的三维点、直线、平面等对象进行空间几何运算。
| 类别 | 操作 | 参数示例 |
|---|---|---|
| 点运算 | 两点距离 / 中点坐标 | A, B |
| 点运算 | 点到平面距离 | A, P1 |
| 点运算 | 点到直线距离 | A, L1 |
| 点运算 | 点在平面/直线投影 | A, P1 或 A, L1 |
| 点运算 | 多点共面判断 | A, B, C, D |
| 直线运算 | 方向向量 / 交点 / 夹角 | L1, L2 |
| 直线运算 | 平行/垂直判断 | L1, L2 |
| 直线运算 | 直线在平面投影 | L1, P1 |
| 平面运算 | 三点求平面方程 | A, B, C |
| 平面运算 | 平面法向量 | P1 |
| 平面运算 | 两平面夹角 / 交线 / 平行/垂直 | P1, P2 |
| 线面关系 | 平面与直线交点 | P1, L1 |
| 线面关系 | 直线与平面夹角 | L1, P1 |
| 体积 | 四面体体积 | A, B, C, D |
| 向量运算(3D) | 两点向量 / 模 / 点积 / 叉积 / 夹角 | A, B |
| 斜二测画法 | 投影 / 逆变换 / 面积比 | A 或 1,2,0 |
A,B,C,D,计算结果为 1/6。
微分方程的输入不符合上面的函数输入标准,因为微分方程的解在求解之前是未知的。系统会在解析表达式时排除所有已定义的函数来避免干扰,同时待求解的函数被固定为 f(x)。
输入中,使用 f(x).diff(x,n) 表示对 x 的 n 阶导数。可省略 1,直接输入 f(x).diff(x) 表示一阶导数。
示例:勾选"微分方程",左式输入 f(x).diff(x,1),右式输入 f(x)+1,即完成方程 f'(x)=f(x)+1 的输入,点击求解得到 f(x)=C1*exp(x)-1。
通过菜单栏"功能 → 设置"打开设置页面,可进行以下配置:
help_en.html)。两项设置以 JSON 形式保存在 Qt 标准配置目录下(典型路径 AppData/Local/CalculusCalculator/CalculusCalculator/settings.json),内容为 {"language": "zh_CN", "theme": "dark"} 等形式。
通过菜单栏"文件 → 保存 / 打开"可将当前工作现场(含主题与语言)保存为项目文件,打开时自动恢复其中保存的主题与语言设置。
通过"缓存区"功能暂存和管理常用表达式,支持两种使用方式:
每个文本输入框右侧有三个带图标的快捷按钮:
| 图标 | 功能 | 说明 |
|---|---|---|
| 键盘 | 可视化输入 | 打开公式编辑器对话框,以图形化方式插入数学符号与结构 |
| 打开 | 打开缓存区 | 弹出缓存区对话框,双击缓存项可将表达式填入当前输入框 |
| 加号 | 存入缓存区 | 将当前输入框文本存入缓存区(重复项移至最前,图标短暂变为对勾) |
基于 pyqt5-math-widget(已内置于 math_input/ 目录)的可视化数学公式输入面板。自 v2.0.0 起,公式编辑器的底层引擎由旧版组件更换为 MathLive,输入体验更流畅,符号渲染更精准。
在"设置"页面的"存档设置(保存时)"区域中,可以通过勾选/取消复选框来精细控制存档时要保存哪些类型的信息:
| 选项 | 说明 |
|---|---|
| 函数列表 | 自定义函数定义(fs 字典) |
| 方程列表(方程组) | 所有已输入方程的表达式列表 |
| 不等式列表(不等式组) | 所有已输入不等式的表达式列表 |
| 向量列表 | 所有已定义的向量 |
| 所有缓存区内容 | 缓存区中暂存的所有表达式 |
| 平面几何对象列表 | 平面几何中定义的点、线、圆、三角形等 |
| 立体几何对象列表 | 立体几何中定义的点、线、面等 |
| 所有文本框文本 | 所有输入框中的文字内容 |
| 所有选择框选项 | 所有下拉选择框的当前选中项 |
| 所有表达式显示框内容 | 所有公式渲染视图的内容 |
| 所有设置选项 | 标签页序号、语言、主题等框架设置 |
core/目录添加 __init__.py,ui/i18n.py 重构为 core/settings.py新增"积木化"功能,通过拖拽拼接积木搭建可视化计算流程,无需编写代码即可完成复杂计算。在"积木化"页面打开积木编辑器,目前支持:
$ 输入 LaTeX 代码(参见"〇、LaTeX 代码直接输入")。新增启动界面(Splash),在程序加载资源时显示进度与提示,避免启动期间的空白等待。配合既有懒加载(lazy_loader)机制,整体启动速度得到优化。
以上内容完全参考 Python 3.12 与 SymPy 1.14 的语言规范。
若有疑问,请参考:
| 版本 | 发布日期 | 核心更新 |
|---|---|---|
| v2.0.0 | 2026-08-14 | 新增积木化功能(可视化计算流程);公式编辑器后端升级为 MathLive;新增启动界面并优化启动速度;帮助文档新增英文支持;积木化新增"代码预览双模式"(原生 SymPy 代码 / 库代码);修复输出 LaTeX 渲染误判问题;修复 sympify 传入 SymPy 对象时的下标访问错误 |
感谢您的使用!
LiMingkang
2026/8/14