티스토리 뷰
라는 곡선이 있다고 한다면 이 곡선을 만큼 회전했을 때 그 곡선의 방정식을 구하는 문제를 생각해 볼 수 있다. 다시 말하면 아래의 그림과 같이 회전한 곡선의 방정식을 구하고자 하는 것이다.
괜히 사람 괴롭힐려고 만든 복잡한 문제 같지만 사실 이 기술은 공학에서 널리 쓰인다. 특히나 로보틱스 분야는 회전에서 시작해서 회전으로 끝난다고 할 수 있다. 실제 응용에서는 위의 그림처럼 2차원 보다는 3차원 좌표 공간 상의 회전이 훨씬 더 많이 다뤄지고 회전 변화에 더해서 위치 이동도 일어난다. 또한 컴퓨터에서 이미지를 회전할 때도 저러한 방식으로 구현이된다. 일반적으로 공학에서 좌표계를 변환하거나 회전할 때는 회전 행렬(Rotation matrix)이라 부르는 행렬식을 사용하여 푼다. 하지만 여기서는 일단 기초적인 삼각함수와 다항식만을 가지고 풀어 보고자 한다. 사실 회전 행렬은 계산 과정을 단순화한 기술일 뿐 기본적인 개념에서는 이 글에서 구하는 해법과는 차이가 없다.
이 문제를 풀기 위해 일단 원래의 곡선 의 한 점만을 고려해 보자. x=t라고 하면 원래의 좌표는 가 된다.
알려져 있는 값 t의 항으로 만큼 회전된 점 T(x, y)를 구하는 것이 목표이다. 점 T'와 T에 집중하기 위해 나머지 그래프를 삭제한다.
위의 그림에서 직관적으로 바로 눈에는 안 들어오지만 파랑색 삼각형과 노랑색 삼각형은 크기만 다를 뿐 닮은 꼴 삼각형이다. 이 그림에서는 변 c와 변 a의 길이가 일치하는 것처럼 보이지만 점 T가 더 많이 회전하면 a와 c는 길이가 확연하게 다르다. 아래와 같이 더 많이 회전된 점 T를 다시 그려보면
점 T의 X 값은 그림에서 볼 수 있듯이 a - c 의 값이 된다. y의 값은 b + d의 값이 된다.
이제 a, b, c, d 값을 구한다. 파랑색과 노랑색 두 개의 직각 삼각형을 다시 그리면 아래 그림과 같다.
삼각함수 정의에 따라 아래와 같은 식을 얻고 정리할 수 있다.
이제 이렇게 얻은 a, b, c, d의 값을 x와 y의 식에 대입하자.
이 식은 단순히 의 식에서 뿐만 아니라 원점을 중심으로 회전하는 모든 곡선에 적용할 수 있다. 위의 식을 좀 더 일반화 하기 위해 x가 t일 때의 값을 x' 이라 하고 그 t의 함수 값 f(x')을 y'이라 하면
으로 나타낼 수 있다.
이제 우리는 알고있는 값 x', y' 에서 회전된 값 x와 y를 구할 수 있다. 이 x와 y의 식에서 x', y'의 계수만을 모으면 2차원 회전 행렬이 된다. 선형 대수에서는 보통 이 행렬을 벡터의 투영으로부터 유도하지만 결과는 다르지 않다.
이 회전 행렬부터 회전된 점 T(x,y)의 값은 아래와 같은 행렬 연산을 거쳐 구한다.
표현 방식이 다를뿐 위의 식과 같다. 하지만 이런 회전 행렬은 공간이 3차원으로 확장되고 또한 위치 이동까지 일어나는 운동의 경로를 계산할 때 편리한 계산 수단을 제공하기 때문에 로봇 공학에서 가장 많이 사용되는 수학 기술 중 하나이다.
'과학' 카테고리의 다른 글
복소수 (Complex number) (2)– Cardano formular (0) | 2017.10.10 |
---|---|
복소수 (Complex number) (1)– The Rational root theorem (0) | 2017.10.09 |
e 의 역사와 ln x가 자연로그라 이름 붙여진 이유 (0) | 2017.09.23 |
파이 (π) 의 아르키메데스 계산법과 증명 (0) | 2017.09.22 |
무리수의 발견과 증명 (0) | 2017.09.12 |