Jump to content

Transformation matrix

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

선형 대수(linear algebra)에서, 선형 변환(linear transformations)은 행렬(matrices)에 의해 나타낼 수 있습니다. 만약 에 매핑하는 선형 변환이고 개의 엔트리를 갖는 열 벡터이면, 변환 행렬이라고 불리는 일부 행렬 에 대해 다음과 같습니다: 개의 행과 개의 열을 가지고, 반면 변환 에서 으로의 변환임에 주목하십시오. 일부 저자에 의해 선호되는 행 벡터를 포함하는 변환 행렬(row vectors)의 대안적인 표현이 있습니다.[1][2]

Uses

행렬을 사용하면 임의적인 선형 변환(linear transformations)을 계산에 적합한 일관된 형식으로 표시할 수 있습니다.[3] 이것은 역시 변환을 (그것들의 행렬을 곱함으로써) 쉽게 합성할 수 있습니다.

선형 변환이 행렬에 의해 표현될 수 있는 유일한 것은 아닙니다. n-차원 유클리드 공간 Rn에서 비-선형인 일부 변환은 n+1-차원 공간 Rn+1에서 선형 변환으로 나타낼 수 있습니다. 여기에는 (평행이동과 같은) 아핀 변환투영 변환이 모두 포함됩니다. 이러한 이유로, 4×4 변환 행렬은 3D 컴퓨터 그래픽에서 널리 사용됩니다. 이들 n+1-차원 변환 행렬은, 그것들의 응용에 따라, 아핀 변환 행렬(affine transformation matrices), 투영 변환 행렬(projective transformation matrices), 또는 보다 일반적으로 비-선형 변환 행렬(non-linear transformation matrices)이라고 불립니다. n-차원 행렬에 관해, n+1-차원 행렬은 증가된 행렬(augmented matrix)로 설명될 수 있습니다.

물리적 과학에서, 능동적 변환(active transformation)은 실제로 시스템의 물리적 위치를 변경하고, 좌표 시스템이 없는 경우에도 의미가 있는 것이고, 반면에 수동적 변환(passive transformation)은 물리적 시스템의 좌표 설명 (기저의 변경)의 변경하는 것입니다. 능동 변환과 수동 변환 사이의 구분이 중요합니다. 기본적으로, 변환에 의해, 수학자는 보통 능동적 변환을 의미하지만, 물리학자는 둘 중 하나를 의미할 수 있습니다.

달리 말하면, 수동적 변환은 두 개의 다른 좌표 프레임에서 본 같은 대상의 설명을 참조합니다.

Finding the matrix of a transformation

만약 함수 형식에서 선형 변환 를 가지면, 표준 기저(standard basis)의 각 벡터를 로 변환하고, 그런-다음 결과를 행렬의 열에 삽입함으로써 변환 행렬 를 쉽게 결정할 수 있습니다. 다시 말해서,

예를 들어, 함수 는 선형 변환입니다. 위의 과정을 적용하면 (이 경우에서 n = 2라고 가정), 다음이 드러납니다:

벡터와 연산자의 행렬 표현은 선택된 기저에 따라 다릅니다; 대안적인 기저에서 닮은 행렬이 생성될 것입니다. 그럼에도 불구하고, 구성 요소를 찾기 위한 방법은 같게 유지됩니다.

자세히 설명하자면, 벡터 는 좌표 를 갖는 기저 벡터, 나타낼 수 있습니다:이제, 에 대한 변환 행렬 의 결과를 주어진 기저로 표현합니다:


행렬 원소는 모든 각 를 적용하고, 응답 벡터를 관찰함으로써 주어진 기저 에 대해 결정됩니다:

이 방정식은 원했던 원소, -번째 열, 를 나타냅니다.[4]

Eigenbasis and diagonal matrix

여전히, 구성 요소가 대각 행렬을 형성하고, 따라서, 곱셈 복잡도가 n으로 감소하는 연산자에 대한 특별한 기저가 있습니다. 대각선이라는 것은 를 제외한 모든 계수 가 영이고 위의 합 에서 한 항만 남기는 것을 의미합니다. 살아남은 대각선 원소 고윳값(eigenvalues)으로 알려져 있고 정의 방정식에서 로 지정되어, 로 줄어듭니다. 결과 방정식은 고윳값 방정식(eigenvalue equation)으로 알려져 있습니다.[5] 고유벡터와 고윳값특성 다항식을 통해 유도됩니다.

