축에 따른 반사 변환

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

x-축에 대한 반사 변환

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

Mx=[100010001]\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-축에 대해 반사시키는 변환 행렬은 다음과 같다:

My=[100010001]\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)$이 된다.

원점에 대한 반사 변환

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

Mo=[100010001]\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$ 회전시켜야 한다. 회전 행렬은 다음과 같다:

Rθ=[cos(θ)sin(θ)0sin(θ)cos(θ)0001]=[1212012120001]\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-축에 대해 반사 변환 행렬을 적용:

Mx=[100010001]\mathbf{M}_x = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \\ \end{bmatrix}
  1. 역 회전 변환: 원래 각도로 다시 회전시키기 위해 $45^\circ$로 회전:

Rθ=[1212012120001]\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}

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

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

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


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

Last updated