三维重建模块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 是反的。

相关推荐
迁移科技11 小时前
告别人工分拣!迁移科技 AI+3D 视觉让机器人 “看懂” 无序抓取
人工智能·科技·3d·机器人·自动化·视觉检测
星幻元宇VR20 小时前
VR禁毒骑行系统|以沉浸式体验提升禁毒宣传教育效果
人工智能·科技·学习·安全·vr·虚拟现实
玖釉-20 小时前
Vulkan 3D Gaussian Splatting 本地部署与运行:从 PLY 模型到实时渲染
3d
kobesdu21 小时前
当算法跑不通时:3D激光SLAM工程实践中的隐藏陷阱与全链路排查
算法·3d
AI视觉网奇21 小时前
b3dkit 生成连接器
3d
吃好睡好便好21 小时前
在Matlab中绘制饼状图
开发语言·学习·matlab·3d·信息可视化
koharu1231 天前
PointRCNN 精解:从原始点云到三维框的两阶段检测
人工智能·深度学习·目标检测·3d·三维点云
似水流年wxk1 天前
cocos3D物体线性溶解消失效果
3d
Yushan Bai2 天前
EXADATA X5数据库一体机节点login: failure forking: Cannot allocate memory问题处理
数据库·oracle·vr
2401_863801462 天前
OBJ、FBX 与 GLTF 选择用于设计导入的最佳 3D 模型格式:实用的比较可帮助设计人员选择正确的 3D 格式,同时保持几何形状、纹理和性能不变。
3d