대각화(diagonalization)와 함께, 고유기저로 변경하거나 고유기저에서 변경하는 것이 종종 가능합니다.

Examples in 2 dimensions

원점을 고정된 상태로 유지하는 가장 공통적인 기하적 변환(geometric transformations)은 회전, 스케일링, 전단, 반사, 및 직교 투영을 포함하여 선형입니다; 만약 아핀 변환이 순수한 변환이 아니면, 그것은 일부 점을 고정되게 유지하고, 해당 점은 변환을 선형으로 만들기 위해 원점으로 선택될 수 있습니다. 2-차원에서, 선형 변환은 2×2 변환 행렬을 사용하여 나타낼 수 있습니다.

Stretching

xy-평면에서 늘리기(stretch)는 특정 방향에서 모든 거리를 일정한 비율로 확대하지만 수직 방향에서 거리에 영향을 미치지 않는 선형 변환입니다. 우리는 x-축과 y-축을 따라 늘어나는 것만 고려합니다. x-축을 따라 늘리기는 일부 양의 상수 k에 대해 x' = kx; y' = y 형식을 가집니다. (만약 k > 1이면, 이것은 실제로 "늘리기"이고, k < 1이면 기술적으로는 "압축"이지만 여전히 눌리기라고 부름에 주목하십시오. 역시, k = 1이면, 그 변환은 항등이며, 즉, 효과가 없습니다.)

x-축을 따라 인수 k에 의한 늘리기와 결합된 행렬은 다음과 같이 제공됩니다:

유사하게, y-축을 따라 인수 k에 의한 늘리기는 x' = x; y' = ky 형식을 가지므로, 이 변환과 결합된 행렬은 다음과 같습니다:

Squeezing

만약 위의 두 늘리기가 역수 값과 결합되면, 변환 행렬은 압착 매핑(squeeze mapping)을 나타냅니다: 축에 평행한 변을 갖는 정사각형은 정사각형과 같은 넓이를 갖는 직사각형으로 변환됩니다. 역수 늘리기와 압축은 넓이를 불변으로 둡니다.

Rotation

원점에 대한 반-시계-방향(counterclockwise, 양의 방향) 각도 θ만큼 회전(rotation)에 대해, 함수형 형식은 입니다. 행렬 형식으로 쓰면, 이것은 다음이 됩니다:[6]

마찬가지로 원점에 대한 시계-방향(clockwise, 음의 방향) 회전에 대해, 함수형 형식은 입니다. 행렬 형식은 다음과 같습니다:

이들 수식은 x-축이 오른쪽을 가리키고 y-축이 위쪽을 가리킨다고 가정합니다.

Shearing

전단 매핑(shear mapping, 비스듬한 것과 시각적으로 유사)에 대해, 두 가지 가능성이 있습니다.

x-축에 평행한 전단은 를 가집니다. 행렬 형식으로 쓰면, 이것은 다음이 됩니다:

y-축에 평행한 전단은 이며, 다음 행렬 형식을 가집니다:

Reflection

원점을 통과하는 직선에 대한 반사에 대해, 를 직선의 방향에서 벡터(vector)라고 놓습니다. 그런-다음 변환 행렬을 사용합니다:

Orthogonal projection

벡터를 원점을 통과하는 직선 위에 직각으로 투영하기 위해, 를 직선의 방향에서 벡터(vector)라고 놓습니다. 그런-다음 변환 행렬을 사용합니다:

반사와 마찬가지로, 원점을 통과하지 않는 작선 위로의 직교 투영은 선형 변환이 아니라 아핀 변환입니다.

평행 투영(Parallel projections)도 선형 변환이고 행렬에 의해 간단히 표현될 수 있습니다. 어쨌든, 원근 투영법은 그렇지 않고, 이것을 행렬로 나타내기 위해, 동차 좌표(homogeneous coordinates)가 사용될 수 있습니다.

Examples in 3D computer graphics

Rotation

단위 벡터 (x,y,z)에 의해 정의된 임의의 축에 대한 각도 θ회전시키는 행렬은 다음과 같습니다:[7]

Reflection

