TT Lab
ブログ

한국어 English 日本語 中文

はじめる
ブログ

ブログ

パンテオンのドームはどのように2千年近く持ちこたえたのか:Blenderで作った解説動画

ステータス:ドラフト(2026-10-31)。 建物の数値は下記の「参考文献」の資料を開いて確認した値であり、資料間で異なる場合は範囲として記載しています。動画と図の3Dモデルは単純化したモデルであり、モデルで計算した値は「モデル計算」として別途明記しています(実際の建物の測定値ではありません)。 シリーズ:「3Dで見る建築構造」第1編。

目次

ローマのパンテオンは、今なお屋根がそのまま残っている古代の建物です。ドームの内側直径が約43mありますが、鉄筋が1本も入っていないコンクリート製です。鉄筋のないコンクリートドームとしては、現在でも世界最大とされています(Masi他 2018)。この記事は、そのドームが崩れない理由を「3Dグラフィックス+短い解説」形式の動画として作成してみた結果です。

動画

サイトの動画ルール(音声なし、1シーン30秒以下)に合わせて、4つのパートをそれぞれ1シーンずつ収めました。セリフは画面下部の字幕です。

動画:第1章 疑問と背景:外側を回ってオクルスから内部を見下ろす
動画:第2章 軽量化の4つの工夫:厚み、骨材、格天井、オクルス
動画:第3章 力の流れ:垂直方向のひび割れ、アーチ、圧縮リング、階段状リング
動画:第4章 まとめ:重量を減らし、残りの力は圧縮へ

1. どのような建物か

項目 値 参考文献
建造時期 ハドリアヌス帝の時代(在位117–138)。118年から128年頃、遅ければそれ以降ともされる Masi他 2018、Plunkett 2016
ドーム内側直径 約43.3m。測量により43.3–44.08m Masi他 2018(de Fine Licht 1968を引用)、Moore 2002、Plunkett 2016
高さ 内側直径とほぼ同じ。直径43.3mの球が床に接して収まる比例関係 Masi他 2018、Moore 2002
鉄筋 なし。鉄やその他の補強材は入っていない Moore 2002、Masi他 2018
円筒壁の厚み 約6m(柱の部分は約20フィート) Moore 2002
ドームの厚み 下部約5.9m → 上部約1.5m。別のまとめでは下部約4m → オクルス約1m Masi他 2018、Plunkett 2016
オクルスの直径 約9m(約30フィート)。27フィート(約8.2m)とする資料もある Moore 2002、PBS Building Big
格天井 5段、1段あたり28区画、合計140区画 Moore 2002、Masi他 2018
階段状リング ドーム下部外側に7段 Moore 2002

正確な球形ではありません。精密測量を見ると、ドームと円筒は完全な半球・円筒からわずかに外れています(Plunkett 2016)。動画と図では、直径43.3mの球を基準として単純化しています。

2. コンクリートは圧縮に強く、引張に弱い

石やコンクリートは押す力(圧縮)にはよく耐えますが、引っ張る力(引張)にはすぐに亀裂が入ってしまいます。Masi他(2018)がドームの解析に使用した数値を見ると、コンクリートの圧縮強度は約5MPaとし、ドームのコンクリートの引張強度は0.08MPaとしています。60倍以上の差があります(実験文献から選ばれた 解析用の仮定値です)。

そのため、パンテオンの設計は2つの方向から読み解くことができます。1つは 重量そのものを減らすことであり、もう1つは 残った力が圧縮力として流れるようにすることです。

3. 重量感を削ぎ落とした4つの要素

