Chapter 5. 기하학 변환

- 변환이란?

- 선형 변환이란?

- 어파인 변환이란?

- 위치이동변환?

- 크기변환?

- 2차원 회전변환?

- 동형좌표계와 행렬의 관계는?

- 3차원 회전변환?

- Euler Angle

- 사원수(Quaternion) 표현

5.1 직선

직선(直線)은 무한히 얇고, 무한히 길고 곧은 기하학적 요소이다. 2차원에서 두 직선의 관계는 평행이거나(영원히 만나지 않거나), 합동이거나, 한 점에서 만나거나 가운데 하나이다. 3차원 공간에서는 "꼬인 위치에 있다"가 추가된다.

컴퓨터그래픽스와 컴퓨터게임 등에서는 직선은 레이저나 총알과 같은 무기류의 움직임을 표현하는 기하학적 모델이기도 하다. 움직이는 물체 또는 고정된 물체와의 충돌 여부를 따지기 위해서는 직선의 방정식에 대해서 학습을 하여야 한다.

[직선의 방정식]

2차원에서의 일반적인 직선의 방정식은 [eqn: y=m`x`+b] 이다. 일반적으로는 이러한 실수형 양함수 형태의 방정식 보다는 벡터방정식이 유용할 때가 많다. 2차원 공간의 한 점인 [eqn: P _{0}]를 지나고 벡터 [eqn: D] 방향으로 뻗어있는 직선의의 방정식은 다음과 같다.

[Parametric Form]

[eqn: P(t)`=`P _{0} +t`D]

2차원 공간의 두 점인 [eqn: Q,`R]을 지나는 직선은 다음과 같은 형태를 가지기도 한다.

[eqn: P(t)`=`Q+t`D]

이때, [eqn: D=R-Q]이다. 그러면

[eqn: P(t)`=`Q+t`(R-Q)]

[eqn: P(t)`=`(1-t)Q+t`R]

이다. 매개변수를 다음과 같이 치환을 한다면 간단한 수식으로 변경될 수 있다.

[eqn: alpha _{1} =(1-t)],    [eqn: alpha _{2} =t]

어파인 형식의 직선의 방정식은 다음과 같다.

[Affine Form]

[eqn: P(t)`= alpha _{1} Q+ alpha _{2} `R],   [eqn: alpha _{1} + alpha _{2} =1]

5.2 선분

선분(線分)은 양쪽에 끝나는 점이 있는, 직선의 부분이다. 무한의 길이를 가지는 직선, 반직선과 달리 길이를 잴 수 있다.

직선상의 2점을 A, B라 할 때, A, B를 양끝으로 하는 선분을 선분 AB라 한다. 직선 AB상의, 선분 AB상에는 없는 부분을 선분 AB의 연장이라 한다. 선분 AB상의 한 점을 P라 할 때, P는 선분 AB를 내분하는데, 이때의 P를 AB의 내분점이라 한다.

또 선분 AB의 연장선상의 한 점을 Q라 할 때, Q는 선분 AB를 외분하는데, 이 때 Q를 선분 AB의 외분점이라 한다. 좌표평면상의 두 점 A(x1,y1), B(x2,y2)를 지나는 직선의 방정식은 매개변수 λ를 써서 x＝(1－λ)x1＋λx2, y＝(1－λ)y1＋λy2 로 나타낼 수 있다. 이 식에서 0≤λ≤1이라고 하면, 선분 AB의 방정식이 된다.

선분은 직선의 일부분이기 때문에 선분의 방정식은 직선의 방정식에서 조건을 추가하면 된다. 양함수 벡터 방정식에서는 [eqn: t]의 범위를 0과 1 사이로 제한한 경우이며, 어파인 형식에서는 [eqn: alpha _{1} ,` alpha _{2} GEQ 0]  이라는 조건을 사용하면 된다.

[eqn: P(t)`=`Q+t`D],      [eqn: 0` LEQ t LEQ 1]