평면 (원점을 통과함)을 통해 점을 반사하기 위해, 를 사용할 수 있으며, 여기서 는 3×3 항등 행렬이고 은 평면의 법선인 벡터에 대해 3-차원 단위 벡터(unit vector)입니다. 만약 , , 및 L2 노름이 단위이면, 변환 행렬은 다음과 같이 표현될 수 있습니다:

이들은 2차원과 3차원에서 하우스홀더 반사(Householder reflection)의 특별한 경우라는 점에 유의하십시오. 원점을 거치지 않는 직선이나 평면에 대한 반사는 4×4 아핀 변환 행렬로 선형 변환이 아니며 (이는 아핀 변환(affine transformation)임), 다음과 같이 표현될 수 있다 (법선이 단위 벡터라고 가정됨): 여기서 평면 위의 일부 점 에 대해 , 또는 동등하게, .

만약 벡터의 네 번째 구성 요소가 1 대신 0이면, 벡터가 원점을 통과하는 평행 평면을 통해 거울같이 비추는 것처럼 벡터의 방향만 반사되고 크기는 변경되지 않습니다. 이것은 같은 행렬을 사용하여 위치 벡터와 법선 벡터 모두를 변환할 수 있으므로 유용한 속성입니다. 자세한 설명에 대해 아래의 동차 좌표(homogeneous coordinates)아핀 변환(affine transformations)을 참조하십시오.

Composing and inverting transformations

행렬을 사용하여 선형 변환을 나타내는 주요 동기 중 하나는 변환을 쉽게 합성하고 반전할 수 있다는 것입니다.

합성은 행렬 곱셈(matrix multiplication)에 의해 성취됩니다. 행 벡터와 열 벡터는 행렬, 왼쪽의 행과 오른쪽의 열에 의해 연산됩니다. 텍스트는 왼쪽에서 오른쪽으로 읽히므로, 변환 행렬이 합성될 때 열 벡터가 선호됩니다.

만약 AB가 두 선형 벡터의 행렬이면, 먼저 A를 적용하고 그 다음 B를 열 벡터 에 적용하는 효과는 다음에 의해 제공됩니다:

다시 말해서, A 다음에 B와 같이 조합된 변환의 행렬은 단순히 개별 행렬의 곱입니다.

A역-가능 행렬(invertible matrix)일 때, A를 "취소"하는 변환을 나타내는 행렬 A−1이 있는데, 왜냐하면 A와의 합성이 항등 행렬(identity matrix)이기 때문입니다. 일부 실제 응용에서, 반전은 일반적인 반전 알고리듬을 사용하거나 (반대 방향으로 회전하는 것과 같은 명확한 기하학적 해석을 가지는) 역 연산을 수행하고 그런-다음 역순으로 그것들을 합성함으로써 계산될 수 있습니다. 반사 행렬은 자체의 역이고 별도로 계산할 필요가 없기 때문에 특별한 경우입니다.

Other kinds of transformations

Affine transformations

Effect of applying various 2D affine transformation matrices on a unit square. Note that the reflection matrices are special cases of the scaling matrix.
Affine transformations on the 2D plane can be performed in three dimensions. Translation is done by shearing parallel to the xy plane, and rotation is performed around the z axis.

행렬로 아핀 변환(affine transformations)을 나타내기 위해, 동차 좌표(homogeneous coordinates)를 사용할 수 있습니다. 이것은 2-벡터 (x, y)를 3-벡터 (x, y, 1)로 나타내는 것을 의미하고, 더 높은 차원에 대해서도 유사합니다. 이 시스템을 사용하여, 평행이동은 행렬 곱셈으로 표현될 수 있습니다. 함수 형식 는 다음이 됩니다:

모든 보통의 선형 변환은 아핀 변환의 집합에 포함되고, 단순화된 형식의 아핀 변환으로 설명될 수 있습니다. 그러므로, 임의의 선형 변환은 역시 일반 변환 행렬로 나타낼 수 있습니다. 후자는 해당 선형 변환 행렬을 한 행과 열만큼 확장하고, 1로 설정되어야 하는 아래-오른쪽 모서리를 제외하고 여분의 공간을 0으로 채워서 얻습니다. 예를 들어, 위에서 반-시계방향 회전 행렬(counter-clockwise rotation matrix)은 다음이 됩니다:

