Da Vinci Vitruvian Man anatomy revolution golden ratio analysis

達文西的解剖學革命

系列:文藝復興的數位重生 #03/12 | 閱讀時間:25-30分鐘 | 程式語言:Python (NumPy, Matplotlib)


當藝術家拿起手術刀

1510年冬天,佛羅倫斯。

聖瑪麗亞新教堂醫院的停屍間。

一位老人剛剛過世,享年百歲。

幾小時後,一個穿著工作服的男人走進來,點起蠟燭,拿出手術刀。

他不是醫生。

他是畫家。

這個畫家叫李奧納多·達文西(Leonardo da Vinci),當時58歲。

全歐洲最著名的藝術家。

《蒙娜麗莎》剛畫完不久。
《最後的晚餐》在米蘭引發轟動。

但這晚,他不是來畫畫的。

他是來解剖屍體的。


接下來的數小時裡,達文西系統性地解剖這位百歲老人:

切開胸腔。
取出心臟。
檢視血管。
分離肌肉。
測量骨骼。

他在筆記本上密密麻麻地記錄每個發現。

繪製精確到毫米的解剖圖。

這不是他第一次。

也不是最後一次。

在1485到1515的30年間,達文西解剖了超過30具人體,繪製了超過200頁的解剖筆記。

為什麼?

為什麼一個畫家要做這些?

他的答案很簡單:

“要畫人,必須先理解人。”

但這個簡單的答案,背後是一場革命。

藝術與科學的界線開始模糊。
觀察取代了權威。
實驗證據挑戰了古老教條。

在這篇文章裡,我會用Python重現達文西最著名的解剖學研究:維特魯威人的人體比例。我會分析他的科學方法如何領先時代300年,並探討一個深刻的問題:

藝術與科學,真的有界線嗎?

準備好跟隨達文西的手術刀,進入人體的秘密世界了嗎?


背景:15世紀的醫學有多落後

要理解達文西的革命性,我們必須先了解當時的醫學。

蓋倫的千年統治

15世紀的歐洲醫學,仍然被一個人的理論主導。

蓋倫(Galen, 129-216 AD)。

一位羅馬時期的希臘醫生。

他活在1300年前,但他的著作是醫學的聖經。

醫學院的教授不是教學生觀察病人,而是背誦蓋倫的理論:

四體液學說
人體有四種體液(血液、黏液、黃膽汁、黑膽汁),疾病是體液失衡導致的

心臟三室說
心臟有三個心室,血液在心臟內部從右邊流到左邊

肝臟造血說
血液由肝臟製造,不斷被身體消耗,需要不斷補充

這些理論,大多數是錯的。

但沒人敢挑戰。

為什麼?

因為蓋倫被教會認可。

質疑蓋倫就是質疑權威,可能被視為異端。

解剖?那是禁忌

教會對解剖的態度很複雜。

理論上,教會沒有明文禁止解剖人體。

但教會強調「肉體復活」的教義,讓很多人覺得切開屍體是褻瀆。

更實際的問題是:屍體從哪來?

合法的屍體來源很少:

  • 死刑犯(一年只有幾個)
  • 無人認領的窮人(但可能引發民怨)
  • 教會許可的教學用途(極其罕見)

大多數醫生一輩子沒親手解剖過完整的人體。

他們的「解剖課」是這樣的:

  1. 教授坐在高台上朗讀蓋倫的著作
  2. 助手在下方解剖屍體
  3. 學生觀看並記筆記

如果解剖結果與蓋倫的描述不符?

那一定是屍體有問題。

不是蓋倫錯了。

這是中世紀知識的常態:權威 > 證據。

達文西的叛逆

達文西打破了所有規則。

他不是醫生。
沒有醫學院學位。
也沒有教會的正式許可。

但他有三樣東西:

藝術家的訓練
他能精確地觀察和繪製,誤差不到1毫米

工程師的思維
他把人體當作機器,研究各部分如何運作

無窮的好奇心
他想知道為什麼,不滿足於是什麼

他的筆記本裡寫著:

