곡률 재기: 개미의 줄자
곡률이 한 점의 평평함을 이웃으로 넓히려다 생기는 실패의 양이라면, 그 실패는 실제로 어떻게 잴까? 공간 밖으로 나갈 수 없는 개미에게 남은 도구는 자와 각도기뿐이다.
안에서 재는 네 가지 방법
바깥을 보지 않고도 곡률을 잴 수 있다. 아래 넷은 모두 그 공간 안에 사는 개미가 할 수 있는 실험이다.
- ① 화살표를 방향을 지키며 고리를 따라 한 바퀴 옮긴다. 돌아왔을 때 화살표가 돌아가 있으면 휘었다. (다음 절 「접속」에서 해 본다)
- ② 나란히 출발한 두 개미가 똑바로 걷는다. 서로 벌어지거나 좁혀지는 정도가 곡률이다. (아래 「한 걸음 더」)
- ③ 가장 짧은 길 셋으로 삼각형을 만들고 내각을 더한다. 180도보다 크면 K > 0, 작으면 K < 0. 넘치거나 모자란 양은 삼각형 안의 곡률을 넓이에 대해 합한 값이다.
- ④ 한 점에서 거리 r인 점들을 이어 원을 만들고 줄자로 둘레를 잰다.
넷째가 가장 손에 잡힌다.
평면이면 둘레는 정확히 2πr이다. 구면(K > 0)이면 둘레가 모자라고, 안장 모양(K < 0)이면 둘레가 남는다. 줄자 하나면 된다.
불러오는 중…
파이썬
계량만 넣고 곡률을 계산한다. 바깥 3차원 좌표는 한 번도 쓰지 않는다.
import sympy as sp
def gauss_K(E, G, u, v, W=None):
"""ds² = E du² + G dv² (직교 좌표)의 가우스 곡률. 계량과 그 미분만 쓴다."""
W = sp.sqrt(E * G) if W is None else W # W = √(EG)
return sp.simplify(-(sp.diff(sp.diff(G, u) / W, u) + sp.diff(sp.diff(E, v) / W, v)) / (2 * W))
r, phi, h, vt, a = sp.symbols("r phi h vartheta a", positive=True)
print("극좌표 평면 K =", gauss_K(1 + 0 * r, r**2, r, phi))
print("원기둥 K =", gauss_K(a**2 + 0 * phi, 1 + 0 * h, phi, h))
print("구면 K =", gauss_K(a**2 + 0 * vt, a**2 * sp.sin(vt)**2, vt, phi, W=a**2 * sp.sin(vt)))
# 구면의 측지 원: 북극에서 거리 r 인 점들의 둘레
C = 2 * sp.pi * a * sp.sin(r / a)
print("둘레 전개 C(r) =", sp.series(C, r, 0, 5).removeO().expand())
# 극좌표 평면 K = 0
# 원기둥 K = 0
# 구면 K = a**(-2)
# 둘레 전개 C(r) = 2*pi*r - pi*r**3/(3*a**2)
극좌표의 r²도, 원기둥의 a²도 곡률을 만들지 못했다. 구면의 둘레 전개 2πr − πr³/(3a²)를 2πr(1 − Kr²/6)과 맞춰 보면 K = 1/a²이다. 바깥에서 잰 주곡률의 곱과 같다. 가우스가 본 일치다.
한 걸음 더 — 조석력, 두 입자가 벌어지는 정도
자유낙하하는 엘리베이터 안에서 중력은 사라진다. 하지만 완전히는 아니다. 나란히 떨어지는 두 공은 지구 중심을 향하므로 조금씩 가까워진다. 나란히 출발한 두 측지선 사이의 간격 ξ(크사이)가 벌어지거나 좁혀지는 가속도가 곡률이다.
입자 하나의 중력은 좌표를 바꿔 지울 수 있지만, 두 입자의 상대 가속도는 지울 수 없다. 밀물과 썰물, 그리고 LIGO가 잡아낸 중력파가 모두 이 항을 잰 것이다.
수확
“곡률은 그 공간 안의 도구, 줄자와 각도기와 화살표로 잰다. 원의 둘레가 2πr보다 모자라면 K > 0, 남으면 K < 0. 계량만으로 계산한 곡률이 바깥에서 잰 주곡률의 곱과 같다.”
문제 10. 줄자로 잰 지구의 곡률
반지름 a인 구면에서 북극을 중심으로 (구면 위에서 잰) 거리 r인 원의 둘레는 C(r) = 2πa sin(r/a)였다. 지구(a = 6371 km)에서 r = 1000 km인 원을 잰다면 둘레는 2πr보다 몇 퍼센트 모자라는가? 그 모자란 비율에서 거꾸로 지구 반지름을 구할 수 있는가? 전개식 C(r) ≈ 2πr(1 − Kr²/6)을 r = πa/2(적도)와 r = πa(남극)에 그대로 써도 되는가? (위 위젯의 「문제 10」 단추로 구면(반지름 1)에 두 반지름을 불러올 수 있다.)
함께 풀기

