삼각함수와 회전 변환

사용자 삽입 이미지
요 그림이 고등학교 수학 II에서 배우는 진정한 묘미 중 하나입니다.

(0, 0), (x, 0), (0, y)의 직각삼각형을 원점을 축으로 θ만큼 돌리니까 원점은 그대로고 밑변은 (x cosθ, x sinθ)가 됩니다.
그런데 밑변보다 y만치 위로 떠 있던 점은, 회전 과정에서 가로로는 높이 y의 sin값만치 “감소”(왼쪽으로)하고, 세로로는 cos값만치 증가합니다.

그러니 (x cosθ - y sinθ, x sinθ + y cosθ)의 형태가 되는데, 이는 원래 점인 x, y에 대한 일차변환으로 일반화할 수 있습니다. 결국

(cosθ, -sinθ)
(sinθ,  cosθ)


가 됩니다. “꼬마신 신꼬”라고 외우는 그 유명한 회전변환 행렬입니다.
이걸 모르면 특히 컴퓨터그래픽에서 현란한 벡터 조작이나 3차원 그래픽 같은 건 상상도 할 수 없습니다.

이 행렬식의 값은 1 (임의의 각도의 cos 제곱과 sin 제곱의 합은?), 따라서 이렇게 도형을 일차변환 시키더라도 원래 도형의 넓이를 바꾸지 않는다는 걸 알 수 있습니다. 역행렬은 sin 쪽 부호만 맞바꾸면 됩니다. 기하학적으로, 상식적으로, 역행렬 공식에 맞춰 생각해도 전부 명확합니다.

공통수학에서는 삼각함수란 게 있다는 것, 그리고 한 삼각형의 세 변과 세 각이 주어졌을 때 삼각함수가 이런 특성을 갖는다는 것을 배웁니다. 기하학인지 대수학인지 감을 못 잡는 이 괴상한 함수는 흥미보다는 학생들에게 어마어마한 암기를 강요하면서 악몽 같은 기억으로 남아 있을 것 같습니다.

그러다가 수학 II로 오면서 단순히 삼각형과 관련된 것이 아닌 삼각함수 자체의 특성을 더 깊게 공부하게 됩니다. 이 회전행렬은 삼각함수의 덧셈 정리를 유도시킵니다.
특히, 저 행렬에다가 회전 행렬과 같은 각인 (cosθ, sinθ) 열벡터를 뒤에 곱해 주면 cosθ와 sinθ 값으로부터 cos 2θ, sin 2θ의 값을 얻을 수 있게 되고, 그 값으로는 아예 cos²θ, sin²θ의 값도 구할 수 있게 됩니다.

  cos 2θ = cos²θ - sin²θ,  cos²θ = (cos 2θ + 1)/2
  sin 2θ = 2 cosθ sinθ

공을 공중을 향해 몇 도로 던져야 가장 멀리 날아가는지를 삼각함수를 계수로 하는 이차방정식으로 풀어 보면, 결국 cosθ sinθ 값(곱)을 최대로 하는 θ 값을 구하는 문제로 귀착됩니다. 이는 sin 2θ의 값을 최대화하는 것과 같으므로 θ는 45도임이 명확해집니다.

sin과는 달리 cos은 양 함수의 제곱의 합으로 바뀐다는 점도 흥미롭습니다. 2θ보다 더 일반적인 α와 β의 경우를 생각해 보면 더욱 흥미로운 결과가 나오는데요, 덧셈 대신 두 각의 차이를 나타내는 뺄셈만을 예로 들어 보겠습니다.

  cos(α-β) = cosα cosβ + sinα sinβ
  sin(α-β) = sinα cosβ - cosα sinβ

