2차 곡선(원뿔 곡선) 이야기

수학에서 함수라는 것은 y=f(x)와 같은 형태로, x에다가 임의의 수를 대입하면 그에 대응하는 y 값이 계산을 통해 딱 하나로 산출되어 나오는 관계를 말한다.

하지만 f(x, y)=0라고 함수를 정의할 수도 있다.
이 식을 만족하는 x, y가 곧 정의역과 치역임이 규정된다.
이런 형태의 함수를 수학 용어로는 음함수(implicit function)라고 일컫는다.
딱 명시적인 함수 형태는 아니지만 함수를 암시적으로 규정하고 있다는 뜻인데, ‘음’이라고 하면 negative가 먼저 떠올라서 한국어로는 뜻이 잘 와 닿지 않는 것 같다.

음함수가 표현력이 더욱 풍부하다. 그도 그럴 것이 y=sqrt(1-x^2)라고만 하면 사분원반원 하나밖에 표현을 못 하지만, x^2+y^2=1이라고 하면 원 전체를 표현할 수 있기 때문이다.
그리고 컴퓨터 상으로 음함수를 처리하는 것도 더욱 까다롭다. x뿐만 아니라 x와 y를 2차원적으로 모두 고려해야 하기 때문이다. 2차원만으로 모자라서 z축도 동원하여 3차원까지 가면 흠..;;;

고등학교 시절에는 이런 음함수 중에서 x, y의 계수가 최대 2차까지 갈 수 있는 녀석을 배운다. 일반화하면 아래와 같은 꼴.

a*x^2+ b*x*y+ c*y^2+ d*x+ e*y+ f = 0

2차식인 a, b, c중 적어도 하나가 0이 아니라면 이 음함수는 아래의 형태 중 하나가 된다.

1. x, y가 실수 범위에서 전혀 존재하지 않기 때문에 빈 그래프. (x^2+y^2=-1 같은 경우)
2. 두 직선 (x^2-y^2=0 같은 경우. 또한, xy=0 이라고 하면 x축과 y축^^)
3. 타원 (x^2+y^2=1)
4. 쌍곡선 (x^2-y^2=1)

원이나 포물선은 굉장한 레어 케이스에서나 존재 가능하다.
또한, a, b, c 계수의 관계에 따라 곡선의 모양이 어떻게 될지 알려주는 판별식도 있다.

2차 곡선인 이들 원, 타원, 포물선, 그리고 쌍곡선은 모습도 인간 세계에서 수학적인 의미를 두기에 충분한 가치를 지니고 있다. 모래시계처럼 ▶◀ 형태로 놓인 원뿔의 단면을 잘랐을 때 나오는 곡선이라고 해서 원뿔곡선(conic section)이라고도 불린다. 신기한 일이 아닐 수 없다.

사용자 삽입 이미지

짤방은.. 초점이 동일한 어느 타원과 쌍곡선의 모습을 자작 프로그램으로 그린 것. 나름 안티 앨리어싱까지 되어 보기에 더욱 아름답다. ㅋ

타원은 “한 초점에서의 거리 + 다른 초점에서의 거리”가 일정한 점들의 집합이다. 두 초점에다가 실을 묶고 팽팽하게 연필을 그으면 비교적 쉽게 그릴 수 있다.
원은 두 초점의 위치가 일치하는 특수한 경우라 하겠다. 타원 모양으로 된 당구대 안에서 그 타원의 한 초점에서 공을 굴리면, 그 공은 다른 초점을 반드시 지나게 될 것이다.

쌍곡선은 “한 초점에서의 거리 - 다른 초점에서의 거리”의 절대값(=차이)이 일정한 점들의 집합이다. 절대값이다 보니 필연적으로 곡선이 둘 존재한다. 초등학교 시절에 배웠던 y=1/x 반비례 그래프가 알고 보니 이 쌍곡선이었다는 사실을 알게 된다.