[eqn: P(t)`= alpha _{1} Q+ alpha _{2} `R],   [eqn: alpha _{1} + alpha _{2} =1], [eqn: alpha _{1} ,` alpha _{2} GEQ 0]

5.3 볼록집합

유클리드 공간에 속하는 집합 A에 대해, 그 안의 임의의 두 점을 골랐을 때 둘을 연결하는 선분이 A에 포함될 경우, A를 볼록 집합(convex set)이라 한다. 예를 들어 속이 찬 공은 볼록 집합이지만, 안쪽에 구멍이 있거나 초승달처럼 오목하게 들어간 부분이 있을 경우 볼록 집합이 아니다.

[Convex Hull]

주어진 점을 포함하는 볼록 집합은 무수히 많이 존재할 것이다. 우리의 관심은 주어진 점을 감싸는 볼록 집합 중에서 제일 작은 것을 찾고자 하는 것이다. 다시 말해서 주어진 점들을 tight 하게 감싸는 볼록 집합을 구하는 것이다. 이러한 성질을 만족하는 집합을 Convex Hull 이라 한다. 이에 대한 수학적 표현은 다음과 같다.

① 선분은 주어진 두 점에 의해서 만들어지는 Convex Hull 이다.

② 세 점이 주어졌을 때 생성되는 Convex Hull은 어떤 도형일까?

평면에 세 개의 점 A, B, C 이 그림과 같이 주어져 있다고 생각하자. 그러면 위의 정의에 따라 세 점에 의한 convex hull은 다음을 만족한다.

[eqn: P= alpha A+ beta B+ gamma C],

[eqn: alpha + beta + gamma =1], [eqn: alpha , beta , gamma GEQ 0]

[eqn: P-A=( alpha -1)A+ beta B+ gamma C]

[eqn: P-A=(- beta - gamma )A+ beta B+ gamma C]

[eqn: P-A= beta (B-A)+ gamma (C-A)]

이때 세 벡터를 다음과 같이 두자.

[eqn: X=P-A,``````U=B-A,``````V=C-A]

￭조건 [eqn: beta GEQ 0] 을 만족하는 점들의 집합은 다음과 같다.

￭조건 [eqn: gamma GEQ 0] 을 만족하는 점들의 집합은 다음과 같다.

￭조건 [eqn: beta +gamma LEQ 1] 을 만족하는 점들의 집합은 다음과 같다.

세 개의 부등식을 동시에 만족하는 집합은 삼각형임을 알 수 있다.

이때 사용되는 [eqn: alpha ,` beta ,` gamma] 는 일반적으로 다음과 같은 barycentric 좌표계로 구해진다.

[eqn: alpha = {TRIANGLE PBC} over {TRIANGLE ABC}], [eqn: beta = {TRIANGLE PCA} over {TRIANGLE ABC}], [eqn: gamma = {TRIANGLE PAB} over {TRIANGLE ABC}]

③ 네 점이 주어졌을 때 생성되는 Convex Hull은 어떤 도형일까?

네 점에 의해서 생성되는 사면체임을 삼각형의 경우와 같은 방법으로 유도할 수 있다.

5.4 좌표계

좌표계 혹은 자리표계(座標系, Coordinates)는 스칼라 순서쌍을 이용해 n차원 공간의 각 지점을 표현하는 방법을 말한다. 여기서 스칼라는 보통 실수를 말하나, 경우에 따라서 복소수나 다른 일반적인 환(ring)의 원소를 말하기도 한다.

[수직선]

수직선 은 일정간격으로 숫자가 표시되어 있는 직선이다. 1차원의 좌표계라고도 할 수 있다. 아래 그림은 -9에서 9까지의 정수를 표현하지만, 수직선은 양방향의 모든 실수를 포함하고 수직선 위의 모든 수의 집합은 실수의 집합으로 기호 R로 표시된다. 주로 음수를 포함한 간단한 덧셈과 뺄셈을 가르칠 때 사용된다. 숫자 0이 원점으로 표시되어 있으며, 원점을 기준으로 양수와 음수가 서로 대칭으로 표현된다.

[직교 좌표계]

직교 좌표계(直交 座標系, Rectangular coordinate system)는 수학에서 평면 또는 공간 안의 임의의 점을 나타내는 수의 짝이다. 보통 2차원 또는 3차원 좌표계를 많이 사용하나, 4차원 이상의 좌표계가 쓰이는 경우도 있다. 처음 직교 좌표계의 개념을 확립한 프랑스의 수학자 데카르트의 이름에서 따서 데카르트 좌표계(Cartesian coordinate system)라고 부르기도 한다. 오늘날 사용하는 2차원 데카르트 좌표계는 xy평면을 이루는 서로 직교하는 x축 (수평방향)과 y축(수직방향)으로 정의한다. x축과 y축이 만나는 점을 원점이라고 부른다.

[극좌표]

극좌표계(極座標系, 영어: polar coordinate system)란 평면 위의 위치를 각도와 거리를 이용하여 나타내는 2차원 좌표계를 말한다. 극좌표계는 두 점 사이의 관계가 각이나 거리로 쉽게 표현되는 경우에 가장 유용하다. 직교 좌표계에서는 삼각 함수로 복잡하게 나타나는 관계가 극좌표계에서는 간단하게 표현되는 경우가 많다. 2차원 좌표계이기 때문에 극좌표는 반지름 성분과 각 성분의 두 성분으로 결정된다. 주로 r로 나타내는 반지름 성분은 극(데카르트 좌표에서 원점)에서의 거리를 나타낸다. 주로 θ로 나타내는 각 성분은 0°(직교 좌표계에서 x축의 양의 방향에 해당)에서 반시계 방향으로 잰 각의 크기를 나타낸다.

각과 반지름의 개념은 이미 기원전에 사용되었다. 그리스의 천문학자 히파르코스(기원전 190~120년)가 여러 각마다 현의 길이를 나타내는 표를 만들었는데, 그가 항성의 위치를 나타내기 위해 극좌표를 사용하였다는 주장도 있다. 아르키메데스가 묘사한 아르키메데스 나선은 반지름 성분이 각에 따라 변하는 함수로 주어진다. 하지만 이들의 작업은 완성된 좌표계로 발전하지는 못하였다.

극좌표를 정식 좌표계로 도입한 예는 여러 번 있었다. 이에 대한 역사는 하버드 대학 교수인 줄리앤 로웰 쿨리지의 《극좌표의 근원》에 서술되어 있다. 17세기 중반에 그레구아르 생뱅상과 보나벤투라 카발리에리는 독립적으로 극좌표의 개념을 발표하였다. 생뱅상은 1625년에 작성해 1647년에 출판하였으며, 카발리에리는 1635년에 출판하였으며, 개정판은 1653년에 나왔다. 카발리에리는 아르키메데스 나선의 넓이를 구하는 문제를 풀기 위해 극좌표를 처음으로 사용하였다. 이에 따라 블레즈 파스칼은 포물선의 길이를 계산하기 위해 극좌표를 사용하였다.

아이작 뉴턴은 《유율법(Method of Fluxions)》(1671년 작성, 1736년 출판)에서 “일곱 번째 방법: 나선에 대하여”로 표현한 극좌표와 다른 아홉 가지 좌표계 사이의 변환을 분석하였다. 야콥 베르누이는 학술지 Acta Eruditorum(1691년)에서 점과 선을 이용한 좌표계를 사용하고 각각을 극과 극축이라 불렀다. 좌표는 극에서의 거리와 극축에서의 각으로 정의하였다. 베르누이의 연구는 곡선의 곡률 반지름을 찾는 데까지 확장되었다.

“극좌표”라는 용어는 이탈리아의 그레고리오 폰타나가 처음 정하였으며, 18세기의 이탈리아 학자들이 사용하였다. 영어로는 조지 피콕이 1816년 라크루아의 《미적분학(Differencial and Intergral Calculus)》을 번역하면서 처음 등장하였다. 알렉시클로드 클레로는 극좌표를 처음으로 3차원으로 확장하였으며, 오일러가 이를 더욱 발전시켰다.

극좌표계의 점은 반지름(r)과 각(θ)으로 표현된다. r는 극에서의 거리를 의미하고, θ는 0°(직교 좌표계의 x축 양의 방향에 해당)에서의 각도를 의미한다. 만약 r가 음의 값을 갖는다면, θ가 가리키는 방향과 반대방향으로 거리 |r|만큼 떨어진 점을 뜻한다.

예를 들어, 극좌표 (3, 60°)는 극에서 60° 방향으로 3단위만큼 떨어진 곳을 나타낸다. 극좌표 (−3, 240°)도 같은 위치에 그려진다.

데카르트 좌표와는 달리 극좌표에서는 하나의 점을 나타내는 방법이 무한히 많다. 여러 바퀴를 돌아 제자리에 돌아와도 위치는 변하지 않기 때문이다. 일반적으로 (r, θ)는

(r, θ ± n×360°) 또는 (−r, θ ± (2n+1)×180°)

로 표현될 수 있다(n은 임의의 정수).

(0, θ)는 일반적으로 극을 뜻하며, 반지름이 0이기 때문에 어떠한 각이든 상관이 없다. 점을 나타내는 방법을 하나로 제한할 때에는 r는 양수로, θ는 구간 [0, 360°) 또는 (−180°, 180°](라디안으로는 [0, 2π) 또는 (−π, π])의 수로 하는 것이 보통이다.

극좌표의 각은 라디안을 이용한 호도법으로도 표현할 수 있으며(2π rad = 360°), 이는 상황에 따라 다르다. 항행에서는 60분법으로 각을 나타내며, 물리 분야(특히 회전 역학)와 거의 모든 미적분에서는 호도법이 쓰인다.

[극좌표와 데카르트 좌표 사이의 변환]

극좌표와 데카르트 좌표 사이의 관계를 묘사하는 그림.r와 θ는 삼각함수를 이용해 데카르트 좌표의 x와 y로 변환할 수 있다.

[eqn: x=`r`cos` theta ,# y`=`r`sin` theta .]

데카르트 좌표의 x와 y는 극좌표의 r로 변환할 수 있다.

[eqn: r ^{2} =x ^{2} +y ^{2}] (피타고라스 정리 사용)

θ를 정의할 때는 다음과 같은 사항을 고려해야 한다.

극좌표를 이용하여 곡선을 나타내는 방정식을 극좌표 방정식 또는 극방정식이라고 한다. 보통은 r 를 θ 에 관한 함수로 정의한다. 곡선 위의 점은 (r(θ),θ)로 정의되며 함수 r 의 그래프로 생각할 수 있다. 극좌표 방정식 r(θ)의 형태로부터 대칭성을 추론할 수 있다. 만약 r(−θ) = r(θ) 이라면 곡선은 수평 반경(0° / 180°)에 대하여 대칭이 되며, r(π−θ) = r(θ)이라면 수직 반경(90° / 270°)에 대하여 대칭이 되며, r(θ−α) = r(θ)일 때는 α로 반시계 방향으로 돌린 곳에서 대칭이 된다.

극좌표계의 성질 덕에 많은 곡선이 간단한 극좌표 방정식으로 표현될 수 있으며, 이에 반해 데카르트 좌표로 표현되려면 난해한 곡선이 많이 있다. 극좌표 방정식으로 표현될 수 있는 곡선은 극좌 장미 곡선, 아르키메데스 나선, 달팽이꼴 곡선, 심장형 등이 있다.

아래에 서술된 내용에는 정의역과 치역의 범위의 제한은 없다.

[원의 극좌표 방정식]

r(θ) = 1 로 정의되는 원원의 중심이 (r 0, φ)이며 반지름이 a인 원의 일반적인 방정식은 다음과 같다.

[eqn: r ^{2} -2`r`r _{0} `cos( theta - psi )+r _{0} ^{2} =a ^{2} `]

위의 방정식은 상황에 따라 여러 방법으로 단순화될 수 있다.

[eqn: r( theta )=a`] (원의 중심이 극에 있고 반지름이 a인 경우)

[직선의 극좌표 방정식]

극을 통과하는 선은 다음과 같은 방정식으로 표현된다.

[eqn: theta = psi `]

위의 방정식에서 [eqn: psi]는 극을 통과하는 선의 기울기를 각도로 표현한 것이며([eqn: psi =arc`tan`m]), m은 데카르트 좌표에서의 기울기이다. 직선 [eqn: theta = psi `]에 수직이면서 점 [eqn: (r _{0} ,` psi )]를 지나는 직선은 [eqn: r(theta )=r _{0} `sec`( theta - psi )`]로 나타낼 수 있다.

[극좌표 장미 곡선]

수학에서 장미 곡선은 꽃잎을 지닌 꽃처럼 보이는 유명한 곡선이며, 다음과 같은 간단한 극좌표 방정식으로 표현될 수 있다.

[eqn: r( theta )=a`cos`(k theta + psi _{0} )`] ([eqn: psi _{0}]는 임의의 상수)

