# 需求分析:逆向工作区视图比例、白底控件、平移缩放与三维拉伸 开始时间:`2026-05-20-15-54-46` ## 原始需求摘要 用户要求继续优化逆向工作区: 1. “DICOM 切片位置”展示效果要类似“DICOM 切片范围”,白底、格式统一,不放入 DICOM 图像中,放到图片右侧;`Overlay Label Map` 也不要放在图片中。 2. 左侧“模型显示/影像与模型融合视角”略微变小、变窄,为右侧视图留出更多空间。 3. 右侧 DICOM 影像支持鼠标滚轮放大缩小、鼠标拖拽移动;“逆向分割映射视图”增加位置重置按钮;“影像与模型融合视角”右侧也增加位置重置按钮。 4. 逆向工作区底部三列不平行,需要拉长“逆向分割映射视图”和“可视化工具栏”,让底部对齐。 5. “影像与模型融合视角”右侧增加自动拉伸按钮;仅当旋转 XYZ 都为 0 或 90 的整数倍时可用;按特定方向对模型做三维等比例拉伸。当前初始状态若存在自动拉伸导致 DICOM 与模型顶/底不在同一平面,后续以手动选择拉伸方向为准,不再默认自动拉伸。 ## 业务目标 - 让右侧二维映射视图的控件与中部工具栏控件风格一致,避免深色大面板压缩或遮挡影像。 - 增强二维映射视图审查能力,支持缩放、拖拽和平移复位。 - 增强三维融合视图审查能力,提供视角复位和受约束的模型等比例拉伸操作。 - 优化三列布局比例和底部对齐,使右侧影像审查区更宽、更稳。 ## 输入与输出 输入: - `WebSite/src/components/ReverseWorkspace.tsx` - `WebSite/src/index.css` - 复用逆向视图的 `WebSite/src/components/ProjectLibrary.tsx` 输出: - 右侧“DICOM 切片位置”改为白底控制卡片,放在影像右侧外部。 - `Base DICOM` / `Overlay Label Map` 信息移出影像内部,以独立白底图层状态展示。 - 二维映射视图支持滚轮缩放、拖拽平移、位置复位。 - 三维融合视图支持位置复位。 - 模型位姿增加手动三维等比例拉伸控制,旋转角度满足 90 度倍数时可用。 - 左中右布局比例调整,右侧视图获得更多宽度,底部保持对齐。 ## 影响范围 - 逆向工作区三列主布局。 - `FusionThreeView` 三维场景交互与工具按钮。 - `VoxelizationMappingView` 二维映射视图交互、控件样式和白底布局。 - 项目库中复用的两类视图会同步获得复位/缩放等能力。 ## 关键约束 - 不改变 DICOM/STL 原始数据和导出算法。 - 不默认自动拉伸模型,避免再次引入初始错位;自动拉伸由用户手动触发。 - 三维拉伸只在 XYZ 旋转均为 90 度整数倍时启用。 - 二维影像缩放和平移只影响浏览视口,不改变切片索引、分割映射和导出结果。 - 不提交历史删除状态、软著文档和无关运行态文件。 ## 风险点 - Three.js 场景复位需要在组件内部暴露状态触发,避免影响原有 OrbitControls。 - 二维 Canvas 缩放和平移需要同时作用于 Base DICOM 和 Overlay Label Map,保持叠加严格同步。 - 三维模型拉伸方向若与医学物理坐标不完全一致,需要在 UI 上做成“手动校正”而非默认自动修正。 - 调整三列比例可能影响较小视口下的滚动和可用宽度。 ## 默认假设 - “模型显示”指左侧“影像与模型融合视角”的三维模型/融合视图区域。 - “自动拉伸”本轮实现为用户手动点击的等比例缩放操作,按 X/Y/Z 方向选择基于 DICOM 体范围估算缩放,不在初始加载时自动执行。