1. 평행사변형의 넓이, 평행육면체의 부피

2*2 크기의
(a b)
(c d)

행렬이 있을 때, 이 행렬의 행렬식이라고 불리는 D 값은 a*d - b*c로 정의된다. ax+by = 얼마, cx+dy = 얼마 요런 방정식의 근을 구하는 식을 세워 보면 행렬식은 x, y의 분모에 들어가 있다. 그러니 이 값이 0이면 근은 부정이나 불능으로 빠지게 된다.

한편, 행렬식에는 기하학적인 의미가 있다. 원점에서 (a,b)를 잇는 선분이 가로변, 원점에서 (c,d)를 잇는 선분이 세로변인 평행사변형의 넓이를 나타내기 때문이다.

그도 그럴 것이 이 행렬은 한 변의 길이가 1인 (0,0), (1,0), (1,1), (0,1)이라는 정사각형을 (a,b), (a+c, b+d), (c,d)라는 평행사변형으로 옮긴다. (a+b)*(c+d)라는 전체 직사각형에다가 주변의 합동인 삼각형 두 쌍의 넓이를 빼면, 평행사변형의 넓이로 남는 것은 ad-bc뿐이다. 아래 그림을 보시라.

(a+c)(b+d) - b(a+c) - c(b+d) = d(a+c) - c(b+d) = ad + cd - bc - cd = ad-bc

사용자 삽입 이미지

이 평행사변형에서 대각선을 구성하는 (a,b)와 (c,d)를 연결하면 사각형을 반으로 쪼갤 수 있다. 다시 말해 원점과 (a,b), (c,d)를 꼭지점으로 하는 삼각형의 넓이는 ad-bc의 절반이 된다.

다음으로..
저렇게 두 점 A(ax, ay)와 B(bx, by)가 있을 때, A-원점-B 자취의 방향을 판단하는 공식이 있다(시계 방향인지 반시계 방향인지). bx*ay - by*ax이며, 여기에는 배후에 삼각함수 sin( alpha-beta )가 숨어 있다.

그런데 위의 두 점 (a,b), (c,d)도 코싸인/싸인 alpha와 코싸인/싸인 beta라는 극좌표 형태로 표현하면, 행렬식 a*d-b*c 역시 결국은 sin( alpha-beta )과 패턴이 동일함을 발견할 수 있다. 두 쌍의 숫자를 각각 서로 엇갈리게 곱해서 빼는 것 말이다.
이렇듯, 행렬식에 두 벡터의 사잇각에 대한 삼각함수 값이 들어있으니, 벡터의 길이만 정규화하면 각도를 구할 수 있다. 또한 두 변의 길이와 그 사이의 끼인각을 알고 있는 삼각형의 넓이는 A*B*sin(theta)/2로 간단하게 결정된다.

그리고 이 식을 확장하면 삼각형뿐만이 아니라 여러 삼각형들로 분해 가능한 단순다각형(선분들이 서로 만나지만 않으며 볼록하거나 오목할 수 있음) 넓이 내지 폴리곤 패스 방향을 구할 수도 있다. 넓이와 방향(넓이의 부호)이 같이 구해진다.

2차원에서는 이 정도로 분석이 되고, 3차원으로 가면 어떨까?
짐작했겠지만 3*3 행렬의 행렬식은 그 행렬을 구성하는 3개의 벡터들을 축 내지 기저로 삼는 평행육면체의 부피와 같다. 직교좌표에서 모든 점들의 최대치에 해당하는 직육면체의 부피에다가 또 모서리 주변의 온갖 사면체들의 부피를 빼야 하니 식이 굉장히 복잡할 것이다. 3*3 행렬의 행렬식이 항이 6개나 되고 2*2의 것보다 훨씬 더 복잡한 것은 이 때문이다.

하지만 3차원에서도 언제나 부피만 구하는 건 아니다.
차원만 2차원이 아닌 3차원으로 확장한 뒤, 원점에서 출발하는 두 벡터를 가로변 세로변 축으로 삼는 평행사변형의 넓이는 어떻게 구하면 좋을까? (삼각형의 넓이도 당연히 자동으로 포함) 즉, 3차원 공간 안에서의 2차원 평면인 것이다. 이건 2*2 행렬식보다는 어렵겠지만 3*3 행렬식보다는 쉬울 것이다.

