功能差距分析
目录
- 分析范围
- 差距总览
- 逐项差距详析
- 优先级排序
- 实施路线
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 |
约束 Delaunay(2D) |
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 与竞品的差距缩小路线
5. 实施路线
阶段一:v0.3.0 — 核心缺口补齐(预计 3 个月)
阶段二:v0.5.0 — 算法广度(预计 3 个月)
阶段三:v1.0.0 — B-Rep 内核(预计 6 个月)
阶段四:v1.5.0+ 数据交换与高级功能