Archive for July, 2012

쌍곡기하학의 측지선 그리기

Thursday, July 19th, 2012

오래전에 비유클리드 기하학, 특별히 쌍곡기하학에 대해 다음과 같은 여러 글을 쓴 적이 있다.

오늘은 매스매티카로 푸앵카레 상반평면 모델푸앵카레 unit disk 모델 에서의 측지선을 그리는 법을 소개할 것이다.

상반평면은 복소평면 상에서 \mathbb{H}^2=\{z=x+iy\in\mathbb{C}|y>0\} 로 정의되는데, 이 곳에서 측지선은 y 축에 평행한 직선 또는 중심이 실수축에 놓여 있으며, 실수축과 수직으로 만나는 원들이다.

원으로 주어지는 측지선을 다루는 좋은 방법은 이 원이 실수축과 만나는 두 점을 생각하는 것이다. 실수축위에 놓인 점이므로, 두 점의 x-좌표를 가지고 이들을 기술할 수 있다. 두 점의 x-좌표가 각각 i와 j라면, 다음과 같은 식을 통하여 측지선을 매개화할 수 있다.

x[i_, j_][t_] := ((i + j)/2 + Abs[i - j]/2 Cos[t]);
y[i_, j_][t_] := Abs[i - j]/2 Sin[t];
geoH[i_, j_] :=
ParametricPlot[{x[i, j][t], y[i, j][t]}, {t, 0, Pi}];

이러한 측지선들로부터 x-좌표가 -2,0,1인 세 점을 지나는 삼각형을 다음과 같이 그릴 수 있다.

Block[{circles},
RealAxis = {Thickness[0.01], Line[{{-3, 0}, {2, 0}}]};
circles = {geoH[-2, 0], geoH[0, 1], geoH[1, -2]};
obj = Append[circles, RealAxis];
Show[Map[Graphics, obj], PlotRange -> All, AxesOrigin -> {0, 0},
ImageSize -> 600]
]

푸앵카레 unit disk 모델 에서의 측지선은 상반평면의 측지선에 케일리 뫼비우스 변환 을 적용하여 얻을 수 있는데, 이는 케일리 뫼비우스 변환이 두 리만다양체의 isometry이기 때문이다 . 단위원보다는 상반평면 상에서 계산을 수행하기가 비교적 간단하므로 이러한 방법이 효율적이다.

케일리 변환은 복소함수로서는 f(z)=\frac{z-i}{z+i} 로 정의되는데, z=x+iy 로 두면,

 (x,y)\mapsto (\frac{x^2+y^2-1}{x^2+(y+1)^2},-\frac{2 x}{x^2+(y+1)^2})

와 같은 함수로 이해할 수 있다.

따라서 단위원에서의 측지선들은 다음의 매개화를 통하여 얻어진다.

geoD[i_, j_] :=
ParametricPlot[{(x[i, j][t]^2 + y[i, j][t]^2 - 1)/(
x[i, j][t]^2 + (1 + y[i, j][t])^2), -((2 x[i, j][t])/(
x[i, j][t]^2 + (1 + y[i, j][t])^2))}, {t, 0, Pi}];

이제 앞에서 얻은 그림을 단위원으로 옮기기 위해, 다음과 같은 코드를 이용할 수 있다.

Block[{circles, obj},
UnitCircle = {Thickness[0.01], Circle[{0, 0}, 1]};
circles = {geoD[-2, 0], geoD[0, 1], geoD[1, -2]};
obj = Append[circles, UnitCircle];
Show[Map[Graphics, obj], PlotRange -> All, AxesOrigin -> {0, 0},
ImageSize -> 400]
]

여기에서 다음과 같은 그림을 얻을 수 있다.

그러면 별 관계는 없는 미분기하 퀴즈 하나 : 이 삼각형의 넓이는?

사용된 매스매티카 파일은 여기에서 다운로드할 수 있다.