Artoke

피타고라스 정리 — 두 관절 사이 뼈 길이 재기

피타고라스 정리 — 두 관절 사이 뼈 길이 재기 대표 이미지
출처: 피타고라스 정리 — 두 관절 사이 뼈 길이 재기

피타고라스 정리 — 두 관절 사이 뼈 길이 재기

팔꿈치가 여기 있고, 손목이 저기 있어요. 그 사이 뼈는 몇 센티일까요?

자를 대고 재면 되죠. 그런데 컴퓨터 안에서는 자를 댈 수가 없어요. 컴퓨터는 뼈를 못 보거든요. 컴퓨터가 아는 건 딱 두 가지, 팔꿈치의 위치와 손목의 위치뿐이에요.

그럼 어떻게 재냐고요? 여기서 아주 오래된 규칙 하나가 등장합니다. 이름이 좀 어려워요. 피타고라스 정리.

먼저, 위치는 숫자 두 개예요

컴퓨터가 점의 위치를 기억하는 방법은 아주 단순해요. 숫자 두 개를 적어둡니다.

교실 자리를 떠올려 보세요. "앞에서 셋째 줄, 왼쪽에서 둘째 자리." 이렇게 말하면 누구나 그 자리를 찾을 수 있죠. 숫자 두 개면 충분해요.

컴퓨터도 똑같아요. 팔꿈치는 (2, 1), 손목은 (6, 4). 이런 식으로 적어둡니다. 앞 숫자는 가로로 얼마나 갔는지, 뒤 숫자는 세로로 얼마나 올라갔는지예요.

비스듬한 길이는 왜 어려울까

가로로만 간 거리는 쉬워요. 2에서 6까지니까 4칸.

세로로만 간 거리도 쉬워요. 1에서 4까지니까 3칸.

그런데 뼈는 가로로도 안 가고 세로로도 안 가요. 비스듬하게 가죠. 그 비스듬한 길이가 우리가 알고 싶은 진짜 뼈 길이예요.

이 비스듬한 길이는 그냥 4 더하기 3, 7이 아니에요. 계단으로 빙 돌아가면 7칸이지만, 대각선으로 질러가면 그보다 짧거든요. 지름길이 더 짧은 건 당연하잖아요.

그럼 얼마나 짧을까요? 이걸 정확히 알려주는 게 피타고라스 정리입니다.

피타고라스 정리 — 두 관절 사이 뼈 길이 재기 도식

규칙은 이렇게 생겼어요

가로로 간 칸 수를 제 자신과 곱해요. 세로로 간 칸 수도 제 자신과 곱해요. 그 둘을 더해요. 마지막으로 그 답을 거꾸로 풀어요.

우리 예시로 해볼까요.

  • 가로 4칸 → 4 곱하기 4 = 16
  • 세로 3칸 → 3 곱하기 3 = 9
  • 더하면 → 16 + 9 = 25
  • 거꾸로 풀면 → 5 곱하기 5가 25니까, 답은 5

뼈 길이는 5칸이에요. 계단으로 가면 7칸인데, 대각선으로는 5칸. 훨씬 짧죠.

"제 자신과 곱한다"는 말이 낯설 수 있어요. 이건 사실 정사각형 넓이를 구하는 거예요. 한 변이 4인 정사각형의 넓이는 16이잖아요. 그래서 이 규칙을 그림으로 그리면 정사각형 세 개가 나옵니다.

정사각형 세 개 이야기

직각삼각형의 세 변마다 정사각형을 하나씩 붙여봐요.

짧은 변 두 개에 붙은 정사각형의 넓이를 합치면, 신기하게도 제일 긴 변에 붙은 정사각형 넓이와 똑같아요. 16 더하기 9는 25. 딱 맞습니다.

이게 피타고라스 정리의 진짜 모습이에요. 길이 이야기 같지만 사실은 넓이 이야기죠.

피타고라스 정리 — 두 관절 사이 뼈 길이 재기 도식
정사각형 안에 직각삼각형 네 개를 배치해 피타고라스 정리를 보여주는 그림
Diagram of the two algebraic proofs · 출처: 피타고라스 정리 — 두 관절 사이 뼈 길이 재기

왜 그런지 눈으로 보기

"진짜 항상 맞아?" 궁금하죠. 종이 한 장으로 확인할 수 있어요.

큰 정사각형 안에 똑같은 직각삼각형 네 개를 넣어봅니다. 삼각형을 이리저리 옮겨도 삼각형이 차지하는 넓이는 그대로예요. 그러니까 남는 빈 공간의 넓이도 그대로죠.

그런데 삼각형을 한 번 배치하면 빈 공간이 정사각형 두 개(16과 9)로 보이고, 다르게 배치하면 큰 정사각형 하나(25)로 보여요. 같은 넓이가 모양만 바뀐 거예요.

