Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-20-02-15-10.md

2.2 KiB
Raw Blame History

实现方案-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 中让 fusionRootmodelPoseGroup 更新矩阵。
    • 读取 modelPoseGroup.getWorldPosition()getWorldQuaternion()
    • 将模型局部 X/Y/Z 方向投影到当前 camera 屏幕空间。
    • 仅在投影签名变化时更新 React 状态,减少无意义重渲染。

执行步骤

  • 增加 AxisProjection 类型、默认值和投影辅助函数。
  • 改造坐标轴 inset 的 SVG 尺寸和绘制逻辑。
  • 在融合视图动画中调用投影计算并传给 inset。
  • 执行 npm run lintnpm run build
  • 追加经验记录、提交、推送并重新部署。

兼容性与回滚方案

  • 如果动态投影出现异常,默认轴向仍可显示。
  • 不修改 DICOM/STL 真实数据、模型位姿状态和实际渲染变换,仅增加可视化辅助。
  • 回滚只需恢复 CoordinateAxesInset 为静态 SVG。

预计文件变更

  • ReverseWorkspace.tsx:动态坐标轴投影与缩小样式。
  • 工程分析文档:新增本次三份文档,更新经验记录。

提交与部署策略

  • Commit message2026-05-20-02-15-10 优化融合视角方向标识
  • 显式暂存本次相关文件,避免提交历史删除状态。
  • 推送到 Gitea origin/main,并使用 tmux 会话 revoxelseg-dicom 重新部署。