그리고 이것이 바로 벡터의 '외적'(벡터곱) 연산이 하는 일이다. 아마 고등학교에서는 내적까지만 하지 외적은 안 배우지 싶다. 단, 내적부터 먼저 개념을 좀 복습해 보자.

2. 벡터의 내적

왜 각 성분을 차례대로 곱한 것을 더하면 내적이 나오는 걸까?
이 원리의 배후에는 코싸인 제2법칙이 있다.
아까 두 변의 길이(두 선분의 길이를 각각 A와 B라 하자)와 그 사이의 끼인각을 아는 삼각형의 넓이를 구했는데, 이 경우 삼각형이 유일하게 결정되었으므로 나머지 한 변의 '길이' C도 당연히 구할 수 있다. 그 삼각형의 모든 특성이 파악 가능한 것이다. C^2 = A^2 + B^2 - 2*A*B*cos(theta) 이다.

이건 피타고라스의 정리의 일반적인 경우이며, 증명하는 방법이 상당히 많다. 여기에서는 제일 직관적인 해석학적 방법 하나만 소개하고 넘어가겠다.
선분 A와 B가 원점을 지나고 선분 A는 x 축에 평행하다고 한다면 선분 A는 (0,0)과 (a,0)을 지나게 될 것이며, 0도인 선분 A로부터 theta도만치 떨어진 선분 B는 선분 B는 (0,0)과 (b*cos(theta), b*sin(theta))를 지난다. 임의의 차원의 임의의 위치에 있는 어떤 삼각형 ABC라도 변환을 통해 그렇게 2차원 평면에서의 일반화가 가능하기 때문이다.

