2026-05-20-02-15-10 优化融合视角方向标识
This commit is contained in:
56
工程分析/实现方案-2026-05-20-02-15-10.md
Normal file
56
工程分析/实现方案-2026-05-20-02-15-10.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 实现方案-2026-05-20-02-15-10
|
||||
|
||||
## 实现方案文档路径
|
||||
|
||||
`工程分析/实现方案-2026-05-20-02-15-10.md`
|
||||
|
||||
## 修改目标
|
||||
|
||||
缩小“影像与模型融合视角”右下角 XYZ 标识,并将其从静态 SVG 改为随模型位姿和三维场景旋转联动的方向指示器。
|
||||
|
||||
## 涉及路径
|
||||
|
||||
- `WebSite/src/components/ReverseWorkspace.tsx`
|
||||
- `工程分析/需求分析-2026-05-20-02-15-10.md`
|
||||
- `工程分析/实现方案-2026-05-20-02-15-10.md`
|
||||
- `工程分析/测试方案-2026-05-20-02-15-10.md`
|
||||
- `工程分析/经验记录.md`
|
||||
|
||||
## 技术路线
|
||||
|
||||
1. 新增轴向投影数据结构:
|
||||
- 定义 X/Y/Z 三个方向在屏幕 inset SVG 中的投影向量。
|
||||
- 提供默认轴向,避免 DICOM/模型未加载时空白。
|
||||
2. 改造 `CoordinateAxesInset`:
|
||||
- 视觉尺寸由 72px 缩小到约 54px。
|
||||
- 线段终点、标签位置和透明度由投影数据驱动。
|
||||
3. 在 `FusionThreeView` 中计算动态方向:
|
||||
- 在 Three.js animation loop 中让 `fusionRoot` 和 `modelPoseGroup` 更新矩阵。
|
||||
- 读取 `modelPoseGroup.getWorldPosition()` 与 `getWorldQuaternion()`。
|
||||
- 将模型局部 X/Y/Z 方向投影到当前 camera 屏幕空间。
|
||||
- 仅在投影签名变化时更新 React 状态,减少无意义重渲染。
|
||||
|
||||
## 执行步骤
|
||||
|
||||
- 增加 AxisProjection 类型、默认值和投影辅助函数。
|
||||
- 改造坐标轴 inset 的 SVG 尺寸和绘制逻辑。
|
||||
- 在融合视图动画中调用投影计算并传给 inset。
|
||||
- 执行 `npm run lint` 和 `npm run build`。
|
||||
- 追加经验记录、提交、推送并重新部署。
|
||||
|
||||
## 兼容性与回滚方案
|
||||
|
||||
- 如果动态投影出现异常,默认轴向仍可显示。
|
||||
- 不修改 DICOM/STL 真实数据、模型位姿状态和实际渲染变换,仅增加可视化辅助。
|
||||
- 回滚只需恢复 `CoordinateAxesInset` 为静态 SVG。
|
||||
|
||||
## 预计文件变更
|
||||
|
||||
- `ReverseWorkspace.tsx`:动态坐标轴投影与缩小样式。
|
||||
- 工程分析文档:新增本次三份文档,更新经验记录。
|
||||
|
||||
## 提交与部署策略
|
||||
|
||||
- Commit message:`2026-05-20-02-15-10 优化融合视角方向标识`
|
||||
- 显式暂存本次相关文件,避免提交历史删除状态。
|
||||
- 推送到 Gitea `origin/main`,并使用 `tmux` 会话 `revoxelseg-dicom` 重新部署。
|
||||
Reference in New Issue
Block a user