k가 홀수일 때는 k개의 꽃잎을 지니며, k가 짝수일 때는 2k개의 꽃잎을 지닌다. k가 정수가 아닐 때에는 꽃과 비슷한 모양이지만 이때는 꽃잎이 겹쳐 보이게 된다. 즉, 4n + 2개의 꽃잎을 지닌 장미 곡선을 그릴 수는 없다. 변수 a는 꽃잎의 길이를 의미한다.

[아르키메데스 나선]

아르키메데스 나선은 아르키메데스가 발견한 나선이며, 다음과 같은 간단한 극좌표 방정식으로 표현될 수 있다.

[eqn: r( theta )=a`+b theta `]

매개변수 a는 나선의 위치를 돌려 놓으며, b는 나선 사이의 폭을 조정한다. r(θ) = bθ일 경우, 각이 θ > 0일 때와 θ < 0일 때, 각각의 아르키메데스 소용돌이는 두 가지의 곡선을 그리며 이들은 극에서 매끄럽게 만난다. 90°/270°선(직교 좌표계의 y축과 같음)을 기준으로 좌우대칭상을 그리면 다른 쪽 곡선이 나온다. 이 곡선은 수학 관련 저술에서 원뿔 곡선 다음으로 등장하는 곡선이며 극좌표로 가장 잘 표현되는 예로 거론된다.

