2026-05-20-02-15-10 优化融合视角方向标识

This commit is contained in:
2026-05-20 02:20:52 +08:00
parent 1ddca18116
commit 66ad99f996
5 changed files with 293 additions and 21 deletions

View 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` 重新部署。