python - 有没有简单的方法来旋转矩阵/数组的值?

标签 python matrix rotation pixel image-rotation

所以,假设我有以下矩阵/数组 -

    [0 0 0 0 0 0 0 0 0 0 0 0
     0 0 0 0 1 1 1 0 0 0 0 0
     0 0 0 1 1 1 1 0 0 0 0 0
     0 0 1 1 1 1 1 1 0 0 0 0
     0 0 1 1 1 1 1 1 0 0 0 0
     0 0 0 1 1 1 1 0 0 0 0 0 
     0 0 0 0 1 1 0 0 0 0 0 0
     0 0 0 0 0 0 0 0 0 0 0 0]

编写一些可以上下转换这些值的东西是相当简单的。如果我想将其旋转不是 90 度倍数的角度怎么办?我知道,由于网格的性质,显然不可能获得完全相同的形状(由 1 组成)。我想到的想法是将每个 1 值转换为坐标向量。那么这相当于围绕一个点旋转坐标(这应该更简单)。然后,我们可以写一些东西来获取坐标,并将它们与矩阵网格进行比较,如果右侧框中有一个点,它将被填充。我知道我还必须找到一个旋转的中心。

这看起来是一个合理的方法吗?如果有人有更好的主意,我洗耳恭听。我知道对于像这样的小网格,形状可能会完全不同,但是如果我有一个由 1 表示的大形状,在大网格中,表示之间的差异会更小。

最佳答案

首先,当在如此低的“分辨率”下完成时,以非 90 度角度旋转只有 1 和 0 的形状实际上看起来根本不像原始形状。但是,我建议查看 rotation matrices 。正如您所说,您可能希望找到每个值作为坐标对,并围绕中心旋转它。如果将其设为二维数组,可能会更容易。祝你好运!

关于python - 有没有简单的方法来旋转矩阵/数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30806235/

相关文章:

java - 朝向触摸点旋转对象

python - Pandas :如何计算一列与其他多列之间的相关性?

python - 正则表达式匹配字符串内的 float ,中间有任何字符或空格

algorithm - 如何转置和 "untranspose"矩阵?

matlab - accumarray 构造的元胞数组中元素的顺序

algorithm - 从总和重建矩阵

python - 没有任何循环的 Scipy 快速一维插值

python - 在 Django ORM 中获取相关模型计数的有效方法

javascript - 在拖动和滚动时旋转 javascript 立方体

c++ - 计算 0 和 360 之间的两个 vector 之间的角度始终在同一方向