“人類的智慧永遠不可能窮盡一個極微小的肌肉中上帝的一切創造,因為越是研究,就越是發現其中的複雜與精妙。”

達文西不是在挑戰上帝。

他是在試圖理解上帝的設計。

這個微妙的區別,讓他在宗教框架內,開啟了科學革命的大門。


達文西的五大發現:領先時代300年

讓我們看看達文西在解剖台上發現了什麼。

發現一:心臟是四室,不是三室

蓋倫說心臟有三個心室。

血液通過心室之間的「小孔」流動。

達文西解剖心臟後,發現:

根本沒有小孔!

心臟明明是四個心室(左右心房、左右心室)!

他繼續研究,發現心臟瓣膜的運作方式:

  • 瓣膜像單向門,只讓血液往一個方向流
  • 左心室收縮時,瓣膜關閉,防止血液倒流
  • 瓣膜的形狀經過精密設計,確保密封

他甚至做了一個實驗:

用玻璃模型和水,模擬血液流過心臟瓣膜時產生的渦流。

他發現:渦流可以幫助瓣膜關閉,減少摩擦。

這個發現在2014年被現代醫學證實。

心臟瓣膜後方確實有渦流。

達文西在500年前就畫出來了。

發現二:動脈硬化——老化的真相

達文西解剖那位百歲老人時,注意到一個奇怪的現象。

老人的血管壁很厚、很硬。

跟年輕人的血管完全不同。

他在筆記中寫:

“老人的血管失去了彈性,變得狹窄、彎曲。這使得血液難以流動,器官得不到養分,於是老人變得虛弱。這就是老死的原因。”

這是人類歷史上第一次描述動脈硬化(Atherosclerosis)!

達文西比現代醫學早了300年發現這個現象。

他甚至畫出了血管壁的橫切面,顯示硬化的層次結構。

發現三:胎兒在子宮裡的真實位置

中世紀的醫學插圖中,胎兒在子宮裡是「坐著」的。

像個小大人。

因為沒人真的解剖過孕婦的屍體去確認。

達文西解剖了至少一具孕婦遺體(可能是難產死亡的)。

發現:

胎兒是蜷縮的,像個球,不是坐著的!

他繪製的胎兒圖驚人地準確:

  • 臍帶的連接方式
  • 羊水的存在(他推測這是緩衝)
  • 胎盤的結構
  • 子宮壁的厚度

這些圖直到19世紀才被現代醫學完全理解。

發現四:脊椎的雙S形曲線

古代解剖圖把脊椎畫成直的,或輕微彎曲。

達文西測量後發現:

脊椎有兩個曲線(頸椎前凸、胸椎後凸、腰椎前凸),形成雙S形!

他理解這個設計的天才之處:

  • S形曲線像彈簧,吸收走路時的震動
  • 讓頭部重量均勻分散到整個脊柱
  • 提供靈活性的同時保持強度

他在筆記中寫:

“脊柱是人體最精妙的結構,兼顧強度與彈性。”

現代骨科完全同意。

發現五:肌肉是槓桿系統

達文西不只畫肌肉的形狀,還研究它們如何產生運動。

他發現:

  • 肌肉收縮產生拉力,不能推
  • 肌肉必須成對出現(一個拉,另一個放鬆)
  • 骨骼是槓桿,關節是支點,肌肉提供力量

他用工程學的語言描述人體:

“人體是一台機器,遵循槓桿、滑輪、彈簧的原理。”

這個機械觀點,在當時是革命性的。

中世紀的人認為運動來自「靈魂」。

達文西說:不,運動來自力學


科學方法的雛形:觀察、假設、實驗

達文西的偉大,不只在於他發現了什麼。

更在於他如何發現

原則一:觀察第一,權威第二

達文西的筆記裡幾乎不引用蓋倫或其他古代權威。

他只相信自己的眼睛。

當蓋倫說心臟有三室,達文西不是去查更多書。

而是解剖更多心臟。

他發現每個心臟都是四室。

於是結論:蓋倫錯了。

這在15世紀是極其大膽的態度。

原則二:從多個角度觀察