북극에서 거리 r인 점은 극각 r/a에 있어요. 그 위도선의 반지름이 a sin(r/a)니까 둘레가 2πa sin(r/a)이고, 지구 값만 넣으면 돼요.

숫자도 돌렸어요. r = 1000 km면 C = 6257.4 km, 2πr은 6283.2 km. 0.41% 모자라요.

그 0.41%로 지구 반지름을 거꾸로 구할 수 있어요?

K ≈ 6(1 − C/2πr)/r²으로 두면… 반지름 6375 km가 나와요. 진짜가 6371이니 거의 맞아요. r = 100 km로 줄이면 6371.04 km고요.

그럼 이 공식으로 더 멀리 재도 되겠네요. r을 키우면 모자라는 비율이 커지니까 오히려 더 잘 보일 거예요. 적도까지 r = πa/2로 넣으면…

이상해요. 공식은 37,021 km라는데 적도 둘레는 40,030 km예요. 남극까지 r = πa를 넣으면 둘레가 −81,106 km로 음수가 나와요.

전개식에 붙어 있던 점 세 개는 뭐였죠?

r⁴ 이상의 항이요. r이 a에 비해 작을 때만 버릴 수 있어요. 이 공식은 한 점 근처의 곡률을 재는 국소 공식이지 큰 원의 둘레 공식이 아니에요. 큰 원은 정확한 식 2πa sin(r/a)를 써야 해요.

그리고 민준 학생 계산은 반대 방향으로 조심해야 해요. r을 너무 작게 하면 어떻게 될까요?

모자라는 비율이 r²에 비례하니까, r = 10 km면 0.00004%예요. 실제로 줄자로 재면 측정 오차에 묻히겠네요. 조별 과제에서 차이가 너무 작으면 채점 오차랑 구분이 안 되는 거랑 같네요.

그래서 곡률은 “너무 작지도 크지도 않은” 원으로 재요. 곡률이 정의되는 건 한 점에서지만, 재는 건 늘 적당한 크기의 이웃에서예요.
문제 11. 모든 대원을 직선으로 그리는 지도
첫 절의 파이썬에서 서울–뉴욕의 대원(지구 중심을 지나는 큰 원을 따라가는 길)은 11,052 km, (위도, 경도) 좌표의 직선은 13,716 km였다. (가) 왜 위경도 지도의 직선은 가장 짧은 길이 아닌가? (나) 대원이 모두 직선으로 보이는 지도를 만들면 그 지도 위에서 거리까지 맞출 수 있는가?
함께 풀기

(가)는 지도에서 경도 한 칸이 위도에 따라 달라서요. 고위도에서 경도 1도는 짧으니까, 북쪽으로 올라가서 경도를 많이 건너는 게 이득이에요. 대원은 그래서 북위 77도까지 올라가요.

그럼 (나)는 쉬워. 대원이 전부 직선이 되는 지도가 실제로 있어. 지구 중심에 전구를 두고, 지구에 한 점에서 닿는 평면(접평면)에 그림자를 비추는 심사도법. 대원을 품은 평면이 지구 중심을 지나니까, 그 그림자는 직선이야. 그 지도에서 자로 재면 되는 거 아냐?

심사도법 지도에서 서울 근처 1 cm와 지도 가장자리 1 cm가 같은 거리예요?

가장자리로 갈수록 그림자가 늘어나니까… 달라요. 직선은 맞는데 눈금이 틀려요.

그럼 눈금까지 맞춰서, 직선도 맞고 거리도 맞는 지도를 만들면요? 좌표만 잘 고르면 될 것 같은데요.

그런 지도가 있다면 지구 표면의 자를 평면의 자로 그대로 옮긴 거예요. 그러면 그 지도 위에 그린 원의 둘레는요?

평면이니까 2πr이어야 하는데, 지구 위에서 잰 둘레는 2πa sin(r/a)예요. 둘레는 좌표와 상관없는 값이니까 모순이에요. 가우스의 정리가 막는 거네요. 곡률이 0이 아니면 거리를 보존하는 평면 지도는 없어요.

모든 지도가 뭔가를 포기한다는 게 이거구나. 메르카토르는 각도를, 심사도법은 직선을 지키고 거리를 버리고.

그래요. (나)의 답은 "직선은 되지만 거리는 안 된다"예요. 곧음과 길이, 둘 다 지키는 평면 지도는 휜 땅에서는 불가능해요.