축에 따른 반사 변환은 객체를 특정 축에 대해 대칭이동시키는 변환을 말한다. 이를 통해 객체의 형태와 크기를 유지하면서 축을 기준으로 반사된 위치로 이동시킬 수 있다. 축에 따른 반사 변환을 수학적으로 표현하기 위해서는 동차좌표계(Homogeneous Coordinates)를 사용한다.

x-축에 대한 반사 변환

객체를 x-축에 대해 반사시키는 변환 행렬은 다음과 같다:

\mathbf{M}_x = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}

이 행렬을 적용하면 y-좌표의 부호가 바뀌기 때문에, 객체는 x-축을 기준으로 반사된다. 예를 들어, 점 \mathbf{P} = (x, y, 1)에 대해 반사 변환을 하면 결과는 (x, -y, 1)이 된다.

y-축에 대한 반사 변환

객체를 y-축에 대해 반사시키는 변환 행렬은 다음과 같다:

\mathbf{M}_y = \begin{bmatrix} -1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}

이 행렬을 적용하면 x-좌표의 부호가 바뀌기 때문에, 객체는 y-축을 기준으로 반사된다. 예를 들어, 점 \mathbf{P} = (x, y, 1)에 대해 반사 변환을 하면 결과는 (-x, y, 1)이 된다.

원점에 대한 반사 변환

객체를 원점에 대해 반사시키는 변환 행렬은 다음과 같다:

\mathbf{M}_o = \begin{bmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}

이 행렬을 적용하면 x-좌표와 y-좌표 모두의 부호가 바뀌기 때문에, 객체는 원점을 중심으로 반사된다. 예를 들어, 점 \mathbf{P} = (x, y, 1)에 대해 반사 변환을 하면 결과는 (-x, -y, 1)이 된다.

임의의 선에 대한 반사 변환

축에 대해 반사 변환을 다룬 것처럼, 임의의 선 ax + by + c = 0에 대해 반사 변환을 수행할 수도 있다. 이 변환을 구현하기 위해서는 여러 단계를 거쳐야 하며, 이를 동차좌표계를 통해 표현할 수 있다.

  1. 선의 평행 이동: 반사 이동을 하는 선 ax + by + c = 0을 원점을 지나도록 평행 이동시킨다.
  2. 회전 변환: 선을 x-축 또는 y-축에 평행하도록 회전시킨다.
  3. 반사 변환: 해당 축에 대해 반사 변환을 적용.
  4. 역 회전 변환: 반사된 객체를 원래 위치로 회전시킨다.
  5. 역 평행 이동: 반사된 객체를 원래 위치로 평행 이동시킨다.

각 단계에서 사용하는 변환 행렬을 적절하게 곱하면, 최종적인 반사 변환 행렬을 얻을 수 있다.

예제: y = x에 대한 반사 변환

  1. 선의 방정식 y = x는 원점을 지나므로 평행 이동이 필요 없다.
  2. 회전 변환: 이 선을 x-축에 평행하게 만들기 위해서는 선을 -45^\circ 회전시켜야 한다. 회전 행렬은 다음과 같다:
\mathbf{R}_{-\theta} = \begin{bmatrix} \cos(-\theta) & -\sin(-\theta) & 0 \\ \sin(-\theta) & \cos(-\theta) & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}
  1. 반사 변환: x-축에 대해 반사 변환 행렬을 적용:
\mathbf{M}_x = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}
  1. 역 회전 변환: 원래 각도로 다시 회전시키기 위해 45^\circ로 회전:
\mathbf{R}_{\theta} = \begin{bmatrix} \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}

이제 이 행렬들을 곱하면 최종 반사 변환 행렬을 얻을 수 있다:

\mathbf{M} = \mathbf{R}_{\theta} \cdot \mathbf{M}_x \cdot \mathbf{R}_{-\theta}

이 계산을 통해, 어떤 임의의 선에 대한 반사 변환 행렬을 얻을 수 있다.


동차좌표계를 사용하면 다양한 기하학적 변환을 행렬 연산으로 처리할 수 있다. 특히, 반사 변환은 회전과 평행 이동 등 여러 변환을 조합하여 표현할 수 있어, 보다 복잡한 변환을 간편하게 계산할 수 있다.