TT Lab
블로그

한국어 English 日本語 中文

시작하기
블로그

블로그

판테온 돔은 어떻게 2천 년 가까이 버텼나: Blender 로 만든 해설 영상

상태: 초안 (2026-10-31). 건물의 숫자는 아래 「출처」의 자료를 열어 확인한 값이고, 자료끼리 다르면 범위로 적었습니다. 영상과 그림의 3D 모형은 단순화한 모형이며, 모형으로 계산한 값은 「모형 계산」으로 따로 표시했습니다(실제 건물의 측정값이 아닙니다). 시리즈: 「3D 로 보는 건축 구조」 1편.

목차

로마의 판테온은 지금도 지붕이 그대로 있는 고대 건물입니다. 돔 안쪽 지름이 약 43 m 인데, 철근이 한 가닥도 없는 콘크리트입니다. 철근 없는 콘크리트 돔으로는 지금도 세계에서 가장 크다고 봅니다(Masi 외 2018). 이 글은 그 돔이 무너지지 않는 이유를 「3D 그래픽 + 짧은 해설」 형식의 영상으로 만들어 본 결과입니다.

영상

사이트의 영상 규칙(소리 없음, 한 토막 30초 이하)에 맞춰 네 장을 한 토막씩 넣었습니다. 대사는 화면 아래 자막입니다.

영상: 1장 질문과 배경: 바깥을 돌아 오큘러스로 내려가 안을 본다
영상: 2장 무게 줄이기 네 가지: 두께, 골재, 격자 천장, 오큘러스
영상: 3장 힘의 흐름: 세로 균열, 아치, 압축 고리, 계단식 고리
영상: 4장 정리: 무게를 덜고, 남은 힘은 압축으로

1. 어떤 건물인가

항목 값 출처
지은 때 하드리아누스 황제 시대(재위 117–138). 118년부터 128년 무렵, 늦게는 그 뒤까지로 본다 Masi 외 2018, Plunkett 2016
돔 안쪽 지름 약 43.3 m. 측량에 따라 43.3–44.08 m Masi 외 2018(de Fine Licht 1968 인용), Moore 2002, Plunkett 2016
높이 안쪽 지름과 거의 같다. 지름 43.3 m 의 공이 바닥에 닿으며 들어가는 비례 Masi 외 2018, Moore 2002
철근 없음. 쇠나 다른 보강재가 들어 있지 않다 Moore 2002, Masi 외 2018
원통 벽 두께 약 6 m(기둥 부분 약 20 ft) Moore 2002
돔 두께 아래 약 5.9 m → 위 약 1.5 m. 다른 정리는 아래 4 m → 오큘러스 1 m Masi 외 2018, Plunkett 2016
오큘러스 지름 약 9 m(약 30 ft). 27 ft(약 8.2 m)로 적는 자료도 있다 Moore 2002, PBS Building Big
격자 천장 5단, 단마다 28칸, 모두 140칸 Moore 2002, Masi 외 2018
계단식 고리 돔 아래쪽 바깥에 7단 Moore 2002

정확한 공 모양은 아닙니다. 정밀 측량을 보면 돔과 원통이 완전한 반구·원통에서 조금씩 벗어나 있습니다(Plunkett 2016). 영상과 그림은 지름 43.3 m 의 공을 기준으로 단순화했습니다.

2. 콘크리트는 누르기에 강하고 당기기에 약하다

돌과 콘크리트는 누르는 힘(압축)은 잘 견디지만 당기는 힘(인장)에는 금방 갈라집니다. Masi 외(2018)가 돔 해석에 쓴 값을 보면, 콘크리트 압축 강도는 약 5 MPa 로 두고 돔 콘크리트의 인장 강도는 0.08 MPa 로 두었습니다. 60배 넘게 차이가 납니다(실험 문헌에서 고른 해석용 가정값입니다).

그래서 판테온의 설계는 두 방향으로 읽을 수 있습니다. 하나는 무게 자체를 줄이는 것, 다른 하나는 남은 힘이 누르는 힘으로 흐르게 하는 것입니다.

3. 무게를 덜어 낸 네 가지

