본문 바로가기

생명의 철학

해안의 프랙탈 차원은 얼마인가?(2001.11)

 

해안의 프랙탈 차원은 얼마인가?

 

소프트웨어 다운로드 받기

 

 기하학적 도형의 프랙탈 차원을 계산하는 방법은 앞서 살펴 보았다.칸토르의 먼지는 0.6309..차원,코흐곡선은 1.2618..차원이고,멩거 스폰지는 2.7274..차원임을 보았다.이것을 자연현상에 적용했을 때 그 차원을 어떻게 계산할 수 있을까? 그 간단한 예로 해안선의 차원을 계산해 보자.해안선은 꾸불꾸불함으로 1차원 보다는 크고,2차원 보다는 적을 것으로 예상된다.

일정한 크기의 격자로 된 투명한 모눈종이 밑에 해안선의 지도를 놓는다.그 다음 해안선이 들어있는 격자의 수를 헤아린다.다음 크기를 반으로 줄인 눈금의 모눈종이를 다시 지도위에 놓고 해안선이 들어있는 격자의 수를 헤아린다.(배율을 어떻게 해도 상관없지만 계산의 편의상 반으로 하자.) 만일 그 선이 1차원이라면 크기를 반으로 줄이면 개수는 2배로 늘어날 것이다.그러나 실제 그 개수는 그 꾸불꾸불한 것을 반영하여 2배 이상일 것이다.구체적인 예를 가지고 살펴 보자.

 아래 그림의 좌측은 모눈종이위에 그린 소위 "리아시스"식 그리이스의 해안선이고 우측은 그 가운데 해안선이 맞물리는 격자는 모두 빨간색으로 칠해 놓은 그림이다.그 개수는 38개이다.이제 눈금을 반으로 줄여보자.그 개수는 102개이다.(그림 하단)

 

  눈금의 크기를 반으로 줄였으므로 1차원이라면 그 개수는 38×2=76개이여야 하는데 102개이다.이것은 이 해안선이 1차원 이상이라는 것을 의미한다.이제 이것의 차원을 구해 보자.

차원은 앞서 "log(새로 생성된 갯수)/log(축소율)"로 정의되었다.2배율 축소에서 38개 102개 되었다면 1개는 몇 개로 되는가? 102/38=2.6842, 그러므로 새로 생성된 개수는 1개당 2.6842개인 셈이다.축소율은 2이므로 차원은 다음과 같다.

 

 d=log2.6842/log2=0.4288/0.301=1.4246

 

 그리이스의 해안선이 상당히 복잡하게 꾸부러져 있음을 알수 있다.우리의 남해안이나 서해안도 이 정도의 차원을 가질 것이다.

 이것을 잘 설명하고 있는 좋은 교육용 소프트웨어가 있어 여기에 소개한다.사실 위의 그림도 이 소프트웨어를 이용해서 만든 것이다.

 초기화면에 조작용 판인 grid가 뜬다.메뉴판의 file에 들어가 example을 열면 그리이스 해안선을 비롯해 여러 해안선의 메뉴가 나온다.그 가운데 아무것이나 선택한 다음 Grid의 GridMeasure를 클릭하면 control 판이 뜬다.그런 다음 상단 메뉴판의 window를 열고 Data,Graph를 체크해 두자.로그 눈금이 잘 이해 안되는 사람은 Graph에서 제일 상단의 일반눈금을 체크해 두는 것이 좋겠다.

 다음 Grid 조작판을 보면 상단 제일 위쪽에 Grid size가 있다.이것은 5에서 100까지로 설정되어 있다.5는 가장 작은 눈금이고 100은 가장 큰 눈금이다.눈금을 처음 100에 갖다 놓고 Measure를 클릭해 보자.다음 수치를 조금씩 줄이면서 Measure를 클릭해 보자.앞서 띄워 놓은 다른 창인 Data를 들여다 보면 L과 N에 값이 기록되어 있는 것을 볼 수 있을 것이다.L은 눈금의 크기이고 N은 그 개수이다. L이 작아짐에 따라 개수가 기하급수적으로 증가하는데 그것은 앞서 띄워놓은 Graph창을 보면 확인할 수 있다.

 그라프창의 상단에 수식을 볼 수 있을 것이다.그 식에 대해서는 신경쓸 것 없다.Data의 수치를 수식으로 표현한 것이다.위 그림에서 6을 대입한 다음 계산기로 계산해 보면 717이 나올 것이다.중요한 것은 그 식의 상단의 지수값이다.이것은 1.39차원임을 말하고 있다.앞서 우리가 손으로 계산한 것 하고 그 수치가 달라서 의아해할지 모르겠지만 앞서는 논의를 간단하게 하기 위해서 단 한번 계산으로 차원을 도출한 것이어서 정확한 값이 아니다.계산을 좀더 정밀하게 반복하면 차원값은 약간 변한다.

 이제 우리가 임의의 해안선을 만들어 보자.메뉴판의 파일의 New Coastline을 선택하자.다음 조작파넬에서 iteration(좀더 그럴듯한 해안선을 얻기위해서 그 값을 최대치로 주는 것이 좋다.),roughness(값을 많이 줄수록 해안선은 더 복잡해진다.)에 적당한 값을 주고 Animation에  Comp Animation을 선택한 다음 Draw coast를 눌러 실행시켜 보자.그럴듯한 해안선이 만들어질 것이다. 다음 다시 제일 아래의 Grid Measure를 눌러 내가 만든 해안선의 차원을 앞서 해 본 방식으로 계산해 보자.