[원뿔 곡선]

초점 중 하나가 극에 있으며 다른 하나는 0°의 어딘가에 있는(원뿔 곡선의 주축이 극축에 있도록) 원뿔 곡선은 다음과 같이 정의된다.

[eqn: r= {l} over {1+e`cos` theta }]

e는 이심률이며 은 극이 아닌 초점에서 주축(major axis)에 수직이 되게 곡선까지 잰 거리(semi-latus rectum)이다. e > 1일 때 이 방정식은 쌍곡선이 되며, e = 1일 때는 포물선이 되고, e < 1일 때는 타원이 된다. e = 0일 때는 반지름 인 원이 그려진다.

[원통 좌표계]

원통좌표계 (cylindrical coordinate system)는 3차원 공간을 나타내기 위해, 평면 극좌표계에 평면에서부터의 높이 z (혹은 h)를 더해, (r,θ,z) 로 이루어지는 좌표계이다.

원통좌표계는 한 축을 중심으로 대칭성을 갖는 경우에 유용하다. 예를 들면, 반지름이 c인 무한히 긴 원통의 직교좌표계에서의 식은 x2 + y2 = c2 이지만, 원통좌표계에서는 간단히 r = c가 된다. 이런 이유로 원통좌표계(cylinder-ical coordinate)란 이름이 붙어있다.

