Files
REVOXELSEG_DICOM/工程分析/需求分析-2026-05-07-16-53-23.md

2.3 KiB
Raw Blame History

需求分析 - 2026-05-07-16-53-23

原始需求摘要

用户要求继续严格使用代码编纂工作流处理 3D 模型位姿问题,本次无需人工二次确认:

  1. 单击旋转 X/Y/Z 效果正常,但旋转后切换 模型显示 的预览/标准/精细/超精细时,模型位置会明显偏移。
  2. 使用鼠标拖拽旋转时,旋转中心感觉没有落在模型内部中心。
  3. 重置平移缩放位姿 的字体颜色改为与 重置旋转位姿 一致。
  4. 右下角坐标系需要随着旋转位姿变化而同步旋转。

业务目标

  • 让 3D 模型在切换显示细节档位时保持当前视觉中心稳定,不出现跳走或离谱偏移。
  • 让鼠标拖拽旋转围绕模型自身中心进行,而不是绕画布或偏移点旋转。
  • 保持两个重置按钮视觉层级一致。
  • 右下角坐标系成为真实的当前位姿方向参考。

输入与输出

输入:

  • 用户在 项目库 - 3D 模型 中切换模型显示细节档位。
  • 用户通过滑块、快捷按钮、鼠标拖拽调整旋转位姿。
  • 用户点击重置按钮。

输出:

  • 切换 预览/标准/精细/超精细 后模型仍围绕同一中心展示。
  • 鼠标拖拽旋转时模型围绕内部几何中心旋转。
  • 重置平移缩放位姿重置旋转位姿 文字颜色一致。
  • 右下角 X/Y/Z 坐标系随 rotateX/Y/Z 变化同步旋转。

影响范围

  • WebSite/src/components/ProjectLibrary.tsx
    • NativeStlViewer 中 Three.js 模型中心化、相机、渲染层级、重载逻辑。
    • 鼠标拖拽旋转的状态更新方式。
    • 右下角坐标系 overlay。
    • 整体位姿按钮样式。

风险点

  • 若渲染容器重建时没有清理旧 DOM可能出现 overlay 被清空或事件丢失。
  • 若每个 STL 文件分别中心化,会破坏拼装关系;必须使用所有可见 STL 的整体包围盒中心。
  • 若切换细节档位后继承了旧平移/缩放,但新模型 baseScale 不一致,视觉上仍可能变化,需要保持统一相机距离和 pivot 中心。
  • HTML 坐标轴用 CSS 旋转只近似表达 3D 方位;更可靠方案是用 SVG 根据旋转矩阵投影三轴。

待确认问题

  • 本次用户已明确“需求分析、实现方案、测试方案、执行修改都不用人工二次确认”,因此直接执行。

人工审核状态

  • 本次免二次确认。