2009-07-10 3 views
2

Попытка найти хорошее имя для метода, меняющего каждую координату значений X и Y.Перестановка X, Y координат в прямоугольнике, что называется этой операцией?

Есть ли название для этой операции?

По сути, вот что делается

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

На полигоне, это же самое, что вращение -90 градусов и делает горизонтальный флип или зеркало.

+0

Пожалуйста, будьте осторожны, ответы Эрика Бэйнвиля и Андреева не совсем правильны. – Alex

+2

Будьте осторожны, Алекс, потому что вы ошибаетесь. :-) Кстати, ответ «Транспонирование» не имеет смысла. Здесь мы ищем имя аффинной трансформации. –

ответ

6

В матрице это называется Transpose.

+0

Мне это нравится. Это хорошо подходит для полигона? –

+0

Да, я думаю, это так. – abelenky

2

Это будет отражение относительно линии x = y, которая является одним из преобразований в геометрии координат.

веселит

10

Это называется отражение, или линии симметрии. В вашем случае линия X = Y. Он инвариантен по симметрии.

0

Возможно, вам понадобится 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.]] 

Это не отражение о х = у (в лучшем случае х = -y и только для квадратных матриц). Пожалуйста, просмотрите ссылку abelenky, размещенную на transpose. Ответ Эрика Бэйнвиля и Андреева будет ближе к правилу, если они скажут x = -y, но никогда не будут технически достаточными. Кроме того, это НЕ matrix inversion, который включает в себя изменение значений отдельных компонентов. Если я интерпретирую ваше утверждение «вращение -90 градусов [то есть 90 градусов по часовой стрелке] и выполнение горизонтального флип или зеркало». правильно, тогда это действительно правильный ответ.

Смежные вопросы