3.5 KiB
3.5 KiB
测试用例
目录
- TC-01:Point 基础运算
- TC-02:Delaunay 三角剖分
- TC-03:NURBS 曲线求值
- TC-04:半边网格拓扑
- TC-05:GJK 碰撞检测
- TC-06:网格简化
- TC-07:2D 多边形布尔运算
- TC-08:BVH 空间查询
TC-01:Point 基础运算
| 项目 | 内容 |
|---|---|
| 模块 | core |
| 被测函数 | Point3D 算术与距离 |
| 优先级 | P0 |
| 编号 | 输入 | 预期输出 |
|---|---|---|
| TC-01.1 | a(0,0,0), b(0,0,0) | 距离 = 0 |
| TC-01.2 | a(0,0,0), b(3,4,0) | 距离 = 5.0 |
| TC-01.3 | a(1,1,1) + Vector(4,5,6) | Point(5,6,7) |
| TC-01.4 | equals(a, a+1e-7, tol=1e-6) | true |
TC-02:Delaunay 三角剖分
| 项目 | 内容 |
|---|---|
| 模块 | mesh |
| 优先级 | P0 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-02.1 | 3 个非共线点 | 1 个三角形 |
| TC-02.2 | 4 个点(正方形顶点) | 2 个三角形,满足空外接圆 |
| TC-02.3 | 100 个随机点 | 所有三角形满足 Delaunay 条件 |
| TC-02.4 | 0 个点 | 返回空集合 |
| TC-02.5 | 大规模:10⁵ 个点 | 完成时间 ≤ 5 秒 |
TC-03:NURBS 曲线求值
| 项目 | 内容 |
|---|---|
| 模块 | curves |
| 优先级 | P0 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-03.1 | 3 阶 NURBS, t = domain.min | 接近首个控制点 |
| TC-03.2 | 3 阶 NURBS, t = domain.max | 接近末个控制点 |
| TC-03.3 | 权重全为 1 的 NURBS | 与 B-Spline 求值结果一致 |
| TC-03.4 | t 超出 domain | 返回域边界值 |
TC-04:半边网格拓扑
| 项目 | 内容 |
|---|---|
| 模块 | mesh |
| 优先级 | P0 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-04.1 | 单个三角形 | 3 顶点, 1 面, 全部为边界 |
| TC-04.2 | 两个相邻三角形 | 4 顶点, 2 面, 1 条内部边 |
| TC-04.3 | 遍历面的边 | 半边顺序正确 |
| TC-04.4 | 法向量计算 | 面法向为单位向量 |
TC-05:GJK 碰撞检测
| 项目 | 内容 |
|---|---|
| 模块 | collision |
| 优先级 | P0 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-05.1 | 两个分离球体 | 返回 false |
| TC-05.2 | 两个相交球体 | 返回 true |
| TC-05.3 | 小球在大球内部 | 返回 true |
TC-06:网格简化
| 项目 | 内容 |
|---|---|
| 模块 | mesh |
| 优先级 | P1 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-06.1 | 简化率 0.5 | 面数 ≈ 原面数 × 0.5 |
| TC-06.2 | 简化率 0 | 返回原始网格 |
| TC-06.3 | 简化后检查 | 无退化面(面积 > 0) |
TC-07:2D 多边形布尔运算
| 项目 | 内容 |
|---|---|
| 模块 | boolean |
| 优先级 | P1 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-07.1 | 两个相交矩形,求交集 | 交集区域,面积正确 |
| TC-07.2 | 两个分离矩形,求交集 | 结果为空 |
| TC-07.3 | 大矩形包含小矩形,求差集 | 带孔矩形 |
TC-08:BVH 空间查询
| 项目 | 内容 |
|---|---|
| 模块 | spatial |
| 优先级 | P1 |
| 编号 | 输入 | 预期 |
|---|---|---|
| TC-08.1 | 射线穿过三角形 | 返回该三角形 |
| TC-08.2 | 射线不穿过任何三角形 | 返回空 |
| TC-08.3 | 空 BVH 查询 | 返回空 |