cos을 보면 이는 정확하게 벡터 내적과 관련이 있음을 알 수 있습니다. x, y 성분인 벡터를 거리와 각도로 바꿔서 표현해 보면, Ax·Bx + Ay·By가 왜 |A||B| cosθ인지가 명확해집니다. 공통수학 때 배운 코사인 제 2법칙과도 이미 관련이 있고요.
cos은 90도일 때 0이 되기 때문에 두 벡터가 기하학적으로 직각인지 판단할 때 유용히 쓰일 수 있습니다. 부호가 갈리는 기점이 직각이죠. 시계에서 3시를 향하고 있는 벡터가 있다면, 5시나 1시를 향하는 벡터와는 양수이고, 7시나 11시 벡터와는 음수가 되는 셈입니다.

그럼 sin은 무슨 관련이 있는 걸까요? sin은 90도가 아닌 0도를 기점으로 부호가 바뀝니다. 3시를 향하는 벡터 기준으로 5시나 7시를 향하는 벡터의 부호가 서로 같고, 1시, 11시 벡터와는 서로 다릅니다.
정보 올림피아드 대비하여 기하 알고리즘 공부할 때, 특히 convex hull 같은 거 구할 때 단골로 등장하는 게 세 점이 시계 방향인지 반시계 방향인지 판단하는 공식인데요, 그게 바로 sin과 관련이 있습니다. Bx·Ay - By·Ax입니다. 이 식은 두 벡터가 일직선상에 있을 때 값이 0이 됩니다.

그러나 cos 계열인 벡터의 내적은 sin과는 달리 3차원 이상에서도 일관되게 구하는 공식이 있고 임의의 차원에서도 의미를 갖는다는 점에서 더욱 의미 깊다고 할 수 있습니다. 시계 방향 여부는 2차원 평면에서만 의미를 가지며, sin과 관련이 있는 벡터의 외적 역시 3차원 공간에서만 정의됩니다.

이렇게 한바탕 수학 II 초· 중반에서 홍역을 치른 삼각함수는 나중에 아예 sin(x)/x의 0 극한을 구하고 삼각함수를 미· 적분함으로써 더욱 해석학적으로 접근하게 됩니다. 고등학교 수학 교육 테크트리에서 맨 마지막으로 지어지는 최고급 건물 내지 유닛은 단연 미적분이라 할 수 있습니다.

Posted by 사무엘

2011/11/02 19:31 2011/11/02 19:31
, , , , ,
Response
No Trackback , 15 Comments
RSS :
http://moogi.new21.org/tc/rss/response/592

Trackback URL : http://moogi.new21.org/tc/trackback/592