포물선이야 중학교 시절에 제곱근과 2차식이라는 개념 자체를 처음으로 접할 때 배운다. 그런데 포물선은 단순한 2차식을 넘어서 “한 초점과 한 기준선이 주어졌을 때 초점에서의 거리와 준선까지의 수직 최단 거리가 일치하는 점들의 집합”으로 다른 관점에서 정의가 이루어진다. 사실, 타원과 쌍곡선도 한쪽 초점이 한없이 멀어지면 포물선 모양으로 수렴하게 된다.

포물선은 중력이 존재하는 지구상에서 물건을 던지기만 해도 매우 쉽게 볼 수 있다(단, 공기 저항이 없어야). 포물면은 반사하는 모든 빛을 초점으로 한데 모을 수 있다. 다만, 만들기가 구면보다는 어렵다.

2차 곡선은 이렇듯 세상에서 쉽게 볼 수 있고 실용적이다. 거리와의 제곱에 비례해서 감소하는 만유인력과도 관계가 있다. 제곱의 의미는 2차원, 즉 면적이다.
인공위성은 흔히 지구를 향해 한없이 추락하는 물체라고들 한다. 공중에서 충분한 추진력으로 위성을 가속하지 못하면 그 발사체는 지구로 떨어져 버린다. 그러나 속력이 어느 정도 빨라진 순간부터는 이제 지구로 떨어지지 않고 원 궤도를 그리게 된다.

더 빨라지면 위태위태 타원 궤도를 그리게 되고, 어느 정도 도를 넘어서면 포물선, 그 이후부터는 쌍곡선 궤도를 그리면서 그 발사체는 지구로 다시는 돌아오지 않게 된다. 옛날에 이런 거 시뮬레이션 프로그램을 장난감 삼아 짜면서 놀았던 기억이 있다. ^^;;

그 반면에 음함수의 식이 3차까지 가면, 모양만 변태적으로 복잡하지 쓸모가 없다. 변수의 값이 어떻냐에 따라서 쌍곡선 같은 그런 곡선이 3쌍둥이가 생기기도 하고, -⌒- 이런 모양이나 아니면, 그런 모양에 U자 모양 곡선이 합쳐진 놈 등... 자연에서 볼 일도 없고 의미가 없다는 것이다.

앞서 음함수를 처리하는 건 쉬운 일이 아니라고 언급했는데, 실제로 그렇다.
정확하게 일치하지는 않겠지만 윤곽선 폰트를 래스터라이즈하는 일과 비슷한 과정이 아닐까 하는 생각이 든다.
무식하게 x*y개의 함수값을 일일이 다 구해 보지 않고도 함수값을 구성하는 영역만 매끄러운 경계선을 추출하고 거기에다 안티 앨리어싱까지 하는 건 보통 어려운 일이 아니다.

아래아한글이나 포스트스크립트 같은 다른 폰트 시스템은 잘 모르겠지만, 윈도우 운영체제가 사용하는 트루타입 폰트 래스터라이저는 매 도트에 대해서 윤곽선 안에 있는지의 여부를 판단해서 글자를 찍어 낸다. 그래서 힌팅 정보가 없으면 작은 글씨에서 가는 획이 아예 화면에서 사라지는 일이 생길 수 있다.

본인은 옛날에 너무나 깔끔하게 잘 출력되는 영문 폰트들을 보고서 트루타입 폰트 래스터라이저가 굉장히 똑똑한 줄 알았는데, 알고 보니 다 아주 정교한 수작업으로 만들어진 힌팅 정보 덕분이었다. 힌팅은 획의 굵기를 일관성 있게 보정할 뿐만 아니라 윤곽점을 래스터라이저가 글립 존재 여부를 판단할 때 사용하는 위치로 강제로 옮겨서 획이 사라지지 않게 하는 역할도 한다.
흠, 글 주제가 수학에서 폰트 얘기로 급반전.. 어쨌든 음함수의 렌더링도 그만치 쉬운 일은 아니라는 뜻이다. ^^;;

Posted by 사무엘

2010/10/01 20:23 2010/10/01 20:23
, , , , , , ,
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/383


블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2024/12   »
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:
3050655
Today:
1675
Yesterday:
2142