# 반사 변환의 개념

반사 변환(reflection transformation)은 주어진 축이나 평면을 기준으로 객체를 대칭적으로 뒤집는 변환이다. 반사 변환은 2차원 및 3차원 모두에서 주어지는 기준에 따라 다르며, 수학적으로는 주로 행렬을 이용해서 표현된다.

#### 2차원 반사 변환

2차원에서의 반사 변환은 주어진 선(line)을 기준으로 객체를 대칭시키는 방식이다. 일반적으로 사용되는 두 축은 x축과 y축이다.

**x축에 대한 반사**

점을 x축을 기준으로 반사시키는 경우, y좌표의 부호가 반대로 바뀐다. 이를 행렬로 표현하면 다음과 같다:

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

이 행렬 $\mathbf{M}\_x$을 사용하여 점 $(x, y)$를 반사시키면 다음과 같은 변환이 일어난다:

$$
\begin{bmatrix} x' \ y' \ 1 \end{bmatrix} = \mathbf{M}\_x \begin{bmatrix} x \ y \ 1 \end{bmatrix} = \begin{bmatrix} x \ -y \ 1 \end{bmatrix}
$$

즉, 점 $(x, y)$는 $(x, -y)$로 변환된다.

**y축에 대한 반사**

점을 y축을 기준으로 반사시키는 경우, x좌표의 부호가 반대로 바뀐다. 이를 행렬로 표현하면 다음과 같다:

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

이 행렬 $\mathbf{M}\_y$을 사용하여 점 $(x, y)$를 반사시키면 다음과 같은 변환이 일어난다:

$$
\begin{bmatrix} x' \ y' \ 1 \end{bmatrix} = \mathbf{M}\_y \begin{bmatrix} x \ y \ 1 \end{bmatrix} = \begin{bmatrix} -x \ y \ 1 \end{bmatrix}
$$

즉, 점 $(x, y)$는 $(-x, y)$로 변환된다.

#### 3차원 반사 변환

3차원에서의 반사 변환은 주어진 평면을 기준으로 객체를 대칭시킨다. 일반적으로 사용되는 세 가지 평면은 xy평면, yz평면, xz평면이다.

**xy평면에 대한 반사**

점을 xy평면을 기준으로 반사시키는 경우, z좌표의 부호가 반대로 바뀐다. 이를 행렬로 표현하면 다음과 같다:

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

이 행렬 $\mathbf{M\_{xy}}$을 사용하여 점 $(x, y, z)$를 반사시키면 다음과 같은 변환이 일어난다:

$$
\begin{bmatrix} x' \ y' \ z' \ 1 \end{bmatrix} = \mathbf{M}\_{xy} \begin{bmatrix} x \ y \ z \ 1 \end{bmatrix} = \begin{bmatrix} x \ y \ -z \ 1 \end{bmatrix}
$$

즉, 점 $(x, y, z)$는 $(x, y, -z)$로 변환된다.

**yz평면에 대한 반사**

점을 yz평면을 기준으로 반사시키는 경우, x좌표의 부호가 반대로 바뀐다. 이를 행렬로 표현하면 다음과 같다:

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

이 행렬 $\mathbf{M}\_{yz}$을 사용하여 점 $(x, y, z)$를 반사시키면 다음과 같은 변환이 일어난다:

$$
\begin{bmatrix} x' \ y' \ z' \ 1 \end{bmatrix} = \mathbf{M}\_{yz} \begin{bmatrix} x \ y \ z \ 1 \end{bmatrix} = \begin{bmatrix} -x \ y \ z \ 1 \end{bmatrix}
$$

즉, 점 $(x, y, z)$는 $(-x, y, z)$로 변환된다.

**xz평면에 대한 반사**

점을 xz평면을 기준으로 반사시키는 경우, y좌표의 부호가 반대로 바뀐다. 이를 행렬로 표현하면 다음과 같다:

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

이 행렬 $\mathbf{M}\_{xz}$을 사용하여 점 $(x, y, z)$를 반사시키면 다음과 같은 변환이 일어난다:

$$
\begin{bmatrix} x' \ y' \ z' \ 1 \end{bmatrix} = \mathbf{M}\_{xz} \begin{bmatrix} x \ y \ z \ 1 \end{bmatrix} = \begin{bmatrix} x \ -y \ z \ 1 \end{bmatrix}
$$

즉, 점 $(x, y, z)$는 $(x, -y, z)$로 변환된다.

#### 임의의 선이나 평면에 대한 반사

임의의 선이나 평면에 대한 반사를 수행하기 위해서는 복잡한 수학적 변환이 필요하다. 예를 들어, 임의의 직선 $y = mx + c$에 대한 반사는 선을 원점으로 이동시키고, 필요하다면 원점에서의 각도를 고려하여 회전 변환을 한 후에 반사하고, 다시 회전 변환과 번역 변환을 반대로 수행하는 순서로 이루어진다.

#### 활용 예시

1. **컴퓨터 그래픽스**: 반사 변환은 3D 그래픽스에서 객체의 대칭을 표현할 때 유용하다. 예를 들어, 거울 효과를 표현하거나, 대칭적인 객체를 간단하게 생성할 때 사용된다.
2. **이미지 처리**: 이미지의 반전이나 회전 등의 변환에서는 반사 변환이 중요한 역할을 한다.
3. **물리학**: 거울 반사, 광학 등에서 빛의 반사와 관련된 계산에 사용된다.

반사 변환은 대칭성과 대칭 관계를 분석하고 표현하는 데 중요한 도구이다. 위의 행렬 변환 방식은 다양한 응용 분야에서 유용하게 사용될 수 있다.