達文西畫一個器官,會從不同角度畫。

正面、側面、俯視、剖面。

例如,他畫手臂的骨骼和肌肉:

  1. 皮膚下的肌肉(表層)
  2. 移除表層後的深層肌肉
  3. 移除所有肌肉後的骨骼
  4. 從不同角度旋轉後的視角

這是3D建模的原始版本。

原則三:測量與定量

達文西不只畫,還測量。

他測量了:

  • 人體各部位的比例(頭長、臂長、腿長)
  • 骨骼的角度
  • 肌肉的長度與厚度
  • 器官的重量(他估計,因為沒有精密秤)

他想找出規律、公式、普遍法則。

這是定量科學的開始。

原則四:設計實驗

達文西不只被動觀察,還主動設計實驗。

為了理解心臟瓣膜如何工作,他:

  1. 用蠟製作牛心臟的模型
  2. 再用玻璃做一個透明模型
  3. 灌水進去,觀察水流的模式
  4. 用草籽標記水流(早期的流體力學可視化!)

這是實驗科學的雛形:控制變量,重複測試,觀察結果。

達文西在1500年就在做這些。

而現代科學方法要到1620年才由培根(Francis Bacon)系統化。


Python 分析:維特魯威人的黃金比例

達文西最著名的解剖學作品。

不是某個器官的圖。

而是維特魯威人(Vitruvian Man)。

一個同時內接於圓形和正方形的人體。

這幅畫背後,是數學、解剖學、哲學的完美結合。

維特魯威的理論

維特魯威(Vitruvius)是古羅馬建築師。

他在公元前1世紀寫了一本書《建築十書》。

其中提到:

“如果人平躺,雙臂雙腿張開,以肚臍為圓心畫圓,手腳會觸碰到圓周。同樣,如果雙腳併攏、雙臂平舉,會形成正方形。”

這個理論流傳了1500年。

但沒人真的測量過是否正確。

達文西測量了數十具屍體。

發現:維特魯威是對的,但需要精確的比例。

達文西的發現:人體黃金比例

達文西測量後,列出了人體的比例規律:

  • 頭長 = 身高的 1/8
  • 臉長(髮際到下巴) = 身高的 1/10
  • 手掌長 = 臉長
  • 腳長 = 身高的 1/7
  • 張開雙臂的長度 = 身高
  • 肚臍到頭頂 / 肚臍到腳底 ≈ 黃金比例(1.618)

他把這些比例畫在維特魯威人上。

證明:人體不是隨機的,而是遵循數學規律。

這是「人體即宇宙」的哲學體現。

免費程式碼:人體比例計算與視覺化

import numpy as np

# 設定中文字體

print("=" * 60)
print("維特魯威人體比例分析")
print("=" * 60)

# ===== 程式一:計算人體比例 =====

# 黃金比例
PHI = (1 + np.sqrt(5)) / 2  # ≈ 1.618

# 人體基準單位(以頭長為1單位)
HEAD = 1.0

# 維特魯威的人體比例(以頭長為基準)
BODY_PROPORTIONS = {
    '頭長': HEAD,
    '臉長': HEAD * 10/8,          # 臉長 = 頭長的 1.25 倍
    '身高': HEAD * 8,              # 身高 = 8個頭長
    '雙臂張開': HEAD * 8,          # 張開雙臂 = 身高
    '肚臍到頭頂': HEAD * 8 / PHI,  # 黃金分割
    '肚臍到腳底': HEAD * 8 - (HEAD * 8 / PHI),
    '肩寬': HEAD * 2,
    '手掌長': HEAD * 10/8,         # 手掌長 = 臉長
    '腳長': HEAD * 8/7
}

print("\n[人體比例一覽表]")
print(f"{'部位':<15} {'比例(頭長)':<12} {'數值':<10}")
print("-" * 45)

for part, value in BODY_PROPORTIONS.items():
    ratio = value / HEAD
    print(f"{part:<15} {ratio:<12.3f} {value:<10.3f}")

# 驗證黃金比例
navel_ratio = BODY_PROPORTIONS['肚臍到頭頂'] / BODY_PROPORTIONS['肚臍到腳底']