판테온 원형당 단면(단순화 모형)과 콘크리트 밀도 안쪽 지름 약 43.3 m 높이도 거의 같다(공이 바닥에 닿는다) 원통 벽 약 6 m 계단식 고리 7단 꼭대기 두께 약 1.5 m 오큘러스 지름 약 8에서 9 m 돔 아래쪽 약 6 m 위 1,350 가운데 1,500 아래 1,600 원통 벽 1,750 기초 2,000 밀도 kg/m³: Mark & Hutchinson 1986 의 값(Masi 외 2018 표 1). 구역 경계 높이와 기초 크기는 그림을 위한 개략값.
그림: 판테온 원형당 단면(단순화 모형)과 구역별 콘크리트 밀도
  1. 두께. 돔은 아래가 두껍고 위로 갈수록 얇아집니다. 아래 약 5.9 m 에서 위 약 1.5 m 까지입니다(Masi 외 2018).
  2. 골재. 로마 콘크리트는 화산재(포졸라나)를 쓴 모르타르에 돌 조각(골재)을 섞은 것입니다(Masi 외 2018). 기초에는 무거운 트래버틴을, 돔의 가장 높은 곳에는 가벼운 응회암과 경석을 썼습니다(Moore 2002). 해석 논문들이 쓰는 구역별 밀도는 기초 2,000, 원통 벽 1,750, 돔 아래 1,600, 가운데 1,500, 위 1,350 kg/m³ 입니다(Masi 외 2018 표 1, Mark & Hutchinson 1986 의 값을 따랐다고 밝힘). 다만 밀도가 어느 높이에서 바뀌는지, 몇 가지 재료였는지는 아직 확정되지 않았습니다(Plunkett 2016).
  3. 격자 천장. 돔 안쪽을 5단 × 28칸으로 파냈습니다. 장식이면서 무게를 줄이는 구조이기도 합니다(Moore 2002, Masi 외 2018).
  4. 오큘러스. 꼭대기 가운데 지름 약 9 m 를 비웠습니다. 빛이 들어오는 창이면서, 돔에서 가장 높은 곳의 무게를 없앤 자리입니다.

위로 갈수록 가벼워야 하는 까닭은 위쪽 무게일수록 돔 아래쪽을 바깥으로 미는 힘(추력)을 키우기 때문입니다. 가벼운 위쪽 콘크리트는 받치는 벽에 걸리는 추력을 줄여 돔을 더 안정하게 합니다(Plunkett 2016).

모형 계산. 영상의 단순 모형에서 장치를 하나씩 되돌려 「돔이 시작하는 높이 위」의 질량을 비교해 보았습니다(계산 스크립트는 아래 「어떻게 만들었나」).

되돌린 장치 모형 돔 질량
(모형 그대로) 기준
골재를 위까지 아래와 같은 1,600 kg/m³ 로 +2.7%
격자 천장을 메우면 +6.7%
오큘러스를 같은 두께로 막으면 +0.5%
계단 위 겉면을 위까지 5.9 m 두께로 부피 +34%

이 표는 모형의 구역 경계와 격자 깊이를 어떻게 잡느냐에 따라 크게 달라지므로 크기의 감만 보시기 바랍니다. 실제 건물의 질량 비교가 아닙니다. 질량으로는 「두께」가 가장 크고 오큘러스는 작지만, 오큘러스와 위쪽 골재는 가장 높은 곳의 무게라서 추력을 줄이는 효과가 질량 비율보다 큽니다.

4. 힘의 흐름: 금이 간 돔이 서 있는 방식

균열 전과 뒤: 돔이 버티는 방식 균열 전(이론): 고른 두께의 반구 위쪽: 둘레 방향도 누름(압축) 아래쪽(붉은 띠): 둘레가 벌어지는 당김 → 세로 균열 경계는 약 52° 높이(이론), 실제 균열은 약 54°–57° 까지 균열 뒤: 위에서 본 돔 점선 = 세로 균열, 화살표 = 아치가 미는 힘 가운데 고리 = 아치들이 맞대는 압축 고리(오큘러스 둘레)
그림: 균열 전에는 아래쪽이 둘레 방향으로 당겨지고, 균열 뒤에는 아치 여러 개가 오큘러스 고리에 기대어 선다

세로 균열. 고른 두께의 반구 돔은 무게 때문에 아래쪽 둘레가 벌어지려 합니다(둘레 방향 인장). 이론상 그 경계는 약 52° 높이입니다(Masi 외 2018 이 Flügge 를 인용). 판테온 돔 안쪽에는 아래에서 위로 뻗은 세로 균열이 있고, 1930년대 조사에서 14줄로 그려졌습니다. 균열은 약 54° 높이(Mark & Hutchinson 1986, Moore 2002 의 정리)에서 약 57° 높이(Masi 외 2018) 사이에서 멈춥니다. 위쪽은 둘레 방향으로도 눌리는 구역이라 균열이 더 자라지 못합니다.

아치 여러 개. 금이 간 돔은 하나의 껍질이 아니라, 원통 벽 위에서 꼭대기로 기대어 올라가는 쐐기 모양 아치 여러 개처럼 일합니다. 아치는 누르는 힘으로 섭니다. Mark & Hutchinson(1986)이 이렇게 보았고, Masi 외(2018)의 3차원 해석도 균열이 생긴 돔이 그렇게 움직이는 것을 확인했습니다. Masi 외는 균열의 주된 원인으로 초기 콘크리트의 수축과 자중을 꼽았습니다.

