# 实现方案-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` 重新部署。