# 축에 따른 반사 변환

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

3. **반사 변환**: x-축에 대해 반사 변환 행렬을 적용:

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

4. **역 회전 변환**: 원래 각도로 다시 회전시키기 위해 $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}
$$

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

***

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