print(f"\n【黃金比例驗證】")
print(f"肚臍分割比例: {navel_ratio:.3f}")
print(f"黃金比例 φ: {PHI:.3f}")
print(f"誤差: {abs(navel_ratio - PHI):.4f}")

if abs(navel_ratio - PHI) < 0.01:
    print("✓ 達文西是對的!肚臍確實是黃金分割點")
else:
    print("✗ 與黃金比例有偏差")

print(f"\n【關鍵發現】")
print(f"• 人體不是隨機的,遵循數學規律")
print(f"• 肚臍位置恰好符合黃金分割")
print(f"• 身高 = 8個頭長(繪畫的經典比例)")
print(f"• 雙臂張開 = 身高(形成正方形)")
print(f"\n→ 人體即宇宙,數學即美學")
# ===== 程式二:繪製維特魯威人 =====

height = BODY_PROPORTIONS['身高']
arm_span = BODY_PROPORTIONS['雙臂張開']
navel_y = BODY_PROPORTIONS['肚臍到腳底']

# === 左圖:圓形內的人體(雙臂雙腿張開) ===

# 繪製圓形(以肚臍為圓心)
circle_radius = arm_span / 2
circle = Circle((0, navel_y), circle_radius,
               fill=False, edgecolor='#4169E1', linewidth=2, linestyle='--')

# 繪製人體簡化版
head_radius = HEAD / 2
head = Circle((0, height - head_radius), head_radius,
             fill=False, edgecolor='black', linewidth=2)

# 軀幹
torso_width = BODY_PROPORTIONS['肩寬']

# 雙臂(張開)
arm_length = arm_span / 2

# 雙腿(張開,觸碰圓周)
leg_angle = np.pi / 6  # 30度
leg_length = navel_y
left_leg_x = -leg_length * np.sin(leg_angle)
left_leg_y = navel_y - leg_length * np.cos(leg_angle)

right_leg_x = leg_length * np.sin(leg_angle)
right_leg_y = navel_y - leg_length * np.cos(leg_angle)

# 標註

# === 右圖:正方形內的人體(雙腿併攏,雙臂平舉) ===

# 繪製正方形
square_side = height
square = Rectangle((-square_side/2, 0), square_side, square_side,
                  fill=False, edgecolor='#C41E3A', linewidth=2, linestyle='--')

# 頭部
head2 = Circle((0, height - head_radius), head_radius,
              fill=False, edgecolor='black', linewidth=2)

# 軀幹

# 雙臂(平舉)

# 雙腿(併攏)

# 標註黃金比例分割

print("\n✓ 視覺化完成:vitruvian_man.png")
print("✓ 達文西的維特魯威人:數學與藝術的完美結合")

圖:Vitruvian Man Basic
圖:Vitruvian Man Basic

這個分析揭示了什麼?

達文西不只是畫了一個人。

他證明了:人體遵循數學規律。

黃金比例不是巧合,是設計。

肚臍的位置不是隨機的,是完美的分割點。

這是科學與藝術的交會點。


深入探索:完整數據揭示的驚人洞察

基礎版分析了維特魯威人的比例與黃金分割驗證。

但完整版的分析走得更深、更遠。

達文西的準確度有多驚人?

用現代解剖學數據驗證達文西的測量——心臟瓣膜繪圖的準確度、脊椎曲線的測量誤差、肌肉附著點的定位精度——結果令人震驚。這位500年前的藝術家,用肉眼和手術刀,達到了接近現代CT掃描的精度。

達文西錯在哪裡?

即使是天才也有盲點。他的某些理論仍受古代框架影響——精子來源的誤判、子宮結構的錯誤推斷、視神經走向的部分錯誤。這些錯誤本身就具有啟發性:它們揭示了即使最傑出的觀察者,也無法完全超越時代的知識邊界。

完整分析包含什麼?