3차원 공간의 점 P 는 [eqn: (r,` theta ,z)]로 표시된다. 이를 직교좌표계로 표시해 보면 다음과 같다.:

￭ r은 원점 O 에서 P의 xy평면으로의 사영 P'까지의 거리를 나타낸다. 다시 말하면, r은 z축에서 P까지의 거리이다.

￭ θ는 양의 x축 방향에서 반시계 방향으로 측정한 OP'까지의 각이다.

￭ z는 z와 같다.

z에 높이(height)란 의미를 주어 z대신 h를 사용한 (r,θ,h)란 표기도 자주 쓰인다.

원통좌표계의 경우는 좌표값에 따라 한 점을 여러 좌표가 가리키는 경우가 있으므로, 각 변수의 범위를 보통 아래와 같이 제한한다.

[eqn: r GEQ 0]

[eqn: 0` LEQ theta ` LEQ 2 pi]

￭ 원통좌표계에서 직교좌표계로의 변환

[eqn: x=`r`cos` theta `]

[eqn: y=`r`sin` theta `]

[eqn: z=z`]

￭ 직교좌표계에서 원통좌표계로의 변환

[eqn: r=` sqrt {x ^{2} +y ^{2}}]

[eqn: theta =`arc`tan` {y} over {x}]

[eqn: z``=`z`]

[구면 좌표계]

구면좌표계 (球面座標係, spherical coordinate system)는 3차원 공간 상의 점들을 나타내는 좌표계의 하나로, 보통 (r,θ,φ)로 나타낸다. 원점에서의 거리 r은 0부터 까지, z축에서의 각도 θ는 0부터 π까지, z축을 축으로 x축에서부터 돌아간 각 φ는 0부터 2π까지의 값을 갖는 것으로 제한하기도 한다. θ는 위도로, φ는 경도로 표현되는 경우도 있다.

이 세 수치를 보고, 다음과 같은 방법으로 공간의 점을 찾을 수 있다.: 원점 (0,0,0)에서 r만큼 z축을 따라 간다. 그 지점에서 xz 평면 안에 있으면서 z축에서부터 θ만큼 회전한다. 이 xz 평면 전체를 z축을 축으로 φ만큼 반 시계방향(+x축에서 +y축 방향으로)으로 돌린다.

구면좌표계라는 이름은 이 좌표계에서 r = 1이 단위구(單位球)를 표현하기 때문에 붙여졌다.

구면좌표계와 원통좌표계는 평면 극좌표계를 공간으로 확장한 것이며, 구면좌표계는 구대칭이 나타나는 문제에서 유용하게 쓰인다. 예를 들어, 수소원자와 같이 구대칭이 있는 경유에 슈뢰딩거 방정식을 풀 때 구면좌표계를 사용한다.

아래 변환식을 통해 직교좌표계와 변환할 수 있지만, 변환식에 등장하는 삼각함수의 역함수가 일의적이지 않기 때문에, 공간상의 각 점마다 하나의 좌표만 대응하는 직교좌표계와는 달리, 구면좌표계는 (각의 범위를 제한하지 않으면) 한 점을 나타내는 표현이 여러 가지 일 수 있다. 예를 들어, (1, 0°, 0°), (1, 0°, 45°), 과 (-1, 180°, 270°) 는 모두 같은 점을 나타낸다.

좌표 (r,θ,φ)는 다음과 같이 정의 된다. 주어진 점을 P라 하자.

[eqn: r] : 원점으로 부터 P까지의 거리.

[eqn: theta] : z축의 양의 방향으로부터 원점과 P가 이루는 직선까지의 각

[eqn: phi] : 양의 x축으로부터 원점과 P가 이루는 직선을 xy평면에 투영시킨 직선까지의 각.

구면좌표계의 경우는 좌표값에 따라 한 점을 여러 좌표가 가리키는 경우가 있으므로, 각 변수의 범위를 보통 아래와 같이 제한한다.

[eqn: r GEQ 0]

[eqn: 0` LEQ theta ` LEQ pi]

[eqn: 0 LEQ phi LEQ 2 pi]

￭ 구면좌표계에서 직교좌표계로의 변환

[eqn: x=`r`sin` theta `cos` phi]

[eqn: y=`r`sin` theta `sin` phi]

[eqn: z=`r`cos` theta `]

￭ 직교좌표계에서 구면좌표계로의 변환

[eqn: r=` sqrt {x ^{2} +y ^{2} +z ^{2}}]

[eqn: theta =`arc`cos` {z} over {r}]

[eqn: phi =`arc`tan` {y} over {x} `]

[지리 좌표계]

지리 좌표계(地理座標系)는 지구 위의 모든 지역이 지구의 회전축과 나란한 구면 좌표계의 세 좌표값으로 지정되도록 도와준다. 구면에서 좌표를 매기려면 위도와 경도를 쓴다. 북극을 지나는 대원 하나를 기준으로 잡는데 영국의 그리니치 천문대를 위도 0도로 잡는다. 그 대원에서 지축만큼 얼마나 회전했는가를 경도라 한다. 단위는 각도의 단위를 쓴다. 이 대원 위의 적도를 기준으로 한 각도를 위도라 한다. 북극 쪽을 북위, 남극 쪽을 남위라고 한다. 따라서 북극은 북위 90도, 남극은 남위 90도이다.

5.5 프레임

좌표계는 기저 벡터들로 구성되는 것을 말한다. 그러나 이러한 좌표계만으로는 주어진 물체의 위치를 나타낼 때 혼돈이 발생할 수 있는데 기준점이 없기 때문이다. 그러므로 기준점(reference point)과 좌표계를 포함한 경우를 프레임이라 칭한다. 벡터와 점은 다음과 같이 표현됨을 알 수 있다.

￭ 벡터

￭ 점

주어진 벡터 W를 기존의 기저 벡터 [eqn: v _{1} ,`v _{2} ,v _{3}]로 표현한 것을 새로운 기저 벡터  [eqn: u _{1} ,`u _{2} ,u _{3}]으로 표현하고자 한다면 서로 간에는 어떤 관계가 존재할까? [eqn: u _{1} ,`u _{2} ,u _{3}]도 3차원 공간에 속하는 벡터이므로 기존의 기저로 선형조합으로 다음과 같이 표현할 수 있다.

[eqn: w= alpha _{1} v _{1} + alpha _{2} v _{2} + alpha _{3} v _{3}]

이 식을 행렬로 표현하면 다음과 같다.

그러면 W는 다음과 같이 표현된다.

그러므로 그들의 관계는 다음과 같다.

[eqn: [ alpha _{1} ,` alpha _{2} ,` alpha _{3} ]`=`[ beta _{1} ,` beta _{2} ,` beta _{3} ] bmatrix{gamma _{11}&gamma _{12}&gamma _{13}#gamma _{21}&gamma _{22}&gamma _{23}#gamma _{31}&gamma _{32}&gamma _{33}}]

벡터들의 이러한 변환 3X3 행렬로 표현이 가능함을 학습하였다. 자 이제 3차원 공간에 있는 점을 새로운 위치로 변환을 하려고 한다면 과연  3X3 행렬로 표현 가능할까? 이에 대한 답은 불가능하다는 것이다. 왜냐하면 행렬로 표현한다면 상수항을 담을 장소가 없다는 것이다.

이를 해결하기 위하여 우선 2차원 상에 있는 점을 다음과 같이 생각해 보도록 하자. 3차원 공간에 xy 평면이 존재한다. 그리고 z=1인 xy평면에 평행한 평면이 함께 존재함을 알 수 있다. 그리고 두 평면 간에는 일대일 대응관계가 성립함을 알 수 있다. 그러므로 2차원의 점 (x, y)는 이제부터는 (x, y, 1)로 생각하기로 하자. 그러면 2차원 간의 변환은 3X3 행렬로 표현이 가능하게 된다. 이러한 원리를 3차원으로 확장하여 보자. 4차원 공간에 w=0인 3차원 평면이 존재하며, 또한 w=1인 3차원 평면이 함께 존재한다. 그리고 두 개의 고차원 평면 간에는 일대일 대응관계가 성립하며 따라서 3차원의 점 (x, y, z)를 (x, y, z, 1)로 대치해서 표현할 수 있다. 따라서 3차원의 하나의 점은 다음과 같이 표현될 수 있음을 확인할 수 있다.

3차원에 있는 벡터는 다음과 같이 표현된다.

그러므로 프레임 간의 변환은 다음과 같은 과정을 거쳐 이루어질 수 있음을 확인할 수 있다.

5.6 어파인 변환

두 개의 벡터공간 사이의 어파인 변환은 선형변환과 평행이동을 수행하게 하는 다음과 같은 형태의 변환을 말한다.

[eqn: x````` MAPSTO ````Ax`+`b]

이때 [eqn: A]는 선형변환을 나타내는 행렬이며 [eqn: b]는 위치이동을 의미하는 벡터이다. 그러므로 이러한 어파인 변환은 다음과 같은 특성을 가지고 있다.

￭ 직선을 변환하더라도 직선으로 유지된다.

￭ 평행한 두 직선은 변환을 한 이후에도 평행하다.

￭ 두 직선에 의해서 생성된 각은 변환을 하여야 유지된다.

따라서 이러한 변환의 일반식은 다음과 같은 동형좌표계 행렬로 표현가능하다.

5.6.1 2차원 평행이동(Translation)

물체를 평행 이동하는 경우에 해당된다.

[eqn: bmatrix{x prime #y prime } = bmatrix{x#y} + bmatrix{d _{x}#d _{y}}]

[eqn: bmatrix{x prime #y prime #1} = bmatrix{1&0&d _{x}#0&1&d _{y}#0&0&1} bmatrix{x#y#1}]

5.6.2 2차원 회전변환(Rotation)

2차원 회전운동은 2차원의 원점을 중심으로 반시계방향으로 각도 [eqn: theta]만큼의 회전을 의미한다.

[eqn: bmatrix{x prime #y prime #1} = bmatrix{cos` theta ````&-sin theta `&0#sin theta &cos` theta &0#0&0&1} bmatrix{x#y#1}]

5.6.3 2차원 크기변환(Scaling)

2차원 크기운동은 2차원의 원점을 중심으로 확대 및 축소하는 변환이다.

[eqn: bmatrix{x prime #y prime } = bmatrix{S _{x``} x#S _{y} y}]

[eqn: bmatrix{x prime #y prime #1} = bmatrix{S _{x} ```&0`&0#0&S _{y}&0#0&0&1} bmatrix{x#y#1}]

5.6.4 3차원 평행이동(Translation)

5.6.5 3차원 크기변환(Scaling)

5.6.6 3차원 회전변환(Rotation)

[z축 회전]

z축 회전에서는 가로축이 x축이며, 세로축이 y축이 된다.

(가로축의 좌표)‘  = [eqn: cos` theta] x (가로축의 좌표) - [eqn: sin` theta] x (세로축의 좌표)

(세로축의 좌표)‘  = [eqn: sin` theta] x (가로축의 좌표) + [eqn: cos` theta] x (세로축의 좌표)

이 관계식을 사용하면 x축 회전과 y축 회전 관계식을 유도할 수 있다.

[x축 회전]

x축 회전에서는 가로축이 y축이며, 세로축이 z축이 된다.

(x)‘  = (x)

(y)‘  = [eqn: cos` theta] x (y) - [eqn: sin` theta] x (z)

(z)‘  = [eqn: sin` theta] x (y) + [eqn: cos` theta] x (z)

[eqn: x prime `=1```x`+````0```y`+`0```z`+0```1# y prime `=0```x`+`cos theta ```y``-sin` theta ```z`+0```1# z prime `=0```x`+`sin theta ```y``+cos` theta ```z`+0```1# 1 prime `=`0```x`+````0```y``+``0``z```+0```1]

[y축 회전]

y축 회전에서는 가로축이 z축이며, 세로축이 x축이 된다.

(y)‘  = (y)

(z)‘  = [eqn: cos` theta] x (z) - [eqn: sin` theta] x (x)

(x)‘  = [eqn: sin` theta] x (z) + [eqn: cos` theta] x (x)

[eqn: x prime `=`cos theta ```x`+````0```y`+sin` theta ````z`+0```1# y prime `=0```x`+1```y``+`0```z`+0```1# z prime `=-sin theta ```x`+``0``y``+cos` theta ```z`+0```1# 1 prime `=`0```x`+````0```y``+``0``z```+0```1]

5.6.7 대칭변환(Reflection)

￭  xy 평면에 대한 대칭변환 : [eqn: (x,`y,`z)``` -> ```(x,`y,`-z)]

[eqn: bmatrix{1&0&0&0#0&1&0&0#0&0&-1&0#0&0&0&1}]

￭  yz 평면에 대한 대칭변환 : [eqn: (x,`y,`z)``` -> ```(-x,`y,`z)]

[eqn: bmatrix{-1&0&0&0#0&1&0&0#0&0&1&0#0&0&0&1}]

￭  zx 평면에 대한 대칭변환 : [eqn: (x,`y,`z)``` -> ```(x,`-y,`z)]

[eqn: bmatrix{1&0&0&0#0&-1&0&0#0&0&1&0#0&0&0&1}]

5.6.8 찌그러짐 변환(Shearing)

￭  z축 찌그러짐 :

5.6.9 합성변환

￭  z축 평행한 직선에 대한 회전

￭  합성 과정

￭  관계식

5.6.10 일반 회전변환

￭  z축, y축, x축 순서로 [eqn: alpha ,` beta ,` gamma] 각도씩 회전

￭  평행이동변환, 크기변환, 회전변환이 함께 수행되는 경우의 순서

= 크기변환 먼저하고, 회전변환, 마지막으로 위치이동변환을 수행함

5.6.11 임의의 회전변환

￭ 두 점[eqn: P(x _{1} ,`y _{1} ,`z _{1} )], [eqn: Q(x _{2} ,`y _{2} ,`z _{2} )]에 의해서 만들어지는 직선을 중심으로 회전하는 변환

① 점[eqn: P(x _{1} ,`y _{1} ,`z _{1} )]이 원점이 되도록 한다.

② 직선의 방향벡터가 xz 평면에 놓이도록 회전한다.

③ 회전된 벡터가 z축이 되도록 회전한다.

④ 원하는 회전을 적용시킨다.

⑤ 회전축이 z축으로부터 xz평면에 있도록 역회전을 한다.

⑥ 경도값에 대한 역회전을 수행한다.

⑦ 원점에 있던 기준점을 [eqn: P(x _{1} ,`y _{1} ,`z _{1} )]로 원상회복한다.