将数组的整个坐标转换为新原点
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
)移动到以全局数组的原点为中心。实际上很简单——这里的重点是我最初的问题是有缺陷的;谢谢大家的帮助和建议。
我有一个 128-length
(s) 数组立方体,其中每个点都保存有唯一值。在这个立方体的中心是数据的主体(代表一个对象),而在立方体的内部边界上,大部分是零值。
我需要移动整个数组,使数据的主体实际上位于原点 (0,0)
而不是 (s/2, s/2, s/2)
... 这样我的新坐标原点实际上位于 (-s/2, -s/2, -s/2)
。解决这个问题的最佳方法是什么?
编辑: 抱歉缺少数据 - 我正在使用 .mrc
文件。这一切都是为了规避 mayaVI 中使用其 contour3d
方法的绘图问题。也许我应该找到一种方法来翻译我绘制的对象(使用 mayaVI)而不是翻译我的原始数据数组?但这两者在技术上不是一回事吗?
我最初的问题非常具有误导性 - 对于造成的混淆,我深表歉意。
我已经通过在全局数组中转换我的本地数组(数据立方体)解决了这个问题。
为此,我需要首先在一个更大的数组中绘制我的数据(例如我所做的 Mayavi 场景)。然后,在这个场景中,我将我的数据(例如在 Mayavi 中使用 actors
)移动到以全局数组的原点为中心。实际上很简单——这里的重点是我最初的问题是有缺陷的;谢谢大家的帮助和建议。