오큘러스 압축 고리. 아치들이 맞대는 곳이 오큘러스 둘레입니다. 아치가 사방에서 미는 힘을 이 고리가 받으므로 고리는 압축을 받습니다. 판테온의 오큘러스 둘레에는 벽돌을 세워 쌓은 테와 청동 고리가 있습니다(Moore 2002).

계단식 고리. 돔 아래쪽 바깥의 7단 계단은 해석이 갈립니다.

5. 정리

판테온 돔은 재료의 약점(당기는 힘)을 모양으로 피했습니다. 위로 갈수록 얇고 가볍게 만들어 추력을 줄였고, 금이 가더라도 남은 구조가 아치처럼 압축만으로 서게 했습니다. 오큘러스 둘레의 고리가 그 아치들을 맞받고, 두꺼운 원통 벽이 그 힘을 기초로 내립니다.

이 영상을 어떻게 만들었나

도구. Blender 5.2.3 LTS(공식 배포판), Blender 의 파이썬 API, 렌더러 Eevee, 영상 편집은 ffmpeg, 자막 글자는 파이썬(Pillow)으로 그렸습니다. 글꼴은 Blender 에 들어 있는 Noto Sans CJK(SIL Open Font License)입니다. 3D 소재는 하나도 내려받지 않고 모두 스크립트로 만들었습니다.

절차적 모형. 건물의 반쪽 단면을 (반지름, 높이) 다각형으로 정의하고, 그것을 세로축으로 돌려 입체를 만듭니다. 밀도 구역마다 단면을 높이로 잘라 따로 돌렸기 때문에, 앞쪽 반을 치우면 잘린 면이 구역별 색으로 보입니다.

def spin_profile(name, poly, a0, a1, seg=96, mat=None):
    """(r, z) 다각형을 a0→a1 (라디안) 만큼 돌린 닫힌 회전체."""
    bm = bmesh.new()
    verts = [bm.verts.new((r * cos(a0), r * sin(a0), z)) for r, z in poly]
    face = bm.faces.new(verts)
    bmesh.ops.spin(bm, geom=[face] + verts + list(face.edges), cent=(0, 0, 0),
                   axis=(0, 0, 1), angle=a1 - a0, steps=seg, use_duplicate=False)
    bmesh.ops.recalc_face_normals(bm, faces=bm.faces)
    ...

# 앞쪽 반(π..2π)과 뒤쪽 반(0..π)을 따로 만든다. 단면 보기는 앞쪽 반을 들어 올려 치우는 것.
for half, (a0, a1) in {"back": (0, pi), "front": (pi, 2 * pi)}.items():
    for name, poly, mat in pieces:            # 기초·원통 벽·돔 아래·가운데·위·오큘러스 고리·계단
        ob = spin_profile(f"{name}_{half}", poly, a0, a1, mat=mat)

격자 천장 140칸은 칸마다 육면체를 만들어 불리언(차집합)으로 파냈고, 파낸 면에 따로 재질이 붙게 해서 2장에서 파랗게 빛나게 했습니다. 균열·아치·화살표는 곡선의 「끝 비율」을 키프레임으로 0에서 1로 움직여 자라게 했습니다. 카메라, 보이기·숨기기, 배경색은 모두 하나의 시간표(초 단위)로 키프레임을 넣었습니다.

렌더. 1920×1080, 30 fps, 3,000프레임(100초)을 Eevee(64샘플, 레이 트레이싱 켬)로 노트북 한 대(Apple 실리콘 GPU)에서 렌더했습니다. 프레임당 중앙값 0.86초(가장 느린 프레임 1.43초), 저장까지 포함한 전체는 45분 33초가 걸렸습니다. 장면을 만드는 스크립트 자체는 4초 안에 끝납니다(불리언 포함).

자막과 편집. 내레이션은 음성 합성(TTS)으로 넣을 계획이었지만 이번 판은 자막만으로 만들었습니다. 사이트 영상 규칙도 소리 트랙을 받지 않습니다. 자막·이름표·범례는 프레임마다 투명 판으로 겹친 뒤 ffmpeg 로 H.264 로 묶었고, 사이트용으로는 장마다 잘라 1280×720 으로 줄이고 인코더 정보 같은 메타데이터를 지웠습니다. 범례 색은 재질 색이 아니라 렌더한 단면에서 직접 뽑았습니다(색 관리 때문에 화면 색이 재질 값과 다르기 때문입니다).

출처

로그인하면 좋아요를 누를 수 있습니다

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다