판테온 원형당 단면(단순화 모형)과 콘크리트 밀도 안쪽 지름 약 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.9mから上部の約1.5mまで変化します(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. オクルス。 頂上の中央部、直径約9mを空けています。光が差し込む窓であり、ドームの最も高い位置の重量を取り除いた場所です。

上に行くほど軽くしなければならない理由は、上部の重量であるほどドーム下部を外側に押し出す力(スラスト)を大きくするためです。軽い上部のコンクリートは、受け止める壁にかかるスラストを軽減し、ドームをより安定させます(Plunkett 2016)。

モデル計算。 動画の単純モデルにおいて、工夫を1つずつ元に戻して「ドームが始まる高さより上」の質量を比較してみました(計算スクリプトは下記の「どのように作ったか」を参照)。

元に戻した工夫 モデルドームの質量
(モデルそのまま) 基準
骨材を上部まで下部と同じ1,600 kg/m³にした場合 +2.7%
格天井を埋めた場合 +6.7%
オクルスを同じ厚みで塞いだ場合 +0.5%
階段上の外側表面を上部まで5.9mの厚みにした場合 体積 +34%

この表は、モデルのゾーンの境界や格天井の深さをどのように設定するかによって大きく変動するため、あくまで大まかな傾向としてご覧ください。実際の建物の質量比較ではありません。質量としては「厚み」の影響が最も大きく、オクルスは小さいですが、オクルスおよび上部の骨材は 最も高い場所の重量であるため、スラストを軽減する効果は質量比よりも大きくなります。

4. 力の流れ:ひび割れたドームが立つ仕組み

균열 전과 뒤: 돔이 버티는 방식 균열 전(이론): 고른 두께의 반구 위쪽: 둘레 방향도 누름(압축) 아래쪽(붉은 띠): 둘레가 벌어지는 당김 → 세로 균열 경계는 약 52° 높이(이론), 실제 균열은 약 54°–57° 까지 균열 뒤: 위에서 본 돔 점선 = 세로 균열, 화살표 = 아치가 미는 힘 가운데 고리 = 아치들이 맞대는 압축 고리(오큘러스 둘레)
図:ひび割れ前は下部が円周方向に引っ張られ、ひび割れ後は複数のアーチがオクルスリングに寄りかかって立つ

垂直方向のひび割れ。 均等な厚みを持つ半球ドームは、自重のために下部の円周部分が広がろうとします(円周方向の引張)。理論上の境界は約52°の高さです(Masi他 2018がFlüggeを引用)。パンテオンのドームの内側には下から上へと伸びる垂直なひび割れがあり、1930年代の調査では14本描かれました。ひび割れは約54°の高さ(Mark & Hutchinson 1986、Moore 2002によるまとめ)から約57°の高さ(Masi他 2018)の間で停止しています。上部は円周方向にも圧縮されるゾーンであるため、ひび割れがそれ以上広がりません。

複数のアーチ。 ひび割れたドームは1つの殻ではなく、円筒壁の上から頂上に向かって寄りかかって立ち上がる くさび形の複数のアーチとして機能します。アーチは圧縮力によって立ちます。Mark & Hutchinson(1986)はこのように捉えており、Masi他(2018)の3次元解析でも、ひび割れの生じたドームがそのように挙動することが確認されました。Masi他は、ひび割れの主な原因として初期コンクリートの収縮と自重を挙げています。

オクルス圧縮リング。 アーチ同士が突き当たる場所がオクルスの周囲です。アーチが四方から押す力をこのリングが受け止めるため、リングは圧縮を受けます。パンテオンのオクルスの周囲には、レンガを立てて積んだ縁取りと青銅のリングがあります(Moore 2002)。

階段状リング。 ドーム下部の外側にある7段の階段については、解釈が分かれています。

5. まとめ

パンテオンのドームは、材料の弱点(引張力)を形状によって回避しました。上に行くほど薄く軽く作ることでスラストを軽減し、ひび割れが入ったとしても残りの構造がアーチのように圧縮力だけで立つようにしました。オクルス周囲のリングがそれらのアーチを受け止め、厚い円筒壁がその力を基礎へと伝えています。

この動画をどのように作ったか

ツール。 Blender 5.2.3 LTS(公式配布版)、BlenderのPython API、レンダラーにEevee、動画編集にはffmpeg、字幕の描画にはPython(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へと変化させて成長させました。カメラ、表示・非表示、背景色はすべて1つのタイムライン(秒単位)でキーフレームを設定しています。

レンダリング。 1920×1080、30 fps、3,000フレーム(100秒)をEevee(64サンプル、レイトレーシング有効)により、1台のノートPC(AppleシリコンGPU)でレンダリングしました。1フレームあたりの中央値は0.86秒(最も遅いフレームで1.43秒)、保存処理を含めた全体で45分33秒かかりました。シーンを構築するスクリプト自体は4秒以内に完了します(ブーリアン処理を含む)。

字幕と編集。 ナレーションは音声合成(TTS)で入れる計画でしたが、今回のバージョンは字幕のみで制作しました。サイトの動画ルールでも音声トラックは受け付けていません。字幕・ネームプレート・凡例はフレームごとに透明レイヤーで重ね合わせた後、ffmpegでH.264にまとめ、サイト用には章ごとに分割して1280×720に縮小し、エンコーダー情報などのメタデータを削除しました。凡例の色はマテリアルカラーではなく、レンダリングした断面から直接抽出しました(カラーマネジメントのため画面の色がマテリアルの値と異なるためです)。

出典

ログインするといいねできます

コメント

まだコメントはありません。

ログインするとコメントできます