将数组的整个坐标转换为新原点

Translating entire coordinates of array to new origin

我有一个 128-length (s) 数组立方体,其中每个点都保存有唯一值。在这个立方体的中心是数据的主体(代表一个对象),而在立方体的内部边界上,大部分是零值。

我需要移动整个数组,使数据的主体实际上位于原点 (0,0) 而不是 (s/2, s/2, s/2)... 这样我的新坐标原点实际上位于 (-s/2, -s/2, -s/2)。解决这个问题的最佳方法是什么?


编辑: 抱歉缺少数据 - 我正在使用 .mrc 文件。这一切都是为了规避 mayaVI 中使用其 contour3d 方法的绘图问题。也许我应该找到一种方法来翻译我绘制的对象(使用 mayaVI)而不是翻译我的原始数据数组?但这两者在技术上不是一回事吗?

我最初的问题非常具有误导性 - 对于造成的混淆,我深表歉意。

我已经通过在全局数组中转换我的本地数组(数据立方体)解决了这个问题。

为此,我需要首先在一个更大的数组中绘制我的数据(例如我所做的 Mayavi 场景)。然后,在这个场景中,我将我的数据(例如在 Mayavi 中使用 actors)移动到以全局数组的原点为中心。实际上很简单——这里的重点是我最初的问题是有缺陷的;谢谢大家的帮助和建议。