#1 내용에서 회전 행렬이 어떻게 동작 하는지 내용에 포커스를 두었다.
그래서 좌표계의 변환을 통하여 회전 행렬을 구한다고 말을 했다.
회전 행렬에서 내용을, 공식을 유도를 해 볼것이다.

제일 먼저 식을 보았을 때 (cos, sin) 이 1사분면에서 하나의 점으로 표현이 가능 하다는 것을 알아야 한다.
1사분면에 하나의 점이 있다는 것은 X축 기준으로 특정 각도 만큼 벌려져 있다는 의미로 볼수 있으며,
우리들은 해당 각도를 알면 0점 부터 특정 위치에 있는 점의 방향을 알 수 있다.
그리고 방향을 알 수 있다면, 방향 * 거리 를 통하여 특정 위치 또한 알 수 있다.
만약 X축 기준으로 30도 만큼 벌려져 있고, (방향을 계산)
해당 방향으로 Dist(거리)를 알고 있다면 (cos * dist, sin * dist) 로 표현이 가능 하다.
cos에는 아랫변 / 빗변 이고, 해당 빗변이 dist, 즉 점과 0점과의 거리를 의미한다.
그래서 cos * dist, sin * dist 하는 것은 곧 (x, y)의 좌표를 표현 하는것과 동일어 라고 볼 수 있다.

아까에서는 X축 기준으로 화전을 잔행 하였는데, 이번에는 Y축 방향으로 이동을 하였다.
그래서 코사인, 사인의 방향이 살짝 다르게 계산을 해야한다.
X축에서는 cos이 x축 방향으로 값에 영향을 주었지만 Y축으로 옮겨서 보게 될 경우 cos이 y의 값에 영향을 주고 있다.
그리고 x의 값에 영향을 주는 sin은 +의 방향이 아니라 -의 방향으로 값이 커져야 하므로 -sin이 되었다.
그래서 Y축의 값의 변환은 (-sin, cos)이 되는 것이다.
그래서 X의 기저벡터 값을 바꾸는 식은 (cos, sin) 이고, Y의 기저벡터를 바꾸는 식은 (-sin, cos) 이다.
다음 증명에서는 회전 행렬로 바꿔 볼 것이다.
'차장님의 이야기' 카테고리의 다른 글
C# async 함수를 이용 (0) | 2020.05.16 |
---|---|
회전행렬 증명 #3 (0) | 2020.05.15 |
회전 행렬의 증명 #1 (0) | 2020.05.14 |
C++에서 OS 종류, 컴파일러 종류, 아키텍처 종류 알아 내는법. (0) | 2020.05.06 |
#5 기존까지 한 내용 요약 및 상태. (0) | 2020.05.02 |