그럼 선분 C의 길이는 저 (a,0)과 (b*cos(theta), b*sin(theta)) 사이의 거리와 같다. 그러므로 길이의 제곱은 (a - b*cos(theta)^2 + (b*sin(theta))^2 가 된다.
이 식을 풀면 a^2 - 2*a*b*cos(theta) + b^2*cos(theta)^2 + b^2*sin(theta)^2 가 된다.
b^2항은 cos(theta)^2 + sin(theta)^2 이므로 1로 약분돼 없어지고, 결국 코싸인 제2제곱 공식이 고스란히 나온다.

그럼, A, B, C를 이제 벡터라고 생각하고 2차원이 아니라 각 축별 좌표를 코싸인 제2제곱 공식에다 대입해 보자.
A=(a1,...,an), B=(b1,...,bn) 같은 식이다. C는 두 벡터의 차이 A-B와 같다.
벡터의 절대값의 제곱은 잘 알다시피 거리의 제곱과 같기 때문에 각 성분들의 제곱을 모두 더한 것과 같다. 그러므로

∑ [i=1..n] (ai^2 + bi^2 - 2*ai*bi) = ( ∑ [i=1..n] (ai^2 + bi^2) ) - 2*A*B*cos(theta) 로 식이 대충 떨어진다.

A와 B에서 각 성분들의 제곱을 합을 구하는 부분은 좌우변 공통이므로 소거되고.. 남는 것은
2*A*B*cos(theta) = ∑ [i=1..n] 2*ai*bi 이다. 여기서 양변을 2로 나눠 주면 내적 공식이 아주 깔끔하게 유도된다. 콜?

벡터의 내적은 그냥 숫자 하나(스칼라)만으로 답이 떨어지며, 벡터의 각 성분들을 차례대로 곱해서 더하기만 하면 된다. 내적에는 두 벡터의 사이각의 '코싸인' 값이 들어있기 때문에, 두 벡터가 서로 수직인지를 벡터의 길이와 무관하게(= 정규화 안 하고도) 간편하게 판별할 수 있다. 코싸인 90도는 0이므로!

내적은 계산이 딱히 어렵지 않을 뿐만 아니라, 2차원이고 3차원이고 어느 차원이든지간에 계산법이 동일하다는 것도 큰 장점이다. 두 벡터의 사이각을 구하는 용도로는 완전 딱이다. cos(alpha-beta) = cos(alpha) cos(beta) + sin(alpha) sin(beta) 인 것에도 2차원일 때의 내적 공식이 숨어 있다는 걸 발견할 수 있다.
또한, 생긴 모양 덕분에 벡터의 내적을 행벡터(행이 하나. 수평선-_-)와 열벡터(열이 하나. 수직선)의 곱으로 표기하기도 한다. (행과 열뿐만이 아니라 횡과 종도 어느 게 어느 건지 종종 헷갈릴 때가 있다만..;;)

3. 벡터의 외적

그에 반해 외적은 결과값도 벡터이다. 그리고 3차원일 때에만 정의된다. 계산값의 각 차원과 피연산자들이 일대일로 딱 밀착해 있는 관계로 3차원 말고는 선택의 여지가 없기 때문이다.

성분이 (a1,a2,a3)인 벡터 A와, 성분이 (b1,b2,b3)인 벡터 B의 외적은
(a2*b3-a3*b2, a3*b1-a1*b3, a1*b2-a2*b1)이라고 정의된다.
어 그런데 이거, 두 쌍의 숫자를 각각 서로 엇갈리게 곱해서 빼는 게 2*2 행렬식을 구하는 것과 비슷해 보인다. 맞다.
그래서 벡터 A, B가 동일 평면상에 있어서 a3와 b3 같은 게 동시에 0이기라도 하면, 해당 변수가 포함된 항은 모두 소거된다. 이 경우 외적은 그냥 2*2 행렬식과 동일해진다.

또 생각할 점은.. 3*3 행렬식을 구하는 것도 특정 row와 col을 제외한 2*2 행렬식을 구하는 것의 연속이라는 점이다. 그래서 외적 구하는 공식을
(i  j  k )
(a1 a2 a3)
(b1 b2 b3)

의 행렬식이라고 표현하기도 한다. 물론 여기서 i~k는 스칼라값이 아니라 각각 (1,0,0), (0,1,0), (0,0,1)에 해당하는 단위벡터이다. 그러니 스칼라와 벡터가 뒤섞여 있는 저 행렬은 대수적인 의미는 딱히 없다. 외적 구하는 공식을 좀 더 뽀대나게 표현하는 용도로만 쓰이는 셔틀일 뿐이다. 그래도 결국은 3*3 행렬식과 닮긴 닮았다.

행렬식을 구하는 공식에서 j에 해당하는 부분은 더하는 게 아니라 뺀다. 그렇기 때문에 외적 공식에서는 1,3이 아니라 3,1 순서로 쓴 뒤에 더하는 것으로.. 다시 말해 양수를 빼는 게 아니라 음수를 더한다고 표현을 달리 했다. 둘 다 동일한 의미이므로 부호에 주의하기 바란다.

벡터는 스칼라와는 달리 '크기'뿐만 아니라 '방향'이라는 정보가 추가로 들어있다.
외적 연산을 통해 구해진 벡터는 일단 크기는 두 벡터의 크기의 곱에다가 사잇각의 sin값을 곱한 것과 같다. 그러므로 3차원 공간에서 두 3차원 벡터가 만드는 평행사변형/삼각형의 넓이를 구할 수 있다.

외적 식을 전개해서 크기의 제곱을 해 보면, 각각의 두 벡터의 크기의 제곱을 곱하고 거기에다 벡터의 내적값(양 벡터의 각 성분들을 서로 곱해서 더함)의 제곱을 뺀 것과 같다고 식이 전개된다. A^2 - B^2 꼴이 되기 때문에 (A+B)(A-B)로 인수분해를 하고 싶은 충동이 느껴지지만 여기서는 식을 다른 형태로 바꿔야 된다.

내적에는 역시 두 벡터의 크기의 곱에다가 사잇각의 cos이 들어 있으니 이것의 제곱이라면 두 항이 결국 |A|^2 * |B|^2를 공통으로 갖고 있고 (1  - cos^2 )가 남는다. 그리고 이것이 sin^2과 같다는 건 두 말하면 잔소리이고.

외적의 크기에 벌써 이렇게 유용한 정보가 들어있는데, 방향은 더욱 흥미롭다.
짐작하겠지만 두 벡터의 외적의 방향은 두 벡터와 수직이다. 물론 위쪽도 수직이고 아래쪽도 수직인데, 해당 좌표계의 동일 부호가 향하는 쪽으로 방향이 결정된다. 두 기저 벡터에 대한 외적을 구하면 나머지 기저 벡터가 튀어나온다.

애초에 두 벡터의 외적은 그 두 벡터와의 내적이 모두 0인 벡터 중에 크기가 저렇게 AB sin(theta)로 나오는 놈을 구한 것이다. a1*c1 + a2*c2 + a3*c3 = 0과 b1*c1 + b2*c2 + b3*c3 = 0을 만족하는 (c1,c2,c3)을 직접 구해 보면 안다. 저것만으로는 식보다 미지수 개수가 더 많으니 (c1,c2,c3)가 하나로 딱 떨어지지 않고 c1과 c2가 c3의 배수인 것처럼 관계식만 나온다. 그런데 c3의 특정값일 때 c1,c2에 있던 분모가 싹 소거되고 c1~c3이 저렇게 아주 대칭적이고 깔끔하게 나오는데 그게 바로 외적값이다.

이런 유용함 때문에 외적이 3차원에서의 전유물이라고 여겨지는 것이다. 이항연산에 딱 최적화돼 있지 않은가.
물론, 외적은 수직이라는 게 위아래가 모두 존재한다는 특성상 교환 법칙이 성립하지 않고 A×B=-B×A이다. 뭐, 4차원 이상에서는 두 벡터와의 내적이 모두 0인 벡터는 3차원일 때처럼 일직선상의 형태로 유일하게 떨어지지가 않는다. 그러니 외적과 같은 접근 방식이 큰 의미가 없어져 버린다.

끝으로, 3차원에서 벡터의 내적과 외적은 삼중곱이라는 연산을 통해 한데 만난다. 3개의 벡터 A,B,C를 축으로 하는 평행육면체의 부피를 구하고 싶으면 아까처럼 벡터들을 3차원 행렬의 행렬식으로 표현해도 되지만, 밑면에 속하는 두 벡터 A×B의 외적을 구한 뒤 거기에다 C와 내적을 구하면 된다. (A×B)·C! 그게 결과적으로 행렬식을 구한 것과 같은 계산 결과가 도출된다. 왜 그런지는 아까 그 외적 구하는 행렬과 일반 행렬의 행렬식을 늘어놓고, 거기에다가 내적을 구하는 공식까지 적용한 뒤 서로 비교하며 생각해 보면 된다.

Posted by 사무엘

2015/08/23 08:25 2015/08/23 08:25
, , , , ,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1130

sin 1°의 정체

sin 1°는 어떤 무리수일까?

답부터 말하자면, sin 1도는 일반적인 통념과는 달리 초월수가 아니다. 이는 임의의 정수 각도도 마찬가지이다.
유한 번의 사칙연산과 거듭제곱/제곱근으로 표현 가능한 대수적 수라는 뜻이다. (사실, π나 e 같은 초월수도 사칙연산· 거듭제곱· 근호의 꼴로 나타낼 수 있다. 단지 그게 무한히 반복되는 급수의 형태가 될 뿐이지..)

삼각함수는 삼각형을 이루는 두 변의 각도가 이러할 때 변의 길이를 비율이 어떻게 되는지를 나타내는 함수이다. 기하학에서는 그야말로 필수 중의 필수 도구이지만, 대수적으로는 직관적이지 않은 굉장히 기괴한 특성을 많이 지닌다. 그래서 학교에서 수포자를 양산하는 원흉이기도 하다.

삼각함수에다 일반 자연수나 유리수를 집어넣으면, 지수나 로그함수와 마찬가지로 우리가 의미를 알 수 없는 괴랄한 초월수가 함수값으로 튀어나온다. 그러나 pi의 유리수 n배 내지 1/n배에 속하는 각도에 대해서는 꼭 그렇지만은 않다. 이미 입력값인 pi부터가 대수적이지 않은 괴랄한 수여서 그런 게 아닐까 싶다.

먼저, 특수한 각도에 대해서는 함수값이 깔끔한 수 내지 심지어 유리수 범위로 떨어질 때가 있다. 특히 15 내지 30도 간격인 0, 30, 45, 60, 90도일 때 sin 값은 각각 sqrt(n)/2 (n은 0 이상 4 이하)로 딱 떨어진다. 가장 단순한 형태다.

여기에서 파생된 각, 다시 말해 레퍼런스 각의 n배나 절반, 1/3 따위에 해당하는 각은 위대하신 삼각함수의 덧셈 정리를 통해 cos/sin 값을 구할 수 있다. 덧셈 정리라는 게 당연히 대수적인 조작들만 있으므로 대수적인 수에 대수적인 조작을 하면 그 수도 대수적인 것은 당연지사. 정수 계수 대수방정식의 근이 될 수 있다.

그리고 15도 단위 계열뿐만 아니라 18도 단위에 계열에 대해서도 삼각함수는 비교적 간단한 형태의 값이 나온다. 세배각 공식이어서 원래는 3차 방정식을 풀어야 하지만 이 각도는 그나마 1차식과 2차식으로 인수분해되는 경우이기 때문이다.

사용자 삽입 이미지

이를 이용하면, 18도와 15도의 차인 sin 3도까지도 약간 복잡하지만 답이 나온다. (그림: 영문 위키백과)

사용자 삽입 이미지

하지만 정수 도에서 그나마 해피한 결과가 나오는 정밀도의 한계는 여기까지.
sin 1도 정도가 되면 유한한 사칙과 거듭제곱, 근호만으로 정확한 값을 묘사하는 게 불가능하지는 않으나 의미가 없어진다.
반복되는 패턴에 대한 매크로 치환을 하고도 항이 열몇 개에 달할 정도로, 정말 미치도록 복잡한 형태가 되기 때문이다.

3도 간격의 수로부터 1도 단위의 삼각함수 값을 구하려면 아까 18도의 경우처럼 각을 3등분을 해야 하는데 이제는 인수분해가 되지 않는다
얄짤없이 3차 방정식이 되며(삼각함수의 3배각 공식은 3차식!), 작도 불가능한 것으로도 잘 알려져 있다. 복잡함이란 본질적으로 이런 데서 유래되는 게 아닌가 싶다. 그냥 내 감이 그렇다는 뜻.

3차 방정식의 근의 공식은... 2차 방정식의 그것하고는 비교조차 할 수 없을 정도로 머리 터지게 복잡하다. 그래서 3차 방정식의 근인 sin 1도의 값도 끔찍하게 복잡한 형태로 산출되는 것이다.

* 끝으로 보너스.
arctan 1 + arctan 2 + arctan 3 = pi 임을 증명하시오.

arctan 1이야 45도의 특성상 pi/4가 되는 게 잘 알려져 있다만, 저런 관계는 도대체 어떻게 성립하는 걸까?
세 각도의 합이 180도라는 뜻이므로, 기울기가 1, 2, 3인 세 각은 일정 비율의 닮은 삼각형을 결정하는 각이 될 수 있음을 보이면 되겠다.

삼각형의 두 꼭지점의 각의 기울기(=탄젠트)가 x, y라면, 나머지 꼭지점의 각도는 기울기가 1/x인 각과 1/y인 각 두 개의 합으로 표현된다. (나머지 꼭지점에서 맞은편 변으로 수선을 내려 보면 직관적으로 이해됨)

그런데 삼각함수의 덧셈법칙에 따라
tan(a+b) = (tan(a)+tan(b)) / (1 - tan(a)*tan(b))
이므로.. 이 공식으로 두 탄젠트를 합성하면, 나머지 꼭지점의 탄젠트는

(y+x)/(x*y-1)로 표현될 수 있다.

x,y에 1,2를 넣으면 저 값은 3이 되고, 2,3을 넣으면 값은 1이, 1,3을 넣으면 값은 2가 된다. 사실, 식의 특성상 (x,y)->z만 성립하면 (x,z)->y와 (y,z)->x는 일일이 체크하지 않아도 자동으로 성립하긴 한다.
따라서 어떤 경우든 기울기가 1, 2, 3인 세 각은 닮은 삼각형을 결정하는 각이며, 그 합은 삼각형의 내각의 합인 180도, 즉 pi임을 알 수 있다.
내가 생각하는 것보다 더 간단하게 증명하는 방법도 물론 있을 것이다.

Posted by 사무엘

2013/12/31 08:30 2013/12/31 08:30
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/915

퇴근길에 문득 든 아주 기초 수학 생각이다.
아래 그림은 포물선 2개 x^2+2*x (x=-2..0), -x^2+2*x (x=0..2)와, sin(x*PI/2) (x=-2..2)를 한데 포개 놓은 것이다.
원래 sin, cos 부류의 삼각함수는 주기가 2*PI인데, 이를 4로 좁혀 놓았다.
이렇게 보니까 포물선도 싸인파 곡선과 형태가 생각보다 꽤 비슷해질 수 있다는 걸 느꼈다.

사용자 삽입 이미지

0부터 2까지 구간의 넓이를 정적분으로 구해 보면 이차함수인 포물선의 면적은 4/3인 반면, 진짜 싸인파의 면적은 4/PI이다. 즉, 포물선에 속하는 면적이 약간 더 크다.

그러나 이 두 곡선은 비슷하게 생겨도 그 본질은 굉장히 다르다. 미분을 해 보면 안다. 이들의 도함수를 그래프로 그리면 다음과 같다.

사용자 삽입 이미지

싸인파는 도함수도 기준 위치와 진폭만 다를 뿐, 여전히 전구간이 미분 가능한 매끄러운 싸인파이다.
그러나 두 포물선을 인위적으로 연결한 함수는 도함수가 직선으로 바뀌었고, x=0 지점은 연속이긴 하지만 기울기의 좌극한과 우극한의 값이 서로 달라서 미분이 불가능한 점이 되었다. 마치 절대값이 들어있는 일차함수처럼 된 셈이다.

이걸 또 미분하면 어떻게 될까?
싸인파는 역시 또 싸인파이지만 저 직선은 아예 양수 아니면 음수의 상수함수로 바뀌고, x=0 지점은 이제 연속이지도 않게 된다. 마치 인간이 만든 아무리 매끄럽고 뾰족한 바늘도 확대하고 또 확대해서 보면 울퉁불퉁한 표면이 드러나듯이 말이다.

우리가 자연에서 흔히 볼 수 있는 물체의 운동 양상은 관성에 의한 등속 직선, 아니면 힘을 한 쪽으로 균일하게 받는 포물선 형태가 있다. 하지만 출렁이는 물결이나 음파 같은 진동은 삼각함수에 속하는 싸인파가 자연스러운 움직임이다. 오히려, 포물선 두 개를 갖다붙인 것에 불과해서 미분하면 딱딱한 절대값 직선으로 바뀌어 버리는 곡선이야말로 인위적이고 부자연스러운 형태인 것이다.

왜 싸인파가 자연스러운 움직임일까?
삼각함수는 무한소나 무한대로 발산하지 않고 주기를 갖고 -1에서 1 사이를 한없이 진동만 한다.
그러면서도 전구간이 단절 없이 연속이고 미분 가능하다. 미분을 해도 심지어 도함수조차 형태를 바꾸면서 주기적으로 자기 자신으로 돌아오기를 반복하기 때문이다.
내가 수학적인 통찰력이 부족해서 그 원리를 다 '이해'와 '실감'은 못 하겠지만, 적어도 이런 함수는 돼야 정말 매끄러움의 본질을 수학적으로 표현한 게 아닌가 하는 막연한 추측까지는 한다.

해석학적으로 볼 때 x^n의 x에 관한 미분은 n*x^(n-1)로 떨어진다. 지수함수 exp는 알다시피 (1/ n!)*x^n의 무한합으로 정의되어, x에 대해 미분하더라도 예전항이 바로 다음항의 미분 결과와 같은 꼴이 되는 형태이다.

그런데, 삼각함수인 sin과 cos는 exp를 홀수승 항과 짝수승 항으로 분할함과 동시에 각 항의 부호를 또 +, -로 교대로 오고 가게 바꾼 형태이다. 그래서 함수가 무한대나 무한소로 발산하지 않고 진동하게 된다. 신기하기 그지없다.

미적분학을 공부하면 삼각함수와 더불어 쌍곡선함수라는 물건도 배우게 된다.
얘는 sin과 cos에다가 h를 붙여서 sinh, cosh처럼 쓰는데, 지수함수를 이루는 무한급수에서 각각 홀수승항과 짝수승항만 쪼개서 취한 함수이다. 삼각함수와의 차이는 부호 스위칭이 없다는 점이 전부다.

그래서 쌍곡선함수는 비록 그래프의 모양은 삼각함수와 완전히 다르지만 삼각함수와 굉장히 비슷한 특성을 갖게 된다. sinh와 cosh는 미분하면 부호 스위칭이 없이 서로 상대편으로만 탈바꿈하며, 삼각함수의 덧셈정리와 비슷한 특성도 가진다. 삼각함수가 cos(x)^2 + sin(x)^2 = 1이듯이 cosh(x)^2 - sinh(x)^2 = 1이다. 전자가 원스럽다면 후자는 정말 쌍곡선스러운 형태이지 않은가?

쌍곡선함수는 사실상 수학 해석학적인 의미 때문에나 배우지, 삼각함수에 비해 실생활에서 유용한 구석은 별로 없는 것 같다. 그러나 얘도 자연에서 의외로 중요한 곳에서 자주 볼 수 있다. cosh가 바로 현수선의 방정식을 나타내는 함수이기 때문이다.

현수선이란 밀도가 균일한 줄이 자기 길이보다 짧은 간격으로 양 끝이 어떤 중력장 안에 매달렸을 때, 자신의 무게로 인해 중력의 방향(아래)으로 축 늘어짐으로써 형성되는 선을 말한다.
이것도 포물선과 비슷해 보여서 혼동되기 쉽지만, 포물선하고는 수학적인 성질이 완전히 다르다. 현수선은 증가의 폭이 이차함수가 아니라 지수함수와 같은 스케일이다.

알고 보면 아치도 포물선이 아니라 현수선을 뒤집은 모양이다. 현수선 모양으로 구조물을 건설하는 게 모양이 역학적으로 가장 안정적으로 형성된다고 한다.
왜 현수선이 cosh 함수의 형태로 형성되는지 수학적으로 증명하려면 물리학, 미적분학 등 여러 방면의 이론이 동원돼야 하지 않을까 싶다.

어찌 보면 당연한 말이지만, 현수선은 일부만 잘라 내도 그 모양이 그대로 유지된다. 다시 말해 U자 모양으로 된 현수선의 양 끝의 일부를 잘라내서 u부분만 잡고 있더라도 기존 부위가 받는 힘은 변함없으며, 그 구간의 선 모양이 바뀌지 않는다는 뜻이다.

삼각함수와 쌍곡선함수가 각자 자기 분야에서 포물선과는 다른 매끄러움, 출렁거림 등을 표현하고 있다는 게 경이롭다.
자연 현상으로부터 얻은 물리량이라는 게 태생적으로 연속적인 데이터의 형태이다 보니, 물리학의 발전을 위해서는 수학, 특히 미적분학의 발전이 반드시 선행되어야 했다는 게 느껴진다.

Posted by 사무엘

2013/10/05 08:27 2013/10/05 08:27
, , , , , ,
Response
No Trackback , 5 Comments
RSS :
http://moogi.new21.org/tc/rss/response/884

두 벡터의 내각을 이등분하기

원점 O에서 시작하는 벡터 A, B가 있다. 그런데 A와 B가 형성하는 내각을 이등분하는 중앙을 지나는 벡터 C를 구하려면 어떡하면 좋을까? 각도를 결정하는 방향만 정확하게 나오면 되며, 길이가 어떻게 되는지는 신경 쓰지 않아도 된다.

사용자 삽입 이미지

단순히 벡터 A와 B를 더하기만 해서는 내각을 정확하게 이등분할 수 없다는 것을 알 수 있다.
더하기만 해서 얻은 벡터는 삼각형 OAB의 '무게중심'을 지나게 된다.
그러나 내각을 이등분하는 벡터는 삼각형 OAB의 '내심'을 지나게 해야 하기 때문이다.

이 문제는 의외로 어렵지 않다.
선분 AB의 위에 있는 점 C를 설정하되, 선분 OA: OB의 길이의 비와 선분 AC: BC의 길이의 비가 일치하는 지점 C를 찾으면 된다. 그러면 원점에서 시작하는 벡터 C가 바로 벡터 A와 B의 내각을 이등분하는 벡터가 된다.

그렇게 되는 이유를 해석학적으로 따져 보면 다음과 같다.

위의 그림에서 점 A의 좌표는 (1, tan α)이고 B의 좌표는 (1, tan(α+2β) )이다.
그리고 선분 OA의 길이는 피타고라스의 정리에 따라 sqrt(1 + (tan α)^2)이요, 선분 OB의 길이는 더 복잡한 sqrt(1 + (tan (α+2β))^2)가 되는데..

이 둘의 비율이 AC와 BC의 길이의 비와 같다는 뜻이다. AC와 BC는 각각 (tan α+β - tan α), (tan α+2β - tan α+β)로 표현될 것이다.
한쪽은 탄젠트값의 제곱에다가 제곱근이 나오고, 다른 한쪽은 제곱 연산은 없지만 서로 다른 탄젠트 함수의 뺄셈이 나온다. 언뜻 보기에 둘은 서로 비슷한 구석을 찾을 수 없다. 그렇다면 이들이 비율이 서로 일치한다는 걸 어떻게 보일 수 있을까?

사용자 삽입 이미지

여기서 탄젠트 제곱과 제곱근을 쉽게 정리하는 방법이 있다. tan x = sin x / cos x이므로, 1을 분모와 분자가 모두 cos^2 x 인 분수로 간주하여 1 + tan^2 x는 (cos^2 x + sin^2 x)/cos^2 x라고 볼 수 있다.
그럼 분자는 얼씨구나 1로 약분된다. 근호 안에는 1/cos^2 x밖에 남지 않으니, 전체 식은 단순히 1/cos x로 줄어든다.

비례식에서 내항과 외항의 곱은 같아야 하므로, 내항의 곱을 분자에, 외항의 곱을 분모에다 얹은 분수를 설정해 보겠다. 이 수의 값이 1이면 목적이 달성되는 것이므로 어느 걸 분자에, 어느 걸 분모에 얹을지는 그리 중요하지 않다.
식에서는 α+2β, α+β, α라는 세 종류의 각이 쓰이는데, 일단 시각적인 혼동을 줄이기 위해서 앞의 두 아이템을 이제부터는 각각 A, B라는 매크로로 치환하였다.

사용자 삽입 이미지

이제 예전보다 문제가 꽤 단순해졌다.
분자와 분모가 또 분수로 구성되어 있는데, 이것을 통분하는 방법은 간단하다. 분자와 분모에 모두 똑같이 cos A cos B cos α를 한꺼번에 곱해 주면 된다.
그러면 각 분자와 분모에 이중으로 분모로 남아 있던 cos α나 cos A는 약분되어 없어지고, tan 함수도 내부적으로 갖고 있던 cos 나눗셈이 약분되면서 sin으로 바뀐다. 그리고 약분되지 않은 변수에 속하는 cos만이 남는다.

사용자 삽입 이미지

그 뒤의 절차는 일사천리이다.
sin 함수와 cos 함수의 곱이 규칙적인 패턴으로 남는데, 이것은 딱 정확하게 sin(x-y) 꼴로 정리가 된다.
그리고 이제야 매크로 A, B를 원래의 각으로 전개해 보면, A-B와 B-α의 각은 애초에 같은 값이었다는 것을 알 수 있다. 따라서 분자와 분모는 동치이고 원래의 비례식도 항등식으로서 성립한다는 게 밝혀진다.

뭔가 당연한 사실을 필요 이상으로 너무 복잡하게 파헤친 거라는 느낌이 든다. =_=
삼각함수, 벡터 이런 쪽은 컴퓨터에서 기하를 다루는 데 없어서는 안 될 마법과 같은 도구임이 분명하다.

Posted by 사무엘

2013/07/07 08:32 2013/07/07 08:32
, ,
Response
No Trackback , a comment
RSS :
http://moogi.new21.org/tc/rss/response/851

삼각함수와 회전 변환

사용자 삽입 이미지
요 그림이 고등학교 수학 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


블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

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

Site Stats

Total hits:
2663465
Today:
640
Yesterday:
1553