Comments List

  1. 김 기윤 2011/11/02 19:59 # M/D Reply Permalink

    최근에 탄막을 프로그래밍하다보니, cos 과 sin 함수하고 정말 친하게 지내게 되었습니다.

    탄막의 경우 원형으로 펼쳐지는 패턴이 엄청나게 많고 그러다보니 삼각함수가 빠질래야 빠질 수가 없게 되더군요.

    경우에 따라서는 p(r, θ) 좌표계를 사용할까 까지 고민까지 할 정도였으니까요.


    ..여담으로 그런식으로 직교좌표와 극좌표에 대해서 고민하고 있던 덕분에, 대학교 미분과 적분 II 과정에서 등장하는 직교좌표, 극좌표, 원주좌표, 구면좌표는 별 어려움 없이 이해할 수 있었습니다.(...)

    1. 사무엘 2011/11/03 04:15 # M/D Permalink

      아아.. 그런 움직임을 일일이 다 코딩으로 구현해 봤다면 정말 대단한 내공을 쌓으셨겠습니다.
      제가 삼각함수를 배운 보람을 가장 확실하게 느낀 건, 두말 할 나위도 없이 3차원 그래픽 시연 프로그램을 만들면서였죠. http://moogi.new21.org/src14.htm 렌더링 부분뿐만 아니라 3차원 프랙탈 나무를 만들 때도 회전 변환 행렬이 쓰입니다.

  2. 특백 2011/11/02 20:01 # M/D Reply Permalink

    수학 글 오랜만입니다! ㄳㄳㄳ

    벡터 하면 일단 처음으로 가장 쉽고 무난하게 적용할 수 있는 게 복소평면이지요.
    일반 좌표평면과는 달리 벡터 자체를 수로 나타낼 수 있고, 절댓값과 각도를 무난하게 사용할 수도 있고.

    근데 복소 벡터의 문제점 중 하나가.. 실수와 허수 외에 3차원으로 적용할 수 있는 다른 수가 과연 존재할까 하는 겁니다. x^3=1을 만족하는 두 허수도 사실 i로 표현가능하고.

    1. 사무엘 2011/11/03 04:15 # M/D Permalink

      재미있는 떡밥 낚으셨음?
      일단 우리의 위대하신 '대수학의 기본 정리'가 있으니, 제곱이 아니라 100제곱을 해서 -1이 되는 수라도 복소수 범위에서 모두 표현이 가능합니다. 제곱해서 -1이 되는 수라는 황당무계한 개념을 하나 상상한 것만으로 인간의 사고 체계가 그 정도로까지 확장된 것이죠.

      다만, 사원수(quaternion)· 8원수 같은 수도 있긴 해요. 공학에서 쓰이는 특정 개념이라든가 기하학적인 의미를 수월하게 표현할 수 있어서 만들어진 수인데, 행렬처럼 교환 법칙이 성립하지 않는 괴상한 존재입니다. 이건 형제도 모를 것 같지는 않습니다만, 4원수를 구성하는 나머지 허수부의 상수는 i^2 = j^2= k^2 = ijk = -1 이라니 흠좀무이죠.

    2. 특백 2011/11/03 11:27 # M/D Permalink

      4원수는 물론 들어보았지요. 처음에는 4차원 표기용이었으나 지금은 3차원 + time 정도로 쓰고 있다고 교재에서 얼핏 들었습니다.
      교환법칙이 성립하지 않는다는 건 큐브에서 x layer, y layer 회전과 y,x회전이 같지 않은 것으로 표현할 수 있겠···· (도움도 안 되는 큐브따위 집어치워)

      KMO 여름학교에서 가장 감명깊게 들었던 게 복소기하입니다. 복소평면에다 좌표축을 대입함으로서(대부분의 문제가 평면기하니까) 계산을 몇 배는 줄여주고 벡터도 모두 그렇게 표시합니다.

      ※sinx/x는 걍 로피탈의 정리 ㄱㄱ

    3. 주의사신 2011/11/03 17:11 # M/D Permalink

      특백에게

      1. sinx/x를 그냥 로피탈의 정리만 이용해서 넘어가지 마시고, 증명을 이해하고, 그 증명을 보지 않고 할 수 있도록 노력하시기 바랍니다. 수학에서 증명은 매우 중요합니다.

      (sinx - 0) / (x - 0) 으로 볼 수도 있기 때문에 이런 사고 방식이 많은 문제를 푸는데 도움이 됬던 것으로 기억합니다.


      2. 로피탈로 안 되는 문제도 많습니다. 로피탈에만 의존하면 로피탈이 안 되는 문제를 풀 수 없습니다. 로피탈의 정리를 쓸 수 있는 조건을 항상 명심하시고, 조금 돌아가는 길이라도 로피탈의 정리 없이 가는 것 역시 연습하시기 바랍니다.

    4. 특백 2011/11/03 22:56 # M/D Permalink

      주의사신님께

      1. 네, 저도 모던한 증명 방법은 알고 있지요. 참고로 전 샌드위치법을 사용합니다.

      2. 저는 걍 넘어가려고 한 적은 꿈에도 하지 않았습니다. 로피탈의 정리가 안 되는 케이스가 많다는 건 숙지하고 있지요. 다만 이 경우는 도움되는 공식 하나가 있다는 것을 알고, 그것을 쓰는 것을 아예 부인할 수는 없겠습니다.

  3. 소범준 2011/11/03 00:00 # M/D Reply Permalink

    아놔~ 이거 작년에 수능본다고 머리 빡씨게 배웠던 거~ 아주 ㄳㄳ 합니다 ^^
    그러고보니 다시 한 번 복습하고 가는 효과가 있네요?^^
    "꼬마신 신꼬"는 얼핏 들은 것 같은데, 그런 정리 때문에 생긴건가요...

    그리고 참고로 제가 배운 교육 과정에서는 이게 수 II에서 나오지 않고, 심화 미적에서 나왔습니다.
    그나마 제 후배들의 교육과정은 또 먹튀~ 수준이겠지만.

    아~ 하긴 1년전의 수능날이 다시 되돌아오는 느낌인 것 같습니다.
    며칠 안 있으면 후배들의 수능날도 있으니..

    1. 사무엘 2011/11/03 04:15 # M/D Permalink

      이제 수능 며칠 안 남았지요.
      이런 어려운 수학 글은 댓글이 하나도 안 달려도 이상할 게 없는데,
      6시간 이내에 철도나 성경 글보다도 댓글이 많이-_- 달린 걸 보면 여기 오는 분들의 전반적인 성향과 적성이 짐작이 가고도 남습니다.
      아무래도, 학교 교육과정이 다루는 내용이다 보니 난이도에 비해 덕-_-력은 그리 높지 않는 컨텐츠여서 그런가 보네요. ㅋㅋㅋㅋ

  4. 주의사신 2011/11/03 17:13 # M/D Reply Permalink

    cos(a - b)를 교과서에는 코사인 제2법칙을 이용해서 증명합니다만, 스승님께서 한 번 미분과 적분 책에 있는 내용들을 벡터의 관점에서 보라 하셨던 기억이 나네요. cos(a-b)가 전형적으로 그런 경우였지요.

    1. 사무엘 2011/11/03 22:46 # M/D Permalink

      “같은 이론이라 해도 이를 다루는 석학들에 따라 시각을 달리 하고 다루는 요령 및 기법을 달리한다는 것은 학문의 희열을 느끼게 해주었으며, 이 희열은 주말 공부를 위한 충분한 에너지원이 되었다.” ( http://systemclub.co.kr/board/bbs/board.php?bo_table=int01 지 만원 박사의 회고록)

      저는 그런 희열을 그다지 느끼지 못한 채 학창 시절을 보내서 아쉽긴 합니다.
      (그래도 학창 시절에 날개셋 1.0 만들었으니 다른 과업은 이뤄냈죠-_-)

  5. 김재주 2011/11/03 18:49 # M/D Reply Permalink

    코사인과 싸인 공식은 외워도 좀 안 쓰다보면 기억이 안 나더군요
    그래서 전 e^ix가 cosx+i*sinx라는걸 이용해서 그때그때..

    1. 사무엘 2011/11/03 22:55 # M/D Permalink

      원문에서 언급되어 있듯, 삼각함수는 공통수학 시절부터 이미 학생들을 무지막지하게 괴롭히는 주범입니다.
      수학 교사나 전공자나 골수 수학 덕후 천재가 아닌 이상, 그걸 어떻게 다 기억하겠습니까. ㅋㅋ

      그나저나 댓글들을 읽어보니, 여기 글을 남기는 분들의 수준에 경이로움까지 느껴집니다. 이 사이트는 글 올리는 사람도 똘끼가 충만하지만, 오는 사람들도 보-_-통은 아닌 것 같습니다. ^^;;

  6. 다물 2011/11/04 17:04 # M/D Reply Permalink

    고1때까지 어느정도 하던 수학을 고2때 미적분 공식 외우기 귀찮다고 하다가 암울로 떨어졌죠,
    그리고 대학교 가 보니 쓰이는건 미적분밖에 없더라는

    무조건 외우라고만 하지 말고 왜 필요한지 그리고 어디에 쓰이는지 알려줬다면 지금처럼은 안했을거 같은데 ㅜ.ㅜ

    1. 사무엘 2011/11/06 00:57 # M/D Permalink

      그게 모든 과목에서 주입식 교육의 폐단이기도 합니다. =_=

Leave a comment
« Previous : 1 : ... 1621 : 1622 : 1623 : 1624 : 1625 : 1626 : 1627 : 1628 : 1629 : ... 2131 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/03   »
          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
31            

Site Stats

Total hits:
2632769
Today:
1321
Yesterday:
1314