06. 여섯 번째 수업: 파이썬으로 쪼개어 증명하는 $\pi$ 무한 루프 (Python Archimedes Loop)
기원전 아르키메데스는 모래밭에 원을 그리고 고작 정 $\mathbf{96}$ 각형 폴리곤 껍데기를 그리며 눈알 빠지게 극한값 $\pi(3.14…)$ 비율을 계산했습니다. 하지만 우리 앞에는 무한한 연산력을 가진 파이썬 인터프리터(CPU) 루프 엔진이 있습니다.
수학자들의 한을 풀어주기 위해, 파이썬 스크립트 루프 문(for Loop) 을 가동하여 안쪽 폴리곤(내접 다각형) 과 바깥쪽 껍질 폴리곤(외접 다각형) 의 둘레 길이를 극한으로 잘게 썰어서, 진짜 $\pi$ 무리수의 소수점 값을 미친 듯이 조여 들어가는 샌드위치 해킹 알고리즘 기계를 구동시켜 보겠습니다!
1. 아르키메데스의 파이($\pi$) 착즙기 가동!
아르키메데스의 원리는 삼각함수 파편 각도 코드를 사용합니다. 반지름이 $1$(기본 사이즈 원) 인 둥근 공간 안쪽과 바깥쪽에 그려지는 정 $n$ 다각형 껍데기의 둘레 압력을 삼각 코사인 탄젠트 함수로 파싱하면 둘레 값 코드가 이렇게 떨어집니다.
- 내접 $n$각형 (원 안쪽 껍데기) 둘레: $n \times \sin(\frac{180^\circ}{n})$
- 외접 $n$각형 (원 바깥 껍데기) 둘레: $n \times \tan(\frac{180^\circ}{n})$
이제 파이썬 CPU 속에서 저 자잘한 모서리 각형 수 $n$ 의 개수를 폴리곤 $6$개부터 수조 단위까지 루프로 뻥튀기 팽창시켜 보며 콘솔 모니터로 파이 $\pi$ 의 정체가 어떻게 드러나는지 해킹 스크린 렌더링을 띄워봅시다.
# [Python Code] 아르키메데스의 극한의 폴리곤 π(파이) 도출 시뮬레이터
import math
# 폴리곤 N각형의 개수를 점점 찢어서 늘려볼 리스트 배열을 준비합니다.
# (6각형부터, 지구 해상도를 넘기는 10억 각형까지 극한으로 썰어보자!)
polygon_sides_n = [6, 12, 96, 1000, 1000000, 1000000000]
print("=== [아르키메데스 극한 파이(Pi) 착즙 시스템 가동!] ===")
for n in polygon_sides_n:
# 파이썬 math 모듈 삼각함수는 라디안 앵글각을 받으므로 환산해 줍니다.
angle_rad = math.pi / n # (180도 / n)
# 내접 다각형 절반 길이를 튕긴 계산 루프
# (결과가 지름(2)일 때의 파이 값에 대응하도록 1배로 보정 출력)
inner_pi = n * math.sin(angle_rad)
# 외접 방어막 다각형 절반 길이 루프
outer_pi = n * math.tan(angle_rad)
print(f"\n[CPU 타겟: 정 {n:,} 다각형 렌더링]")
print(f" -> 원 내부 한계 (하한선): {inner_pi:.11f}...")
print(f" -> 원 외부 폭파 (상한선): {outer_pi:.11f}...")
# 끝으로 진짜 우주 상수 파이 값 정답을 출력
print(f"\n[System] 우주의 진짜 상수 math.pi = {math.pi:.11f}...")
2. 콘솔 렌더링 결과 (우주의 암호가 풀리는 순간)
코드 런! Shift + Enter 를 때리면 아래와 같은 소름 돋는 극한 루프가 텍스트 모니터에 터져 나옵니다.
[실행 결과 콘솔]
=== [아르키메데스 극한 파이(Pi) 착즙 시스템 가동!] ===
[CPU 타겟: 정 6 다각형 렌더링]
-> 원 내부 한계 (하한선): 3.00000000000...
-> 원 외부 폭파 (상한선): 3.46410161514...
[CPU 타겟: 정 12 다각형 렌더링]
-> 원 내부 한계 (하한선): 3.10582854123...
-> 원 외부 폭파 (상한선): 3.21539030917...
[CPU 타겟: 정 96 다각형 렌더링] (아르키메데스 평생의 노가다 수작업 도달 수치)
-> 원 내부 한계 (하한선): 3.14103195089...
-> 원 외부 폭파 (상한선): 3.14271459965...
[CPU 타겟: 정 1,000 다각형 렌더링]
-> 원 내부 한계 (하한선): 3.14158748588...
-> 원 외부 폭파 (상한선): 3.14160298905...
[CPU 타겟: 정 1,000,000 다각형 렌더링] (머리카락보다 얇은 나노미터 각형)
-> 원 내부 한계 (하한선): 3.14159265359...
-> 원 외부 폭파 (상한선): 3.14159265359...
[CPU 타겟: 정 1,000,000,000 다각형 렌더링] (컴퓨터 메모리 찢어지는 10억 각형!)
-> 원 내부 한계 (하한선): 3.14159265359...
-> 원 외부 폭파 (상한선): 3.14159265359...
[System] 우주의 진짜 상수 math.pi = 3.14159265359...
보이십니까? $96$각형을 넘어서며 $3.14$ 단위를 맞추기 시작하더니, 수백만 폴리곤 조각($1,000,000$ 각형) 렌더링으로 뻗어가자 드디어 원 안쪽과 바깥쪽의 모서리 껍데기 갭(Gap) 이 소수점 $11$번째 자리까지 단 $\mathbf{1\%}$ 의 오차 없이 $3.14159265359…$ (우주 파이 패스워드) 라는 동일한 절대 숫자로 조여들어와 무너져 충돌 압착 융합해 버렸습니다!!!
원(Circle) 이란 단순히 신이 만들어낸 예쁜 동그라미 도형이 아닙니다. 무한대로 쪼개진 미세 직선 폴리곤(사각형, 삼각형 부품) 들이 수조 개 단위로 무한히 극한 리미트 함수를 타고 도달하는 궁극의 인공적인 곡면 부드러움 렌더링의 종착지인 것입니다. 그래서 원을 배우면 미적분의 무한 쪼개기 시스템 철학을 무의식적으로 장착하게 됩니다.
이로써 인류의 수레바퀴인 수학이야기 28, [원의 기초(개념 해킹 팩)]를 종료합니다. 다음 원(원 2번째, 모듈 72) 단원에서는 원의 테두리를 폭발 비집고 관통해버리는 직선 레이저, 접선(Tangent)과 할선(Secant)의 미친 기하학적 난타전 우주 비행선 궤도 각도 싸움으로 다시 찾아오겠습니다!