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

56 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求分析 - 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 根据旋转矩阵投影三轴。
## 待确认问题
- 本次用户已明确“需求分析、实现方案、测试方案、执行修改都不用人工二次确认”,因此直接执行。
## 人工审核状态
- 本次免二次确认。