【问题标题】:How to rotate a numpy array?如何旋转一个numpy数组?
【发布时间】:2011-08-04 08:32:43
【问题描述】:

我有一些 numpy/scipy 问题。我有一个 3D 数组,它以二进制方式表示一个椭圆体 [0 出椭圆体]。 问题是我想在一定程度上旋转我的形状。你认为有可能吗? 或者有没有一种有效的方法可以直接写出带旋转的椭球方程?

【问题讨论】:

  • 看看 Homegeneous 坐标,它允许您通过一次矩阵乘法进行所有转换。 en.wikipedia.org/wiki/…
  • 你知道你将如何旋转它吗……无论是 2D 还是 3D……俯仰(机头向上或向下)、偏航(机头向左或向右)、滚动(侧向上)或向下)或两者兼而有之?

标签: python arrays numpy scipy rotation


【解决方案1】:

只是一个简短的回答。如果您需要更多信息或者您不知道如何操作,那么我将编辑这篇文章并添加一个小示例。

旋转数据点矩阵的正确方法是进行矩阵乘法。你的旋转矩阵可能是一个 n*n 矩阵,你必须将它与每个点相乘。如果你有你的 3d 矩阵,你有一些像 i*j*k-points 这样的东西用于绘图。这意味着对于您的情况,您必须这样做i*j*k-times 才能找到新点。也许您应该考虑使用其他矩阵进行绘图,它只是一个 2D 矩阵,只存储绘图点而不存储零值。

有一些算法可以更快地计算低值矩阵的结果,但这只是谷歌。

您是否理解我的意思,或者您还有一些问题?对这个粗略的概述感到抱歉。

最好的问候

【讨论】:

    【解决方案2】:

    看看命令numpy.shape 我曾经用它来转置一个数组,但我不知道它是否符合您的需要。 干杯!

    【讨论】:

    • 我认为 OP 想要几何地将椭球旋转一定角度,而不是转置数组。
    • 就是这样!我想以几何方式旋转数组中的椭球!
    • 啊,好的,我明白了。误解了问题...对不起!
    • 也许一些矩阵运算会有所帮助? en.wikipedia.org/wiki/Rotation_matrix
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-15
    • 2011-08-01
    • 2011-09-29
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多