立体几何
"立体几何"页面用于定义三维空间对象(点、直线、平面、线段)并在 Matplotlib 中绘图。定义的对象保存在主窗口的 ljs 字典中({名称: (类别, sympy 对象)}),可供「立体几何计算」与「立体几何绘图」页面共用。
定义对象
在"立体几何"页面选择定义方法、输入名称与参数后点击保存(或直接按回车)即可创建对象。创建后对象按类别显示在下方列表中,可读取(查看名称与方程 / 表达式)或删除。
| # | 定义方法 | 参数(英文半角逗号分隔) | 生成类别 |
|---|---|---|---|
| 1 | 三维点(坐标) | x坐标, y坐标, z坐标 |
点 |
| 2 | 过两点作三维直线 | 点1名, 点2名 |
直线 |
| 3 | 过点作已知平面的平行平面 | 平面名, 点名 |
平面 |
| 4 | 过点作已知直线的垂直平面 | 直线名, 点名 |
平面 |
| 5 | 过点作已知直线的平行线 | 直线名, 点名 |
直线 |
| 6 | 过点作已知直线的垂线 | 点名, 直线名 |
直线 |
| 7 | 过点作已知平面的垂线 | 平面名, 点名 |
直线 |
| 8 | 过一直线和线外一点作平面 | 直线名, 点名 |
平面 |
| 9 | 过两条直线作平面(相交或平行) | 直线1名, 直线2名 |
平面 |
| 10 | 点到平面的垂足 | 点名, 平面名 |
点 |
| 11 | 点到直线的垂足 | 点名, 直线名 |
点 |
| 12 | 过两点作三维线段 | 点1名, 点2名 |
线段 |
Note
对象"名称"在名称输入框中填写(如 A、α);参数中的"点1名"指已存在对象的名称。坐标支持 SymPy 表达式,如 sqrt(2)、pi/2。
属性面板
选中下方列表中的对象后点击读取,属性面板显示对象名称与方程 / 表达式(平面、直线等显示方程,点显示坐标);点击删除可移除对象。
绘图
在"立体几何绘图"页面,已定义对象以复选框列表显示(默认全选)。勾选想要显示的对象后点击绘制,即可在 Matplotlib 中生成 3D 图像:
- 支持点、直线、平面、线段等对象混合显示,平面以半透明网格渲染。
- 每个对象自动标注其名称。
- 3D 坐标轴支持鼠标拖拽旋转视图,工具栏提供 Home / 平移 / 缩放 / 保存。
- 图像随浅色 / 深色主题自动重绘。
底层由 functions/paint3D.py 的 draw3d 实现;对象的角度、距离、体积等计算请使用「立体几何计算」页面,见 立体几何计算。
Example
- 定义四个点
A(0,0,0)、B(1,0,0)、C(0,1,0)、D(0,0,1)。 - 用方法 2 创建直线
AB(参数A,B)。 - 切换到"绘图"页,勾选
A、B、C、D、AB,点击绘制即可看到三维点与直线。
提示
- 坐标等输入遵循 字符串解析 的输入标准。
- 定义对象后,可在「立体几何计算」页对这些对象进行两点距离、四面体体积等 22 种运算。