그래서 16 더하기 9는 25일 수밖에 없습니다. 우연이 아니에요.

삼각형을 옮기며 빈 공간의 넓이가 그대로임을 보여주는 움직이는 증명
Rearrangement proof of the Pythagorean theorem. (The area of the white space remains constant throughout the translation rearrangement of the triangles. At all moments in time, the area is always c 2 · 출처: 피타고라스 정리 — 두 관절 사이 뼈 길이 재기

이걸 알면 좋아지는 점

이 규칙 하나를 알면 손에 들어오는 게 꽤 많아요.

자 없이도 잰다. 두 점의 위치만 알면 그 사이 거리가 나와요. 화면 속 캐릭터의 뼈, 지도 위 두 건물 사이, 게임 속 두 캐릭터 사이 거리까지 전부 같은 방법입니다.

움직임이 이상한 걸 알아챈다. 뼈 길이는 원래 변하지 않아요. 팔을 굽혔다 폈다 해도 팔꿈치와 손목 사이 거리는 똑같아야 하죠. 그런데 계산해 봤더니 어떤 순간에는 5고 어떤 순간에는 8이라면? 그 동작 데이터에 문제가 있는 거예요. 눈으로는 못 잡는 오류를 숫자가 잡아줍니다.

다른 것도 함께 열린다. 원의 성질, 좌표 위의 거리, 3차원 공간에서의 거리까지 전부 이 규칙에서 뻗어 나가요. 하나 알면 여러 개가 따라옵니다.

모르면 겪는 문제

반대로, 이걸 모르면 답답한 순간이 옵니다.

비스듬한 걸 만나면 멈춘다. 가로 거리, 세로 거리는 뺄셈으로 구하지만 대각선은 방법이 없어요. 그런데 세상 대부분의 선은 비스듬해요. 팔도, 다리도, 걸어가는 길도요.

7이라고 잘못 답한다. 4 더하기 3은 7이니까요. 계단으로 돌아간 거리를 지름길 거리라고 착각하는 거죠. 실제 답 5보다 40퍼센트나 큰 값이에요. 이런 오차가 쌓이면 캐릭터 팔이 고무줄처럼 늘어나 보입니다.

왜 틀렸는지 모른다. 화면 속 동작이 어색한데 원인을 못 찾아요. 뼈 길이를 계산해 보면 몇 번째 프레임에서 값이 튀는지 바로 보이는데, 그 계산법을 모르면 그냥 눈으로 계속 돌려보는 수밖에 없거든요.

기억할 순서

복잡해 보이지만 순서는 딱 네 단계예요.

  1. 가로로 얼마나 갔는지 센다
  2. 세로로 얼마나 갔는지 센다
  3. 각각 제 자신과 곱해서 더한다
  4. 거꾸로 풀어서 답을 꺼낸다

연습 하나 해볼까요. 어깨가 (0, 0)이고 팔꿈치가 (12, 5)라면요? 가로 12, 세로 5. 144 더하기 25는 169. 13 곱하기 13이 169니까 답은 13이에요.

4000년 전에도 알았어요

이 규칙, 피타고라스라는 사람 이름이 붙어 있지만 그 사람이 처음 발견한 건 아니에요.

바빌로니아 사람들이 진흙판에 새겨둔 숫자표가 남아 있는데, 거기에 이미 3-4-5 같은 숫자 짝들이 적혀 있습니다. 피타고라스보다 1000년 넘게 앞선 기록이에요.

중국의 옛 수학책에도 같은 규칙이 그림과 함께 실려 있어요. 서로 멀리 떨어진 곳에서, 서로 모른 채로 같은 걸 발견한 거죠.

왜 그랬을까요? 땅을 나누고, 건물을 세우고, 직각을 정확히 잡으려면 이 규칙이 꼭 필요했거든요. 필요한 사람은 어디서든 찾아내게 되어 있나 봐요.

바빌로니아 시대 숫자표가 새겨진 점토판 플림프턴 322
The Plimpton 322 tablet records Pythagorean triples from Babylonian times. [ 3 ] · 출처: 피타고라스 정리 — 두 관절 사이 뼈 길이 재기

정리

두 관절 사이 뼈 길이를 재는 방법은 결국 이거예요.

가로로 간 거리와 세로로 간 거리를 각각 제 자신과 곱해서 더하고, 거꾸로 푼다. 그러면 비스듬한 진짜 거리가 나온다.

4000년 전 진흙판에 새겨진 규칙이, 오늘 화면 속 캐릭터의 팔을 재는 데 그대로 쓰이고 있어요. 좋은 규칙은 오래갑니다.

출처

광고

리깅 파이프라인 자동화 도구

반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.

리깅 도구 보기