동차 좌표를 포함하는 변환 행렬을 사용하여, 평행이동이 선형이 되고, 따라서 다른 모든 유형의 변환과 매끄럽게 혼합될 수 있습니다. 그 이유는 실수 평면이 실수 투영 공간에서 w = 1 평면에 매핑되고, 따라서 실수 유클리드 공간에서의 변환이 실수 투영 공간에서 전단으로 표현될 수 있기 때문입니다. 비록 평행이동은 데카르트 좌표에 의해 설명되는 2-D 또는 3-D 유클리드 공간에서 비-선형 변환이지만 (즉, 교환성 및 다른 속성을 보존하면서 다른 변환과 결합될 수 없음), 그것은, 동차 좌표에 의해 3-D 또는 4D 투영 공간에서, 단순 선형 변환 (전단)이 됩니다.

더 많은 아핀 변환은 둘 이상의 아핀 변한의 합성에 의해 얻을 수 있습니다. 예를 들어, 벡터 를 갖는 평행이동 T', 반-시계방향 각도 θ만큼 회전 R, 인수 를 갖는 스케일링 S, 및 벡터 의 변환 T가 주어졌을 때, T'RST의 결과 M은 다음과 같습니다:[8]

아핀 변환을 사용할 때, 좌표 벡터의 동차 구성 요소 (통상적으로 w라고 함)는 절대 변경되지 않습니다. 따라서 항상 1이라고 안전하게 가정하고 무시할 수 있습니다. 어쨌든, 이것은 원근 투영을 사용할 때 참이 아닙니다.

Perspective projection

Comparison of the effects of applying 2D affine and perspective transformation matrices on a unit square.

3D 컴퓨터 그래픽에서 중요한 또 다른 변환 유형은 원근 투영(perspective projection)입니다. 평행 투영이 평행 직선을 따라 이미지 평면 위로의 점을 투영하기 위해 사용되고, 반면에 원근 투영은 투영의 중심이라고 불리는 단일 점에서 나오는 직선을 따라 이미지 평면 위로의 점을 투영합니다. 이것은 대상이 투영의 중심에서 멀리 떨어져 있을 때 더 작은 투영을 갖고 더 가까울 때 더 큰 투영을 가짐을 의미합니다 (역수 함수(reciprocal function) 참조).

가장 간단한 원근 투영은 원점을 투영의 중심으로 사용하고, 에서 평면을 이미지 평면으로 사용합니다. 이 변환의 함수형 형식은 그때에 ; 입니다. 이것을 동차 좌표(homogeneous coordinates)로 다음과 같이 표현할 수 있습니다:

행렬 곱셈(matrix multiplication)을 수행한 후, 동차 구성 요소 의 값과 같을 것이고 다른 세 개는 변하지 않을 것입니다. 그러므로, 실수 평면으로 다시 매핑하려면, 각 구성 요소를 로 나눔으로써 동차 분할(homogeneous divide) 또는 원근 분할(perspective divide)을 수행해야 합니다:

이미지 평면과 투영의 중심을 원하는 곳으로 이동하기 위해 이것을 회전, 스케일, 평행이동, 및 전단과 조합함으로써 더 복잡한 원근 투영을 구성할 수 있습니다.

See also

References

  1. ^ Rafael Artzy (1965) Linear Geometry
  2. ^ J. W. P. Hirschfeld (1979) Projective Geometry of Finite Fields, Clarendon Press
  3. ^ Gentle, James E. (2007). "Matrix Transformations and Factorizations". Matrix Algebra: Theory, Computations, and Applications in Statistics. Springer. ISBN 9780387708737.
  4. ^ Nearing, James (2010). "Chapter 7.3 Examples of Operators" (PDF). Mathematical Tools for Physics. ISBN 978-0486482125. Retrieved January 1, 2012.
  5. ^ Nearing, James (2010). "Chapter 7.9: Eigenvalues and Eigenvectors" (PDF). Mathematical Tools for Physics. ISBN 978-0486482125. Retrieved January 1, 2012.
  6. ^ http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-07-dynamics-fall-2009/lecture-notes/MIT16_07F09_Lec03.pdf [bare URL PDF]
  7. ^ Szymanski, John E. (1989). Basic Mathematics for Electronic Engineers:Models and Applications. Taylor & Francis. p. 154. ISBN 0278000681.
  8. ^ Cédric Jules (February 25, 2015). "2D transformation matrices baking".

External links