三维重建模块VR,3DCursor,MPR与VR的坐标转换

MPR里的reslicecursor 的坐标与 vtkimage 坐标一致。

但三维窗格里的vtkvolume 的坐标是相对坐标,坐标值依然是MM单位。

用中心点的偏移量比较容易实现,交互中Reslicercursor中心点 距离 vtkimagedata 的中心点 的偏移量,用于vtkvolume即可。

//转换为3D VTKVOLUME 坐标系

void MprBoxControlInteral::CalculateCursorCenter(double center[3])

{

if (!m_resliceCursor || !m_imageData || !m_volume) {

double* volCenter = m_volume ? m_volume->GetCenter() : nullptr;

if (volCenter) {

center[0] = volCenter[0];

center[1] = volCenter[1];

center[2] = volCenter[2];

}

return;

}

double* cursorCenter = m_resliceCursor->GetCenter();

double* imageDataCenter = m_imageData->GetCenter();

double* volCenter = m_volume->GetCenter();

double offset[3] = { 0, 0, 0 };

offset[0] = cursorCenter[0] - imageDataCenter[0];

offset[1] = cursorCenter[1] - imageDataCenter[1];

offset[2] = cursorCenter[2] - imageDataCenter[2];

center[0] = volCenter[0] + offset[0];

center[1] = volCenter[1] - offset[1];

center[2] = volCenter[2] - offset[2];

}

有一个问题,我这个vtkvulome的 上下 前后,与vtkimagedata 是反的。

相关推荐
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
多恩Stone4 天前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
在下胡三汉4 天前
为什么“资产土地”标准化主资产的 glTF、glb格式模型,为什么非常流行
3d
2401_863801464 天前
3DTiles(.b3dm,i3dm,cmpt) 数据转换fbx转obj转max转su,cesium格式模型转换
3d
3Dmax效果图渲染研习社4 天前
2026年3ds Max云渲染平台哪个好?
3d
BBTSOH159015160444 天前
VR每日热点简报2026.2.25
人工智能·机器人·vr·具身智能·遥操作
程序员敲代码吗4 天前
A-Frame与WebXR:构建丰富的VR及AR体验
ar·vr
思茂信息5 天前
基于CST 3D Combined功能的以太网口RE仿真
开发语言·javascript·单片机·嵌入式硬件·matlab·3d
CG_MAGIC5 天前
Maya 角色绑定:控制器搭建与 IK/FK 切换
3d·贴图·maya·渲云渲染