티스토리 뷰
1️⃣ 선형변환(Linear Transformation)이 왜 필요했을까? - 배경과 필요성
🔍 1. 선형변환이 등장하게 된 배경
🎯 물체를 움직이거나 변형시키는 이유
여러분이 일상생활에서 접하는 모든 물체와 그림은 어느 순간이든 움직이거나 크기나 방향을 바꾸게 되는 경우가 많아요.
예를 들어 여러분이 스마트폰으로 사진을 찍었다고 해볼게요.
그런데 사진을 찍은 후 보니까 방향이 틀어져 있어요. 이럴 때는 어떻게 해야 할까요? 사진을 돌려서 똑바로 만들면 되겠죠?
그런데 이때 사진을 돌리는 건 그냥 아무렇게나 하는 것이 아니라, 정확한 규칙에 따라서 돌려야 해요. 만약 사진을 돌릴 때 어떤 부분은 덜 돌리고, 어떤 부분은 더 돌리면 이상한 모양이 되어버리겠죠?
즉, 물체를 옮기거나 돌리거나 크기를 바꿀 때는 '일정한 규칙'을 따라야 자연스럽고 바르게 보일 수 있어요. 이 '일정한 규칙'을 수학적으로 나타내는 방법을 "변환(Transformation)" 이라고 해요.
🔍 2. 변환(Transformation)이란 무엇일까요?
🎯 변환의 직관적이고 쉬운 의미
변환이란 아주 쉽게 말하면,
한 위치에 있던 물체나 점을 정해진 규칙에 따라 새로운 위치로 옮기는 방법이에요.
여기에서 규칙이란 다음과 같은 걸 말해요.
- 지도를 확대할 때, 지도 위에 있는 모든 위치를 똑같은 비율로 확대하는 것
- 물체를 회전할 때, 모든 점을 정확히 같은 각도로 돌리는 것
- 물체를 특정 방향으로 이동할 때, 모든 점을 같은 거리로 움직이는 것
이렇게 해야 우리가 변환된 모습을 쉽게 예측할 수 있고, 복잡하지 않게 분석할 수 있어요.
📌 예시로 더 자세히 이해해봐요!
① 지도 확대하기
지도를 두 배로 크게 확대한다고 하면, 지도 위 모든 지점이 정확히 두 배만큼 커져야 해요.
예를 들어,
- 원래 좌표가 (1, 1)이었던 위치는 (2, 2)로 바뀌고,
- 원래 좌표가 (3, 2)였던 위치는 (6, 4)로 바뀌는 식이에요.
즉, 모든 좌표 (x, y)가 두 배씩 커지는 규칙으로 변환됩니다.
이걸 수학적으로 표현하면 다음과 같아요.
[
(x, y) → (2x, 2y)
]
이 공식의 뜻은, 각 좌표에 숫자 2를 곱해서 새로운 좌표를 만들어라 라는 규칙이에요.
② 사진 회전하기
사진을 90도 돌릴 때도 정확한 규칙이 있어요. 이 규칙은 조금 복잡하지만 정확하게 정해져 있어요.
예를 들어, 원래 사진에서 어떤 한 점의 좌표가 (x, y)였다면, 사진을 90도 회전하면 좌표는 이렇게 바뀌어요.
[
(x, y) → (-y, x)
]
즉, 원래 x좌표를 새로운 y좌표로 바꾸고, 원래 y좌표는 부호를 바꿔서 새로운 x좌표로 만드는 규칙이에요.
이 규칙대로 하면 사진의 모든 부분이 정확히 90도 돌아가서 원본의 모양을 유지하게 됩니다.
🔍 3. 왜 이런 '규칙적 변환'이 필요할까요?
🎯 변환이 없거나 규칙이 없다면 어떤 문제가 생길까요?
만약 변환이라는 개념이 없다면, 또는 변환이 있어도 일정한 규칙이 없다면 어떻게 될까요?
예를 들어 지도 위에서 어떤 지역은 2배 확대하고, 다른 지역은 1.5배만 확대한다면, 지도가 이상하게 왜곡되어 정확한 지도를 볼 수 없겠죠?
이처럼 규칙 없는 변환은 복잡하고 예측할 수 없는 문제를 만듭니다. 따라서 수학자들은 변환을 매우 정확하고 규칙적으로 할 수 있는 방법을 찾아야 했어요.
그리고 그렇게 해서 만들어진 가장 정확하고 규칙적인 변환이 바로 선형변환(Linear Transformation)이에요.
🔍 4. 선형변환은 무엇이 특별할까요?
🎯 선형변환의 특별한 두 가지 규칙
선형변환은 특별한 규칙이 있는데, 이걸 "선형성(Linear)"이라고 해요.
다음 두 가지 규칙을 만족해야만 선형변환이라고 할 수 있어요.
📌 ① 덧셈 유지 성질 (Additivity)
이 성질은 간단히 말해,
두 벡터(두 점)를 더한 다음 변환한 결과가, 각 벡터를 따로 변환한 후 더한 결과와 정확히 같아야 한다는 규칙이에요.
이걸 수학적 표현으로 나타내면 다음과 같아요.
[
T(v_1 + v_2) = T(v_1) + T(v_2)
]
여기서 T는 "선형변환"을 나타내는 수학적 기호예요. 즉, 벡터(v)를 변환한 결과를 T(v)라고 표현하는 거예요.
예를 들어, 두 배로 확대하는 변환을 T라고 하면,
- v₁ = (1,0), v₂ = (0,1)을 생각해볼게요.
- 먼저 두 점을 더하면 (1,1)이 되고, 이걸 변환하면 T(1,1) = (2,2)가 됩니다.
- 반면 각각 변환하면 T(1,0) = (2,0), T(0,1) = (0,2)이고, 두 결과를 더하면 (2,2)가 되죠.
- 양쪽 결과가 정확히 같기 때문에 이 규칙을 만족하는 거예요.
📌 ② 스칼라 곱 유지 성질 (Homogeneity)
이 성질은 쉽게 말해서, 숫자를 곱하는 것도 변환 전후 결과가 같아야 한다는 규칙이에요.
식으로 표현하면 다음과 같아요.
[
T(c v) = c T(v)
]
예를 들어, 점 (2,3)을 생각할 때 숫자 3을 곱하면 (6,9)가 되죠?
- 두 배 확대 변환을 하면,
- 변환 전 3을 곱한 (6,9)를 변환하면 (12,18)이 됩니다.
- 먼저 변환한 (2,3)은 (4,6)이 되고 여기에 다시 숫자 3을 곱하면 (12,18)이 됩니다.
- 두 결과가 정확히 같죠. 이것이 선형변환의 중요한 규칙입니다.
🔍 5. 선형변환을 사용하는 이유
선형변환은 이렇게 간단하면서도 정확한 두 가지 규칙 덕분에 계산이 쉽고, 이해하기도 편해요. 그래서 지도를 만들거나, 로봇이 움직이거나, 게임에서 캐릭터가 자연스럽게 움직이는 모든 과정에서 선형변환이 사용되는 거예요.
🔖 결론
- 선형변환은 일정한 규칙에 따라 점이나 물체를 움직이는 수학적 방법이에요.
- 규칙 없는 변환은 복잡하고 분석하기 어렵기 때문에, 수학자들이 선형변환을 만들었어요.
- 선형변환은 덧셈과 스칼라 곱셈이라는 두 가지 중요한 성질을 가지고 있어요.
- 그래서 우리가 사는 세상에서 아주 다양하게 쓰이고 있답니다!
2️⃣ 선형변환의 엄밀한 정의와 조건
🔍 1. 변환을 수학적으로 표현하기 (함수 개념)
지금까지 우리는 변환(Transformation)을 이렇게 말했어요.
"점이나 물체를 일정한 규칙에 따라 다른 위치로 옮기는 방법."
이러한 변환을 수학에서는 보통 '함수(Function)'라는 개념을 사용해 표현해요.
🎯 함수(Function)란 뭘까요?
쉽게 말해서 함수는 "어떤 것을 넣으면, 정해진 규칙에 따라 새로운 결과가 나오는 기계나 규칙" 같은 것이에요.
예를 들어,
- (f(x)=2x) 라는 함수가 있으면, 숫자 (x)를 넣으면 두 배가 된 숫자가 나옵니다.
예를 들어 (f(1)=2), (f(3)=6)처럼요.
선형변환을 나타내는 함수는 보통 (T)라는 기호를 사용해요.
이것을 수학적으로 표현하면:
[
T(\mathbf{v}) = \mathbf{w}
]
- 여기서 (\mathbf{v})는 변환 전의 벡터(점이나 위치)를 말하고,
- (T(\mathbf{v}))는 벡터 (\mathbf{v})가 변환된 결과(새로운 위치)를 나타내요.
즉, T라는 함수(변환 규칙)에 벡터를 넣으면 새로운 벡터가 나온다고 보면 돼요.
🔍 2. 선형변환(Linear Transformation)의 엄밀한 정의
일반적인 변환과 선형변환의 차이는, 선형변환에는 두 가지 필수 조건이 있다는 거예요.
바로 아래 두 가지 조건이 있어야 변환을 선형변환이라고 부를 수 있어요.
🔍 3. 선형변환의 두 가지 조건
선형변환은 다음 두 가지 조건을 반드시 만족해야 합니다.
🎯 조건 1: 벡터 덧셈 유지 (Additivity)
수학적으로는 아래처럼 써요.
[
T(\mathbf{v}_1 + \mathbf{v}_2) = T(\mathbf{v}_1) + T(\mathbf{v}_2)
]
이 공식의 의미는 다음과 같아요.
- 두 벡터((\mathbf{v}_1), (\mathbf{v}_2))를 먼저 더한 다음 변환한 결과와,
- 각각의 벡터를 따로 변환한 다음 결과를 더한 것이 같아야 합니다.
왜 이런 조건이 필요할까요?
설명:
예를 들어, 두 개의 위치 ((1,0)), ((0,1))을 생각해 볼게요.
먼저 두 위치를 더하면 ((1,1))이 되죠?
이 점을 두 배 확대하는 선형변환 (T(x,y)=(2x,2y))에 적용하면,
[
T(1,1)=(2,2)
]이번엔 각 위치를 먼저 변환한 후 더해볼게요.
- (T(1,0)=(2,0)), (T(0,1)=(0,2))이고, 두 결과를 더하면 ((2,2))가 돼요.
두 가지 방법의 결과가 같기 때문에 이 변환은 벡터 덧셈을 유지하는 것이고, 이 조건이 없으면 규칙성이 사라져서 변환을 다루기 어렵습니다.
🎯 조건 2: 스칼라 곱 유지 (Homogeneity)
수학적으로는 아래처럼 표현합니다.
[
T(c\mathbf{v}) = c T(\mathbf{v})
]
이 공식은 무슨 뜻일까요?
- 벡터에 어떤 숫자((c), 스칼라)를 곱한 다음 변환한 결과와,
- 변환을 먼저 한 다음 그 결과에 숫자를 곱한 것이 같아야 합니다.
왜 이런 조건이 필요할까요?
설명:
간단한 예시로 살펴볼게요.
점(벡터) ((2,3))이 있고, 숫자 3을 곱한다고 생각해 봐요.
그러면 벡터는 ((6,9))로 바뀌겠죠?두 배 확대하는 선형변환 (T(x,y)=(2x,2y))를 생각해 볼게요.
- 먼저 숫자 3을 곱한 (6,9)를 변환하면 (12,18)이 됩니다.
- 그런데 변환을 먼저 하면 (2,3)은 (4,6)이 되고, 다시 숫자 3을 곱하면 (12,18)이 돼요.
두 방법의 결과가 같죠. 이 조건은 변환이 확대되거나 축소될 때 일정한 비율을 유지하도록 만들어 줍니다.
🔍 4. 왜 이 두 조건이 중요한가요? (선형성의 중요성)
이 두 가지 조건(덧셈 유지와 스칼라 곱 유지)이 없다면 어떤 문제가 생길까요?
만약 변환이 이 두 가지 조건을 만족하지 않는다면, 변환된 결과가 예측하기 어렵고 매우 복잡해져요. 이렇게 되면 변환을 사용할 때마다 항상 다른 계산을 해야 해서 매우 불편합니다.
이 두 조건을 만족하면, 수학적으로 매우 정확하고 깔끔하게 계산할 수 있어요. 그리고 변환된 결과도 명확하게 예측할 수 있어서 컴퓨터나 로봇, 그래픽에서 널리 사용하게 됩니다.
🔍 5. 선형변환을 정의하는 일반적인 표현 (행렬과의 연결)
선형변환을 실제로 사용할 때는 보통 행렬(matrix)이라는 도구를 이용합니다. 행렬은 숫자를 네모 모양으로 나열한 것을 말하는데요, 선형변환 (T)는 다음과 같은 방식으로 표현할 수 있어요.
[
T(\mathbf{v}) = A\mathbf{v}
]
- 여기서 (A)는 행렬을 의미하고, (\mathbf{v})는 입력되는 벡터입니다.
예를 들어, 두 배 확대 변환은 다음 행렬로 표현할 수 있어요.
[
A=\begin{bmatrix}2 & 0 \ 0 & 2\end{bmatrix}
]
이 행렬 (A)를 벡터와 곱하면 변환된 결과가 정확히 나타나요.
- 예: 벡터 ((3,4))를 위의 행렬로 변환하면
[
\begin{bmatrix}2 & 0 \ 0 & 2\end{bmatrix}\begin{bmatrix}3 \ 4\end{bmatrix} = \begin{bmatrix}6 \ 8\end{bmatrix}
]
이처럼 선형변환은 행렬을 통해 정확하게 계산할 수 있습니다. (행렬과의 관계는 다음 장에서 더욱 자세히 다룰 거예요!)
📌 결론
- 선형변환은 함수의 일종으로, 특정 규칙에 따라 벡터를 변환합니다.
- 선형변환이 되려면 두 가지 조건(벡터 덧셈 유지, 스칼라 곱 유지)을 반드시 만족해야 합니다.
- 이 조건들 덕분에 선형변환은 계산하기 쉽고, 예측 가능하며, 실생활에서 다양하게 사용될 수 있어요.
3️⃣ 선형변환(Linear Transformation)의 기하학적 의미 - 공간에서 무슨 일이 일어날까요?
📍 1. 선형변환이 '기하학적'이라는 말은 무슨 뜻일까요?
기하학(Geometry) 이라는 말은, 쉽게 말하면 "공간 속의 점과 도형의 모양이나 위치를 다루는 수학 분야"입니다.
여기서 "기하학적 의미"라는 것은 선형변환을 공간 속에서 시각적으로 이해한다는 뜻이에요.
즉, 선형변환이 이루어질 때, 실제로 그림이나 물체가 공간에서 어떻게 변형되는지를 눈으로 보는 것처럼 직관적으로 이해한다는 거죠.
우리는 수학적으로만 생각하지 않고, 눈앞에서 무슨 일이 일어나는지 아주 상세히 상상해 볼 겁니다.
📍 2. 선형변환의 기하학적 핵심: "직선은 직선으로 유지된다"
선형변환은 특별한 규칙을 가지고 있습니다. 그 중 가장 중요한 규칙은 바로,
"직선 위의 점들은 선형변환을 해도 여전히 직선 위의 점들로 남는다."
라는 규칙입니다.
이 말이 어떤 의미인지 아주 자세히 살펴볼까요?
📍 2-1. 왜 직선이 그대로 유지되어야 할까요?
선형변환은 두 가지 규칙(덧셈 보존, 스칼라 곱셈 보존)을 반드시 만족해야 한다고 했죠?
🎯 이 규칙이 만들어내는 중요한 결과: 직선 유지
이 두 가지 조건(벡터 덧셈과 스칼라 곱 유지)을 만족하면, 자연스럽게 직선이 유지되는 특성이 나타납니다.
왜 그럴까요?
- 만약 어떤 직선 위에 두 점 A와 B가 있다고 합시다.
- 직선 위에 있는 다른 점 C는 반드시 이 두 점을 이용하여 표현할 수 있어요.
- 예를 들어, 두 점 A, B를 연결하는 직선 위의 점을 표현하면,
[
C = aA + bB
]
이렇게 됩니다. 여기서 숫자 (a), (b)는 임의의 스칼라 값입니다.
이렇게 표현된 점 C가 선형변환 T를 통해 변환되면, 다음과 같은 규칙으로 바뀝니다.
[
T(aA + bB) = aT(A) + bT(B)
]
즉, 선형변환 후에도 점 C는 변환된 점 T(A), T(B)를 연결한 직선 위에 그대로 존재하게 됩니다.
바로 이 특성이 "직선이 직선으로 유지된다"는 선형변환의 핵심적이고 가장 기초적인 기하학적 성질입니다.
📍 2. 선형변환은 왜 '원점(0,0)'을 움직이지 않을까요?
🎯 선형변환의 두 가지 조건으로부터의 원점 유지
선형변환의 정의를 다시 기억해볼까요?
- 스칼라 곱 유지 조건:
[
T(cv) = cT(v)
]
여기서 벡터 (v)를 원점인 (0,0)으로 넣어볼게요. 그러면,
- (T(0) = T(0 \times v) = 0 \times T(v) = 0)
이렇게 자연스럽게 원점은 반드시 움직이지 않고 그대로 있어야 합니다.
🎯 왜 원점 유지가 중요할까요?
원점이 움직이면 변환된 위치를 계산하기가 복잡해지고, 변환의 규칙이 사라져 버립니다.
예를 들어 물체를 회전시키는데 회전 중심이 계속 변하면 정확히 어느 위치로 회전하는지 예측하기 어렵죠?
원점을 움직이지 않고 고정하는 것이 수학적으로 가장 간단하면서도 변환을 쉽게 분석할 수 있게 만들어주는 핵심적인 이유입니다.
📍 3. 선형변환을 공간 속에서 보기 (2D와 3D 공간)
실제로 2차원(2D)과 3차원(3D) 공간에서 선형변환이 어떻게 작용하는지 살펴볼게요.
🎯 ① 2차원(평면)에서의 선형변환
2D 공간에서는 다음과 같은 변환이 가능합니다.
- 확대·축소 (Scaling): 공간을 일정한 비율로 키우거나 줄임
- 회전 (Rotation): 점이나 도형을 일정한 각도로 돌림
- 반사 (Reflection): 거울에 비친 것처럼 좌우나 위아래로 뒤집음
- 전단 (Shear): 한 방향으로 점을 밀어서 기울이는 변형
이 모든 변환은 위에서 언급한 "직선을 직선으로 유지하고 원점을 유지한다"는 규칙을 만족합니다.
🎯 예제: 2D 공간에서 회전 변환의 예
다음과 같은 회전 변환을 생각해 볼게요.
- 어떤 점 ((x,y))를 시계 반대방향으로 각도 (\theta)만큼 돌린다면, 다음과 같은 공식이 나옵니다.
[
T(x,y) = (x\cos\theta - y\sin\theta, x\sin\theta + y\cos\theta)
]
이 공식이 왜 나왔는지 이해하려면, 원과 삼각형의 기하학적 성질을 이용해 증명해야 합니다.
이 공식은 다음과 같은 의미가 있습니다.
- 기존 좌표(x,y)는 원점을 중심으로 반시계 방향으로 정확히 θ만큼 회전된 새 좌표로 이동합니다.
- cos(θ), sin(θ)는 회전된 위치를 정확히 계산하기 위한 숫자로, 각도 θ가 정해지면 미리 정해지는 숫자입니다.
이 공식은 우리가 회전을 수학적으로 정확히 다룰 수 있게 해줍니다.
🎯 ② 3D 공간에서의 선형변환의 예
3차원 공간에서도 동일한 규칙이 적용됩니다. 예를 들어 물체를 회전하거나 키우는 변환 역시 다음과 같은 3×3 행렬로 표현됩니다.
- 예를 들어 3D 공간에서 물체를 z축 기준으로 θ만큼 돌리는 공식은 다음과 같습니다.
[
\begin{bmatrix}
\cos θ & -\sinθ & 0\
\sinθ & \cosθ & 0\
0 & 0 & 1
\end{bmatrix}
]
이 행렬이 공간에서 어떻게 작용하는지 수식과 숫자를 넣어 분석하면, 모든 점이 정확히 원점을 중심으로 회전하여 원래 형태를 유지하면서 변형됩니다.
🔖 결론
✔️ 선형변환은 직선이 직선을 유지하고, 원점을 움직이지 않는 특성을 반드시 만족해야 합니다.
✔️ 이는 두 가지 조건(덧셈과 스칼라 곱 유지)의 결과입니다.
✔️ 따라서 직선 유지, 원점 유지 같은 중요한 기하학적 성질이 자연스럽게 나타나며, 선형변환이 공간을 규칙적으로 변형하는 이유를 설명합니다.
4️⃣ 행렬(Matrix)과 선형변환의 관계
📌 1. 행렬(Matrix)이란 무엇인가요?
행렬이라는 용어는 초등학생 여러분에겐 낯설 수도 있어요.
하지만 천천히 들여다보면 어렵지 않아요.
🎯 행렬을 쉽게 이해하기
행렬(Matrix)은 간단히 말하면 숫자들을 네모난 모양으로 나열한 것입니다.
예를 들어 아래와 같이요.
[
\begin{bmatrix}
1 & 2\[6pt]
3 & 4
\end{bmatrix}
]
이렇게 생긴 숫자들의 집합을 행렬이라고 부릅니다.
- 행렬은 보통 가로로 나열된 숫자를 행(Row), 세로로 나열된 숫자를 열(Column)이라고 합니다.
- 위 행렬은 2개의 행과 2개의 열을 가진 2×2 행렬이라고 불러요.
📌 2. 행렬이 왜 만들어졌을까요?
수학자들이 처음부터 행렬을 만든 건 아니에요. 처음에는 수학자들이 여러 가지 변환(예: 회전, 확대 등)을 일일이 하나씩 공식으로 표현하고 계산했어요. 그런데 이런 공식들이 많아질수록 계산이 복잡해지고 힘들었죠.
그래서 수학자들은 이렇게 생각했습니다.
"이런 여러 가지 변환들을 한꺼번에 쉽고 편리하게 표현할 수 있는 방법이 없을까?"
그래서 탄생한 것이 바로 행렬(Matrix)이라는 개념이에요.
행렬을 사용하면 모든 변환을 하나의 간단한 식으로 표현할 수 있고, 계산도 훨씬 쉬워집니다.
📌 3. 행렬과 선형변환의 관계
선형변환을 실제로 계산할 때는 반드시 행렬을 사용합니다. 왜 그런지 천천히 알아볼게요.
🎯 선형변환과 행렬의 연결성
앞에서 배운 선형변환 (T)는 다음과 같이 표현할 수 있었죠?
[
T(\mathbf{v})=\mathbf{w}
]
- (\mathbf{v})는 변환 전 벡터, (\mathbf{w})는 변환된 벡터입니다.
이때, 선형변환은 반드시 다음과 같은 행렬 (A)로 표현될 수 있습니다.
[
T(\mathbf{v})=A\mathbf{v}
]
- 행렬 (A)가 변환을 나타내는 규칙이라고 보면 됩니다.
예를 들어볼까요?
"평면에서 2배 확대하는 선형변환"은 다음과 같은 행렬로 표현할 수 있어요.
[
A=\begin{bmatrix}
2 & 0\[6pt]
0 & 2
\end{bmatrix}
]
- 이 행렬이 의미하는 바는 x좌표는 2배로, y좌표도 2배로 만들어라 라는 뜻입니다.
예를 들어, 점 (3,4)를 이 행렬로 변환하면:
[
\begin{bmatrix}
2 & 0\[6pt]
0 & 2
\end{bmatrix}
\begin{bmatrix}
3\[6pt] 4
\end{bmatrix}=
\begin{bmatrix}
2\times 3 + 0\times 4\[6pt]
0\times 3 + 2\times 4
\end{bmatrix}
=
\begin{bmatrix}
6\[6pt] 8
\end{bmatrix}
]
즉, (3,4)가 (6,8)로 정확히 두 배 확대된 결과가 나옵니다.
📌 4. 왜 선형변환은 항상 행렬로 표현할 수 있을까요?
그 이유는 선형변환이 가진 두 가지 성질 덕분입니다.
🎯 선형변환의 두 가지 성질 다시 기억하기
선형변환의 두 가지 성질은 다음과 같았어요.
- 벡터 덧셈 유지: (T(v_1 + v_2) = T(v_1) + T(v_2))
- 스칼라 곱셈 유지: (T(cv)=cT(v))
이 두 성질 때문에 선형변환은 항상 행렬을 사용해서 표현할 수 있게 됩니다.
조금 더 쉽게 말하면, 위 두 조건이 있으면 행렬을 이용해서 항상 변환된 위치를 표현할 수 있다는 뜻이에요.
📌 5. 행렬로 표현 가능한 선형변환의 예시
행렬로 나타낼 수 있는 선형변환을 몇 가지 자세히 살펴볼게요.
🎯 ① 확대(Scaling) 변환 행렬
- 모든 좌표를 (x)축으로는 3배, (y)축으로는 2배 확대하려면, 다음 행렬을 사용합니다.
[
\begin{bmatrix}
3 & 0\[6pt]
0 & 2
\end{bmatrix}
]
예를 들어 점 (1,4)를 변환하면:
[
\begin{bmatrix}
3 & 0\[6pt]
0 & 2
\end{bmatrix}
\begin{bmatrix}
1\[6pt]4
\end{bmatrix}
=
\begin{bmatrix}
3\times1+0\times4\[6pt]
0\times1+2\times4
\end{bmatrix}
=
\begin{bmatrix}
3\[6pt]8
\end{bmatrix}
]
(1,4)는 (3,8)로 확대된 것을 볼 수 있어요.
🎯 ② 회전(Rotation) 변환 행렬
- 시계 반대방향으로 θ(세타) 각도만큼 돌리는 변환은 다음 행렬로 표현됩니다.
[
\begin{bmatrix}
\cosθ & -\sinθ\[6pt]
\sinθ & \cosθ
\end{bmatrix}
]
예를 들어 90도(π/2) 회전이라면:
[
\begin{bmatrix}
\cos90^\circ & -\sin90^\circ\[6pt]
\sin90^\circ & \cos90^\circ
\end{bmatrix}
=
\begin{bmatrix}
0 & -1\[6pt]
1 & 0
\end{bmatrix}
]
이 행렬로 (1,0)을 변환하면:
[
\begin{bmatrix}
0 & -1\[6pt]
1 & 0
\end{bmatrix}
\begin{bmatrix}
1\[6pt]0
\end{bmatrix}
=
\begin{bmatrix}
0\times1 + (-1)\times0\[6pt]
1\times1 + 0\times0
\end{bmatrix}
=
\begin{bmatrix}
0\[6pt]1
\end{bmatrix}
]
(1,0)이 정확히 (0,1)로 90도 회전한 결과를 나타내게 됩니다.
📌 6. 행렬을 사용한 변환의 장점
행렬을 사용하면 변환을 쉽고 빠르게 계산할 수 있고, 변환의 종류를 명확하게 이해할 수 있어요. 특히 여러 번 변환을 반복할 때 매우 편리합니다.
🔖 결론
- 행렬은 숫자를 네모 모양으로 배열한 것으로, 변환을 쉽게 계산하도록 만들어졌어요.
- 선형변환은 반드시 행렬을 사용해서 표현할 수 있고, 이는 두 가지 필수 성질 덕분입니다.
- 행렬로 표현하면 선형변환을 계산하기 쉽고, 규칙적으로 변환을 수행할 수 있게 됩니다.
5️⃣ 선형변환의 주요 유형 및 실제 응용 사례
📌 1. 선형변환의 유형이란 무엇일까요?
선형변환은 일정한 규칙을 만족하는 변환이라고 했죠?
하지만 선형변환은 모두 같은 게 아니고, 다양한 유형이 있어요.
대표적으로는 다음 네 가지가 있습니다:
- 스케일링(Scaling) – 확대 또는 축소
- 회전(Rotation) – 물체를 일정 각도로 돌림
- 반사(Reflection) – 거울처럼 대칭을 만듦
- 전단(Shear) – 물체를 한 방향으로 미는 변형
지금부터 각 유형을 하나씩 철저하게 살펴볼게요.
🔍 2. 스케일링(Scaling) 변환 – 크기 변화
스케일링은 점이나 도형의 크기를 일정한 비율로 확대하거나 축소하는 변환입니다.
📌 수학적 표현
스케일링 변환은 다음 행렬로 표현돼요:
[
\begin{bmatrix}
a & 0 \[6pt]
0 & b
\end{bmatrix}
]
여기서 (a)와 (b)는 확대(축소) 비율이에요.
- (a), (b)가 1보다 크면 확대,
- 0과 1사이면 축소됩니다.
🎯 구체적인 예시
- 확대 비율이 (a=3), (b=2)라고 할 때, 좌표 (1,4)를 변환하면 다음과 같아요:
[
\begin{bmatrix}
3 & 0\[6pt]
0 & 2
\end{bmatrix}
\begin{bmatrix}
1 \[6pt] 4
\end{bmatrix}
=
\begin{bmatrix}
3×1 + 0×4 \[6pt] 0×1 + 2×4
\end{bmatrix}
=
\begin{bmatrix}
3 \[6pt] 8
\end{bmatrix}
]
점(1,4)는 (3,8)이 됩니다. 즉, x축으로는 3배, y축으로는 2배 커졌죠.
스케일링 변환은 이미지 확대·축소, 지도 제작에서 매우 자주 사용됩니다.
🔍 3. 회전(Rotation) 변환 – 돌리기
회전은 도형이나 점을 원점 중심으로 일정한 각도만큼 돌리는 변환입니다.
일반적으로 다음 공식으로 표현돼요:
[
T(x,y) = (x\cosθ - y\sinθ,\quad x\sinθ + y\cosθ)
]
🎯 회전 공식이 등장한 이유
회전이란 원점을 중심으로 원을 그리는 것이므로, 원의 성질과 삼각함수를 이용해 이 공식이 만들어졌어요.
회전을 나타내는 행렬은 다음과 같아요:
[
A = \begin{bmatrix}
\cosθ & -\sinθ \[6pt]
\sinθ & \cosθ
\end{bmatrix}
]
🎯 예시: 90도(π/2) 회전
90도 회전을 행렬로 표현하면:
[
A = \begin{bmatrix}
\cos90^\circ & -\sin90^\circ \[6pt]
\sin90^\circ & \cos90^\circ
\end{bmatrix}
=
\begin{bmatrix}
0 & -1 \[6pt]
1 & 0
\end{bmatrix}
]
이 행렬로 점 (1,2)를 회전시키면:
[
\begin{bmatrix}
0 & -1 \[6pt]
1 & 0
\end{bmatrix}
\begin{bmatrix}
1 \[6pt] 2
\end{bmatrix}
=
\begin{bmatrix}
0×1 + (-1)×2 \[6pt] 1×1 + 0×2
\end{bmatrix}
=
\begin{bmatrix}
-2 \[6pt] 1
\end{bmatrix}
]
즉, 점 (1,2)는 (-2,1)로 정확히 90도 회전됩니다.
회전은 특히 로봇공학과 컴퓨터 그래픽에서 매우 자주 쓰입니다. 로봇 팔을 돌리거나, 게임 속 캐릭터가 회전할 때 사용됩니다.
🔍 4. 반사(Reflection) 변환 – 뒤집기
반사는 점이나 도형을 특정한 선을 기준으로 뒤집는 변환입니다.
예를 들어, x축에 대한 반사(거울 효과)는:
[
T(x,y) = (x, -y)
]
행렬로는 다음과 같습니다:
[
A =
\begin{bmatrix}
1 & 0\[6pt]
0 & -1
\end{bmatrix}
]
🎯 예시
점 (2,5)를 x축에 반사시키면:
[
\begin{bmatrix}
1 & 0\[6pt]
0 & -1
\end{bmatrix}
\begin{bmatrix}
2 \[6pt] 3
\end{bmatrix}
=
\begin{bmatrix}
2 \[6pt] -3
\end{bmatrix}
]
즉, (2,3)은 (2,-3)이 됩니다.
반사는 그래픽에서 대칭을 표현할 때 유용합니다.
🔍 5. 전단(Shear) 변환 – 밀기
전단 변환은 한 축 방향으로만 점을 밀어서 도형을 기울게 하는 변환입니다.
예를 들어 x축 방향으로 점을 미는 전단 변환은 다음과 같아요:
[
T(x,y) = (x + ky, y)
]
행렬 표현은:
[
A =
\begin{bmatrix}
1 & k\[6pt]
0 & 1
\end{bmatrix}
]
여기서 k는 기울어진 정도를 의미합니다.
🎯 예시
( k = 2 )일 때 점 (1,1)은:
[
\begin{bmatrix}
1 & 2\[6pt]
0 & 1
\end{bmatrix}
\begin{bmatrix}
1 \[6pt] 1
\end{bmatrix}
=
\begin{bmatrix}
1×1 + 1×2 \[6pt]
0×1 + 1×1
\end{bmatrix}
=
\begin{bmatrix}
3 \[6pt] 1
\end{bmatrix}
]
즉 (1,1)이 (3,1)로 오른쪽으로 밀린 걸 볼 수 있어요. 이는 그래픽에서 도형을 기울이는 효과를 내는데 많이 사용됩니다.
🔖 6. 실제 응용 사례
선형변환은 게임, 로봇, 컴퓨터 그래픽 등 매우 많은 분야에서 필수적으로 쓰입니다.
게임 캐릭터 회전
캐릭터가 방향을 돌릴 때 위에서 말한 회전 행렬을 사용하여 부드럽게 움직입니다.지도 제작
지도를 확대하거나 축소할 때 스케일링 행렬이 정확한 비율로 확대/축소합니다.로봇 팔 제어
로봇 팔이 정확히 원하는 방향과 위치로 이동하도록 회전과 전단 변환이 사용됩니다.
🔖 결론
- 선형변환의 대표적인 유형은 스케일링, 회전, 반사, 전단으로 나뉩니다.
- 이 변환들은 각각 수학적으로 명확한 행렬로 표현되며, 명확한 규칙에 따라 동작합니다.
- 선형변환의 수학적 명확성 덕분에 게임, 로봇공학 등 다양한 기술 분야에서 중요한 역할을 하고 있습니다.
'통계학 > 선형대수' 카테고리의 다른 글
행렬 간의 곱셈, 선형변환의 합성 (0) | 2025.03.28 |
---|---|
벡터와 행렬의 차이, 그리고 선형변환 (0) | 2025.03.28 |
선형독립과 선형종속 (0) | 2025.03.15 |
선형결합(Linear Combination) (0) | 2025.03.15 |
벡터란(Vector)? (0) | 2025.03.15 |
- Total
- Today
- Yesterday
- C
- K-MOOC
- jlpt
- 통계학
- C/C++
- 통계
- 사회심리학
- 류근관
- 회계
- 인지부조화
- 일문따
- 보세사
- 일본어
- 열혈프로그래밍
- 여인권
- 일본어문법무작정따라하기
- 심리학
- 데이터분석
- stl
- c++
- 티스토리챌린지
- 오블완
- 윤성우
- Python
- 파이썬
- 인프런
- EBS
- 코딩테스트
- 백준
- 뇌와행동의기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |