【问题标题】:Swapping X,Y coordinates in a rectangle, what is this operation called?在一个矩形中交换 X,Y 坐标,这个操作叫什么?
【发布时间】:2010-11-09 20:41:57
【问题描述】:

尝试为交换每个坐标 X 和 Y 值的方法找到一个好名字。

这个操作有名字吗?

基本上就是这样

(1, 2) -> (2, 1)

在多边形上,这与旋转 -90 度并进行水平翻转或镜像相同。

【问题讨论】:

  • 请小心,Eric Bainville 和 Andriyev 的答案并不完全正确。
  • 请小心亚历克斯,因为你错了。 :-) 顺便说一句,“转置”答案没有意义。我们在这里寻找仿射变换的名称。

标签: math coordinates


【解决方案1】:

这称为反射或线对称。在您的情况下,该行是 X = Y。对称性不变。

【讨论】:

    【解决方案2】:

    在矩阵中,它被称为Transpose

    【讨论】:

    • 我喜欢这样。它适合多边形吗?
    • 转置不是 -90 度旋转后水平翻转。它是水平翻转,然后是 -90 度旋转。结果完全不同。
    • @CarlosOst 是正确的。我不记得在 10 多年前写过这个答案,但这显然是错误的。
    【解决方案3】:

    这将是关于线 x=y 的反射,这是坐标几何中的一种变换。

    干杯

    【讨论】:

      【解决方案4】:

      也许您想要一个 transpose 它将行向量 (1 2) 转换为列向量 (1 2),因此您的问题和 (1, 2) 示例有点不清楚。抽象地:

      array=[[  0.,   1.,   2.],
             [ 11.,   0.,   3.],
             [ 22.,  33.,   0.]]
      transposed_array=transpose(array).
      print transposed_array 
             [[  0.,  11.,  22.],
             [  1.,   0.,  33.],
             [  2.,   3.,   0.]]
      

      这不是关于 x=y 的反映(充其量 x=-y 且仅适用于方阵)。请查看在transpose 上发布的链接abelenky。如果 Eric Bainville 和 Andriyev 说 x=-y,他们的答案会更接近正确,但从技术上讲永远不够。此外,它不是matrix inversion,它涉及更改各个组件的值。如果我解释您的陈述“旋转 -90 度 [即顺时针 90 度] 并进行水平翻转或镜像。”正确,那么这确实是正确答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 2017-07-18
        • 2014-03-05
        • 2019-06-10
        • 1970-01-01
        相关资源
        最近更新 更多