完整分析包內容

  • 3D人體建模:用Python重建達文西的心臟、脊椎、肌肉系統,可旋轉、縮放、剖面查看
  • 達文西 vs 蓋倫準確度量化對比:逐項比較兩人的解剖描述與現代標準
  • 200頁解剖筆記的數位重現:選取關鍵解剖圖,用現代電腦圖學重繪並標註
  • 心臟瓣膜血流的流體力學模擬:重現達文西的草籽實驗
  • 完整人體比例資料集(CSV):達文西測量值 vs 現代標準值
  • 約600行教學等級Python程式碼(含詳細英文註解)
  • 15張出版品質視覺化圖表(300dpi PNG + SVG)

取得 Article 03 達文西解剖學深度分析包 →


藝術與科學:真的有界線嗎?

達文西的故事逼我們思考一個深刻的問題。

藝術和科學,真的是兩回事嗎?

達文西的答案:沒有界線

對達文西來說,畫畫和解剖是同一件事。

理解世界,然後呈現它。

藝術家問:「如何畫出真實的人體?」
解剖學家問:「人體內部長什麼樣?」
達文西:「這是同一個問題。」

他的解剖圖不只是科學記錄,也是藝術傑作。

看他的心臟圖,你會驚嘆於:

  • 線條的優雅
  • 陰影的精準
  • 構圖的平衡

這是藝術還是科學?

答案是:兩者都是,也兩者都不是。

現代的啟示:T型人才與跨領域創新

達文西提醒我們:

最偉大的創新往往發生在學科的交界處。

現代類比:

Steve Jobs:技術 + 設計 → iPhone
Elon Musk:物理 + 工程 + 商業 → SpaceX
費曼(Feynman):物理 + 藝術 → 費曼圖與量子電動力學

他們都是「T型人才」。

在一個領域很深,但同時廣泛涉獵其他領域。

達文西是終極T型人才。

他的「T」更像「傘」,涵蓋藝術、科學、工程、音樂、建築…

對教育的啟示

達文西的故事質疑我們的教育系統。

現代教育傾向分科:

你是理科生還是文科生?
你主修什麼?
你的專業是什麼?

但創新需要跨界:

生物學 + 電腦科學 = 生物資訊學
藝術 + AI = 生成式藝術
歷史 + 資料科學 = 數位人文(就像我們這個系列!)

達文西的教訓:不要讓學科界線限制你的好奇心。


結語

當我們用Python重現維特魯威人。

當我們分析達文西的科學方法。

我們看到的不只是500年前的解剖學。

更是好奇心驅動的探索精神

達文西沒有PhD。
沒有研究經費。
沒有實驗室。

他有的只是:

一把手術刀。
一本筆記。
無窮的好奇心。

他問「為什麼」不是因為能拿到學位或發表論文。

而是因為他真的想知道

這是最純粹的科學精神。

600年後,我們用電腦斷層掃描(CT)、核磁共振(MRI)、3D列印。

做著達文西用手術刀和蠟燭做的事:

試圖理解人體的奧秘。

工具變了。

精神沒變。

達文西的手術刀提醒我們:

好奇心是人類最強大的工具。

它比任何技術都重要。

因為技術會過時,但好奇心永遠推動我們前進。


下一篇預告

下一篇文章,我們會從人體轉向空間:透視法的數學秘密

布魯內萊斯基如何用一面鏡子,改變繪畫的遊戲規則?
消失點、視平線、比例縮放——這些概念背後的數學是什麼?
我會用Python實現透視法轉換,讓你親手創造3D錯覺。


參考資料

  • Isaacson, Walter. Leonardo da Vinci. Simon & Schuster, 2017.
  • Kemp, Martin. Leonardo da Vinci: The Marvellous Works of Nature and Man. Oxford University Press, 2006.
  • Clayton, Martin. Leonardo da Vinci: The Mechanics of Man. Getty Publications, 2013.
  • Capra, Fritjof. The Science of Leonardo. Anchor, 2008.

關於 Code & Cogito

用程式碼解構歷史,用數據理解哲學。

Newslettercodeandcogito.substack.com
GitHubCode-and-Cogito/code-cogito-public
LinkedInlinkedin.com/in/winawu

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *