Files
ViewDesignEngine/docs/01-需求分析/04-功能差距分析.md
T
ViewDesignEngine 9eaa06db25 docs: 补充功能差距分析 — 41项差距 5级优先级 对标5引擎
- 新增 01-需求分析/04-功能差距分析.md (168行)
- 重写 SRS 为完整版 (294行,14类需求 70+条目)
- 更新文档目录索引,添加版本路线图
2026-07-23 05:31:13 +00:00

169 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 功能差距分析
## 目录
1. [分析范围](#1-分析范围)
2. [差距总览](#2-差距总览)
3. [逐项差距详析](#3-逐项差距详析)
4. [优先级排序](#4-优先级排序)
5. [实施路线](#5-实施路线)
---
## 1. 分析范围
本分析将 ViewDesignEngine v0.1.0 已有功能与以下竞品进行全面对标:
| 竞品 | 定位 | 分析重点 |
|------|------|---------|
| **CGAL 6.0** | 学术级全功能几何库 | 算法广度、精度、结构 |
| **OCCT 7.8** | 工业级 CAD 内核 | B-Rep、建模操作、数据交换 |
| **Manifold** | 3D网格布尔引擎 | 速度、鲁棒性 |
| **Clipper2** | 2D布尔引擎 | 2D布尔速度与正确性 |
| **libigl** | 研究级网格处理 | 网格简化/平滑/参数化 |
---
## 2. 差距总览
共识别 **41 项功能差距**,按优先级分为 5 级:
| 优先级 | 数量 | 说明 |
|--------|------|------|
| **P0** | 11 项 | 必须有——缺失则无法称为完整几何引擎 |
| **P1** | 12 项 | 应该有——对标 Clipper2 + Manifold + libigl |
| **P2** | 10 项 | 最好有——对标 OCCT 建模层 |
| **P3** | 5 项 | 锦上添花——对标 OCCT 数据交换 |
| **P4** | 3 项 | 长期目标——对标 CGAL 高级功能 |
---
## 3. 逐项差距详析
### 3.1 P0 级 — 必须有(11 项)
| 编号 | 功能 | 对标 | 当前状态 | 复杂度 |
|------|------|------|---------|--------|
| GAP-01 | **2D 布尔运算(Vatti 算法)** | Clipper2 | ❌ 仅有 S-H 裁剪(仅凸多边形) | ⭐⭐⭐⭐ |
| GAP-02 | **3D 网格布尔运算** | Manifold / CGAL | ❌ Stub | ⭐⭐⭐⭐⭐ |
| GAP-03 | **GJK + EPA 穿透深度** | — | ❌ GJK 仅有相交判断,无距离/深度 | ⭐⭐⭐ |
| GAP-04 | **网格简化(QEM** | CGAL / libigl | ❌ Stub | ⭐⭐⭐ |
| GAP-05 | **网格平滑** | libigl | ❌ Stub | ⭐⭐ |
| GAP-06 | **网格质量评估** | CGAL | ❌ Stub | ⭐⭐ |
| GAP-07 | **网格修复(水密化/孔洞填充)** | Manifold / CGAL | ❌ Stub | ⭐⭐⭐⭐ |
| GAP-08 | **3D 凸包(QuickHull** | CGAL | ❌ TODO(仅有 2D | ⭐⭐⭐ |
| GAP-09 | **BVH 最近命中查询** | CGAL | ❌ 仅有全部命中查询 | ⭐⭐ |
| GAP-10 | **Octree 完整实现** | CGAL | ❌ Stub | ⭐⭐ |
| GAP-11 | **KD-Tree 完整实现** | CGAL | ❌ Stub | ⭐⭐ |
### 3.2 P1 级 — 应该有(12 项)
| 编号 | 功能 | 对标 | 当前状态 | 复杂度 |
|------|------|------|---------|--------|
| GAP-12 | **2D Voronoi 图** | CGAL | ❌ 未实现 | ⭐⭐⭐ |
| GAP-13 | **3D Delaunay 四面体剖分** | CGAL / TetGen | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-14 | **约束 Delaunay2D** | CGAL / Triangle | ❌ 未实现 | ⭐⭐⭐ |
| GAP-15 | **Marching Cubes(等值面提取)** | libigl | ❌ 未实现 | ⭐⭐ |
| GAP-16 | **体素化** | libigl / Manifold | ❌ 未实现 | ⭐⭐ |
| GAP-17 | **测地线距离** | libigl / CGAL | ❌ 未实现 | ⭐⭐⭐ |
| GAP-18 | **离散曲率(高斯/平均)** | libigl / CGAL | ❌ 未实现 | ⭐⭐ |
| GAP-19 | **SAT 多面体碰撞** | — | ❌ Stub | ⭐⭐⭐ |
| GAP-20 | **三角形-三角形相交** | CGAL | ❌ Stub | ⭐⭐ |
| GAP-21 | **R-Tree 完整实现** | GEOS / CGAL | ❌ Stub | ⭐⭐⭐ |
| GAP-22 | **2D 多边形偏移(膨胀/腐蚀)** | Clipper2 | ❌ 未实现 | ⭐⭐⭐ |
| GAP-23 | **NURBS 曲面完整实现** | CGAL / OCCT | ❌ 仅有曲线 | ⭐⭐⭐ |
### 3.3 P2 级 — 最好有(10 项)
| 编号 | 功能 | 对标 | 当前状态 | 复杂度 |
|------|------|------|---------|--------|
| GAP-24 | **B-Rep 内核** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐⭐ |
| GAP-25 | **倒角(Fillet/Chamfer** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-26 | **抽壳(Shell/Hollow** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-27 | **扫掠(Sweep** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-28 | **拉伸/旋转体** | OCCT | ❌ 未实现 | ⭐⭐ |
| GAP-29 | **放样(Loft** | OCCT | ❌ 未实现 | ⭐⭐⭐ |
| GAP-30 | **曲面偏移** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-31 | **网格参数化(Tutte/LSCM** | libigl | ❌ 未实现 | ⭐⭐⭐ |
| GAP-32 | **曲面重建(Poisson** | CGAL | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-33 | **Alpha Shapes** | CGAL | ❌ 未实现 | ⭐⭐⭐ |
### 3.4 P3 级 — 锦上添花(5 项)
| 编号 | 功能 | 对标 | 当前状态 | 复杂度 |
|------|------|------|---------|--------|
| GAP-34 | **STEP 导入/导出** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐⭐ |
| GAP-35 | **IGES 导入/导出** | OCCT | ❌ 未实现 | ⭐⭐⭐⭐ |
| GAP-36 | **PLY 导入/导出** | libigl | ❌ 未实现 | ⭐ |
| GAP-37 | **WKT/WKB 格式** | GEOS | ❌ 未实现 | ⭐ |
| GAP-38 | **glTF 导出** | OCCT | ❌ 未实现 | ⭐⭐ |
### 3.5 P4 级 — 长期目标(3 项)
| 编号 | 功能 | 对标 | 当前状态 | 复杂度 |
|------|------|------|---------|--------|
| GAP-39 | **Nef 多面体(精确布尔)** | CGAL | ❌ 未实现 | ⭐⭐⭐⭐⭐ |
| GAP-40 | **点云配准(ICP** | CGAL / PCL | ❌ 未实现 | ⭐⭐⭐ |
| GAP-41 | **最优包围盒(OBB** | CGAL | ❌ 未实现 | ⭐⭐⭐ |
---
## 4. 优先级排序
### 4.1 按版本编排
| 版本 | 新增功能 | gap 数 |
|------|---------|--------|
| **v0.3.0** | P0 全部(11 项):Vatti 2D 布尔、3D 网格布尔、GJK+EPA、QEM 简化、平滑、质量、修复、3D 凸包、BVH 完整、Octree、KD-Tree | 11 |
| **v0.5.0** | P1 全部(12 项):Voronoi、3D Delaunay、CDT、Marching Cubes、体素化、测地线、曲率、SAT、Tri-Tri、R-Tree、多边形偏移、NURBS 曲面 | 12 |
| **v1.0.0** | P2 全部(10 项):B-Rep、倒角、抽壳、扫掠/放样、拉伸、曲面偏移、参数化、曲面重建、Alpha Shapes | 10 |
| **v1.5.0** | P3 全部(5 项):STEP、IGES、PLY、WKT/WKB、glTF | 5 |
| **v2.0.0** | P4 全部(3 项):Nef 多面体、点云配准、OBB | 3 |
### 4.2 与竞品的差距缩小路线
```
v0.1.0 ──────► v0.3.0 ──────► v0.5.0 ──────► v1.0.0 ──────► v2.0.0
现在 追上Clipper2 追上Manifold 追上OCCT建模 追上CGAL
+Manifold +libigl 高级功能
```
---
## 5. 实施路线
### 阶段一:v0.3.0 — 核心缺口补齐(预计 3 个月)
```
Week 1-2: Vatti 2D 布尔 + 多边形偏移
Week 3-4: 3D 网格布尔(借鉴 Manifold
Week 5: GJK+EPA 穿透深度
Week 6: QEM 网格简化
Week 7: 网格平滑 + 质量评估
Week 8: 网格修复
Week 9: 3D 凸包 QuickHull
Week 10-12: BVH 增强 + Octree + KD-Tree + 测试
```
### 阶段二:v0.5.0 — 算法广度(预计 3 个月)
```
Month 4: 2D/3D Voronoi + 3D Delaunay + CDT
Month 5: Marching Cubes + 体素化 + 测地线 + 曲率
Month 6: SAT + Tri-Tri + R-Tree + NURBS 曲面 + 多边形偏移
```
### 阶段三:v1.0.0 — B-Rep 内核(预计 6 个月)
```
Month 7-9: B-Rep 数据结构 + 拓扑图
Month 10-12: 倒角/抽壳/扫掠/放样/拉伸/偏移
```
### 阶段四:v1.5.0+ 数据交换与高级功能
```
Month 13-15: STEP/IGES/PLY/glTF 读写
Month 16-18: Alpha Shapes、曲面重建、Nef 多面体
```