Da Vinci’s Anatomical Revolution
Series: The Digital Rebirth of the Renaissance #03/12 | Reading time: 25-30 min | Python (NumPy, Matplotlib)
Author: Wina @ Code & Cogito
When an Artist Picked Up a Scalpel
- Winter. Florence.
The mortuary of the Hospital of Santa Maria Nuova.
An old man had just died. He was a hundred years old.
A few hours later, a man in work clothes walked in, lit candles, and pulled out a scalpel.
He wasn’t a doctor.
He was a painter.
His name was Leonardo da Vinci, and he was fifty-eight years old.
The most famous artist in all of Europe.
The Mona Lisa had just been completed. The Last Supper was causing a sensation in Milan.
But tonight, he wasn’t here to paint.
He was here to dissect a corpse.
Over the next few hours, Leonardo systematically dissected the centenarian:
Opened the chest cavity.
Removed the heart.
Examined the blood vessels.
Separated the muscles.
Measured the bones.
He filled his notebook with densely packed observations.
Drew anatomical diagrams accurate to the millimeter.
This was not his first time.
Nor would it be his last.
Between 1485 and 1515 — across thirty years — Leonardo dissected over 30 human bodies and produced more than 200 pages of anatomical notes.
Why?
Why would a painter do this?
His answer was simple:
“To paint the human form, one must first understand the human body.”
But behind that simple answer lay a revolution.
The boundary between art and science began to blur.
Observation replaced authority.
Empirical evidence challenged ancient dogma.
In this article, I’ll use Python to recreate Leonardo’s most famous anatomical study: the proportions of the Vitruvian Man. I’ll analyze how his scientific method was three centuries ahead of its time, and explore a profound question:
Does a boundary between art and science actually exist?
Ready to follow Leonardo’s scalpel into the secret world of the human body?
Context: How Backward Was 15th-Century Medicine?
To appreciate Leonardo’s revolution, we first need to understand the state of medicine in his era.
Galen’s Thousand-Year Reign
Fifteenth-century European medicine was still dominated by one man’s theories.
Galen (129–216 AD).
A Greek physician from the Roman era.
He had been dead for 1,300 years, but his writings were treated as medical scripture.
Medical professors didn’t teach students to observe patients — they taught them to memorize Galen’s theories:
The Four Humors: The body contains four humors (blood, phlegm, yellow bile, black bile). Disease is caused by their imbalance.
The Three-Chambered Heart: The heart has three chambers, and blood flows from right to left through tiny pores in the septum.
The Liver as Blood Factory: Blood is produced by the liver, continuously consumed by the body, and must be constantly replenished.
Most of these theories were wrong.
But no one dared challenge them.
Why?
Because Galen was endorsed by the Church.
To question Galen was to question authority — and risked being branded a heretic.
Dissection? That Was Taboo
The Church’s attitude toward dissection was complicated.
In theory, the Church never explicitly banned human dissection.
But Church doctrine on “bodily resurrection” made many people feel that cutting open a corpse was sacrilege.
The more practical problem was: where do you get a body?
Legal sources of cadavers were scarce:
- Executed criminals (a handful per year)
- Unclaimed bodies of the poor (but this risked public backlash)
- Church-approved teaching specimens (extremely rare)
Most physicians went their entire careers without personally dissecting a complete human body.
Their “anatomy lessons” looked like this:
- A professor sat on an elevated platform, reading aloud from Galen’s texts
- An assistant dissected the body below
- Students watched and took notes
What if the dissection contradicted Galen’s descriptions?
Then the body must be defective.
Galen wasn’t wrong.
This was the default mode of medieval knowledge: authority trumps evidence.
Leonardo’s Rebellion
Leonardo broke every rule.
He wasn’t a physician.
He had no medical degree.
He had no formal permission from the Church.
But he had three things:
An artist’s training: He could observe and render with sub-millimeter precision.
An engineer’s mind: He treated the body as a machine, studying how each part functioned.
Boundless curiosity: He wanted to know why, never settling for what.
In his notebooks, he wrote:
“Human intelligence can never exhaust the marvels that God has placed within even the smallest muscle — the more one studies, the more one discovers its complexity and elegance.”
Leonardo wasn’t challenging God.
He was trying to understand God’s design.
That subtle distinction allowed him to open the door to scientific revolution from within the framework of faith.
Leonardo’s Five Discoveries: Three Centuries Ahead
Let’s look at what Leonardo found on the dissection table.
Discovery One: The Heart Has Four Chambers, Not Three
Galen said the heart had three chambers.
Blood flowed through tiny “pores” between them.
Leonardo dissected the heart and found:
There are no pores.
The heart clearly has four chambers (left and right atria, left and right ventricles).
He went further, discovering how the heart valves worked:
- Valves function as one-way doors, allowing blood to flow in only one direction
- When the left ventricle contracts, the valve closes to prevent backflow
- The shape of the valves is precisely engineered for a perfect seal
He even designed an experiment:
Using a glass model and water, he simulated the vortex created when blood flows past the heart valves.
He found that vortices help the valves close, reducing friction.
This discovery was confirmed by modern medicine in 2014.
Vortices do form behind heart valves.
Leonardo drew them 500 years ago.
Discovery Two: Atherosclerosis — The Truth About Aging
While dissecting the centenarian, Leonardo noticed something unusual.
The old man’s arterial walls were thick and rigid.
Completely different from a young person’s vessels.
He wrote in his notes:
“The old man’s blood vessels have lost their elasticity, becoming narrow and tortuous. This prevents blood from flowing, deprives the organs of nourishment, and so the old man grows weak. This is the cause of natural death.”
This is the first recorded description of atherosclerosis in human history.
Leonardo identified this phenomenon 300 years before modern medicine.
He even drew cross-sections of the arterial walls, showing the layered structure of hardening.
Discovery Three: The Real Position of a Fetus in the Womb
In medieval medical illustrations, the fetus “sat” in the womb.
Like a miniature adult.
Because no one had actually dissected a pregnant woman’s body to verify.
Leonardo dissected at least one (likely a woman who died in childbirth).
He found:
The fetus is curled up like a ball — not sitting.
His fetal drawings were astonishingly accurate:
- The connection point of the umbilical cord
- The presence of amniotic fluid (which he theorized served as cushioning)
- The structure of the placenta
- The thickness of the uterine wall
These drawings weren’t fully understood by modern medicine until the 19th century.
Discovery Four: The Double S-Curve of the Spine
Ancient anatomical drawings depicted the spine as straight, or slightly curved.
After careful measurement, Leonardo found:
The spine has two curves (cervical lordosis, thoracic kyphosis, lumbar lordosis), forming a double-S shape.
He understood the genius of this design:
- The S-curve functions like a spring, absorbing the shock of walking
- It distributes the weight of the head evenly across the entire spinal column
- It provides flexibility while maintaining structural strength
He wrote in his notes:
“The spine is the most exquisite structure in the human body — combining strength and elasticity.”
Modern orthopedics agrees completely.
Discovery Five: Muscles Are a Lever System
Leonardo didn’t just draw muscles’ shapes — he studied how they produce movement.
He discovered:
- Muscles contract to pull — they can’t push
- Muscles must work in opposing pairs (one pulls, the other relaxes)
- Bones are levers, joints are fulcrums, muscles provide the force
He described the human body in the language of engineering:
“The human body is a machine, governed by the principles of levers, pulleys, and springs.”
This mechanical perspective was revolutionary for its time.
Medieval people believed movement came from the “soul.”
Leonardo said: no — movement comes from mechanics.
The Embryo of the Scientific Method: Observe, Hypothesize, Experiment
Leonardo’s greatness lies not just in what he discovered.
But in how he discovered it.
Principle One: Observation First, Authority Second
Leonardo’s notebooks barely reference Galen or other ancient authorities.
He trusted only his own eyes.
When Galen said the heart had three chambers, Leonardo didn’t consult more books.
He dissected more hearts.
Every one had four chambers.
His conclusion: Galen was wrong.
In the 15th century, this was an extraordinarily bold stance.
Principle Two: Observe from Multiple Angles
When Leonardo drew an organ, he drew it from every angle.
Front, side, top-down, cross-section.
For example, his drawings of the arm’s bones and muscles included:
- The muscles beneath the skin (superficial layer)
- The deeper muscles after removing the surface layer
- The bones after removing all muscle
- Views from different rotational angles
This was a primitive form of 3D modeling.
Principle Three: Measure and Quantify
Leonardo didn’t just draw — he measured.
He measured:
– The proportions of each body part (head length, arm length, leg length)
– Angles of bones
– Length and thickness of muscles
– Weight of organs (estimated, as he lacked precision scales)
He was searching for patterns, formulas, universal laws.
This was the beginning of quantitative science.
Principle Four: Design Experiments
Leonardo didn’t just passively observe — he actively designed experiments.
To understand how heart valves worked, he:
- Made a wax cast of an ox heart
- Created a transparent glass replica
- Poured water through it and observed flow patterns
- Used grass seeds to track the water flow (an early form of fluid dynamics visualization)
This was the embryo of experimental science: controlling variables, repeating tests, observing results.
Leonardo was doing this in 1500.
The modern scientific method wouldn’t be systematized until Francis Bacon’s work in 1620.
Python Analysis: The Golden Ratio of the Vitruvian Man
Leonardo’s most famous work of anatomy isn’t a drawing of an organ.
It’s the Vitruvian Man.
A human figure simultaneously inscribed within a circle and a square.
Behind this drawing lies a perfect union of mathematics, anatomy, and philosophy.
Vitruvius’s Theory
Vitruvius was a Roman architect.
In the 1st century BC, he wrote De Architectura (Ten Books on Architecture).
In it, he proposed:
“If a man lies on his back with arms and legs spread, and a circle is drawn centered on his navel, his fingers and toes will touch the circumference. Similarly, if his feet are placed together and his arms raised horizontally, he will fit perfectly within a square.”
This theory survived for 1,500 years.
But no one had actually measured whether it was true.
Leonardo measured dozens of cadavers.
He found: Vitruvius was right — but only with precise proportions.
Leonardo’s Discovery: The Golden Ratio of the Human Body
After extensive measurement, Leonardo cataloged the body’s proportional rules:
- Head length = 1/8 of height
- Face length (hairline to chin) = 1/10 of height
- Palm length = face length
- Foot length = 1/7 of height
- Arm span = height
- Navel to crown / navel to sole ≈ the golden ratio (1.618)
He mapped these proportions onto the Vitruvian Man.
Proving: the human body isn’t random — it follows mathematical laws.
This is the philosophical embodiment of “the body as microcosm.”
Free Code: Human Proportion Calculator and Visualization
import numpy as np
import matplotlib.pyplot as plt
# Set font
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'Microsoft YaHei', 'SimHei']
plt.rcParams['axes.unicode_minus'] = False
print("=" * 60)
print("Vitruvian Man Body Proportion Analysis")
print("=" * 60)
# ===== Part 1: Calculate Body Proportions =====
# Golden Ratio
PHI = (1 + np.sqrt(5)) / 2 # ≈ 1.618
# Base unit: head length = 1
HEAD = 1.0
# Vitruvian body proportions (head length as base unit)
BODY_PROPORTIONS = {
'Head': HEAD,
'Face': HEAD * 10/8, # Face = 1.25x head
'Height': HEAD * 8, # Height = 8 heads
'Arm span': HEAD * 8, # Arm span = height
'Navel to crown': HEAD * 8 / PHI, # Golden section
'Navel to sole': HEAD * 8 - (HEAD * 8 / PHI),
'Shoulder width': HEAD * 2,
'Palm length': HEAD * 10/8, # Palm = face
'Foot length': HEAD * 8/7
}
print("\n[Body Proportion Table]")
print(f"{'Body Part':<18} {'Ratio (heads)':<15} {'Value':<10}")
print("-" * 45)
for part, value in BODY_PROPORTIONS.items():
ratio = value / HEAD
print(f"{part:<18} {ratio:<15.3f} {value:<10.3f}")
# Verify golden ratio
navel_ratio = BODY_PROPORTIONS['Navel to crown'] / BODY_PROPORTIONS['Navel to sole']
print(f"\n[Golden Ratio Verification]")
print(f"Navel division ratio: {navel_ratio:.3f}")
print(f"Golden ratio phi: {PHI:.3f}")
print(f"Error: {abs(navel_ratio - PHI):.4f}")
if abs(navel_ratio - PHI) < 0.01:
print("=> Da Vinci was right! The navel IS the golden section point")
else:
print("=> Deviation from golden ratio detected")
print(f"\n[Key Findings]")
print(f"- The human body is not random; it follows mathematical rules")
print(f"- The navel position matches the golden ratio exactly")
print(f"- Height = 8 head lengths (the classic artistic proportion)")
print(f"- Arm span = height (forming a perfect square)")
print(f"\n=> The body as microcosm: mathematics as aesthetics")
# ===== Part 2: Vitruvian Man Visualization =====
from matplotlib.patches import Circle, Rectangle
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 10))
height = BODY_PROPORTIONS['Height']
arm_span = BODY_PROPORTIONS['Arm span']
navel_y = BODY_PROPORTIONS['Navel to sole']
# === Left: Human in Circle (arms and legs spread) ===
# Draw circle (centered on navel)
circle_radius = arm_span / 2
circle = Circle((0, navel_y), circle_radius,
fill=False, edgecolor='#4169E1', linewidth=2, linestyle='--')
ax1.add_patch(circle)
# Simplified human figure
head_radius = HEAD / 2
head = Circle((0, height - head_radius), head_radius,
fill=False, edgecolor='black', linewidth=2)
ax1.add_patch(head)
# Torso
torso_width = BODY_PROPORTIONS['Shoulder width']
ax1.plot([0, 0], [navel_y, height - HEAD], 'k-', linewidth=3)
ax1.plot([-torso_width/2, torso_width/2], [height - HEAD, height - HEAD],
'k-', linewidth=3)
# Arms (spread)
arm_length = arm_span / 2
ax1.plot([0, -arm_length], [height - HEAD*1.5, height - HEAD*2],
'k-', linewidth=2)
ax1.plot([0, arm_length], [height - HEAD*1.5, height - HEAD*2],
'k-', linewidth=2)
# Legs (spread, touching the circle)
leg_angle = np.pi / 6 # 30 degrees
leg_length = navel_y
left_leg_x = -leg_length * np.sin(leg_angle)
left_leg_y = navel_y - leg_length * np.cos(leg_angle)
ax1.plot([0, left_leg_x], [navel_y, left_leg_y], 'k-', linewidth=3)
right_leg_x = leg_length * np.sin(leg_angle)
right_leg_y = navel_y - leg_length * np.cos(leg_angle)
ax1.plot([0, right_leg_x], [navel_y, right_leg_y], 'k-', linewidth=3)
# Annotation
ax1.plot(0, navel_y, 'ro', markersize=10, label='Navel (center)')
ax1.text(0, navel_y - 0.5, 'Navel\nGolden section',
ha='center', fontsize=10, color='red', fontweight='bold')
ax1.set_xlim(-5, 5)
ax1.set_ylim(-1, 9)
ax1.set_aspect('equal')
ax1.set_title('Vitruvian Man: Circle\nArms & legs spread, navel as center',
fontsize=14, fontweight='bold', pad=15)
ax1.legend(loc='upper right')
ax1.grid(True, alpha=0.3)
ax1.axhline(y=0, color='gray', linewidth=0.5)
ax1.axvline(x=0, color='gray', linewidth=0.5)
# === Right: Human in Square (legs together, arms level) ===
# Draw square
square_side = height
square = Rectangle((-square_side/2, 0), square_side, square_side,
fill=False, edgecolor='#C41E3A', linewidth=2, linestyle='--')
ax2.add_patch(square)
# Head
head2 = Circle((0, height - head_radius), head_radius,
fill=False, edgecolor='black', linewidth=2)
ax2.add_patch(head2)
# Torso
ax2.plot([0, 0], [0, height - HEAD], 'k-', linewidth=3)
ax2.plot([-torso_width/2, torso_width/2], [height - HEAD, height - HEAD],
'k-', linewidth=3)
# Arms (horizontal)
ax2.plot([0, -arm_span/2], [height - HEAD*1.5, height - HEAD*1.5],
'k-', linewidth=2)
ax2.plot([0, arm_span/2], [height - HEAD*1.5, height - HEAD*1.5],
'k-', linewidth=2)
# Legs (together)
ax2.plot([0, 0], [navel_y, 0], 'k-', linewidth=3)
# Golden ratio annotation
ax2.plot([square_side/2 + 0.3, square_side/2 + 0.3],
[0, navel_y], 'b-', linewidth=2)
ax2.plot([square_side/2 + 0.3, square_side/2 + 0.3],
[navel_y, height], 'r-', linewidth=2)
ax2.text(square_side/2 + 0.8, navel_y/2, f'{BODY_PROPORTIONS["Navel to sole"]:.2f}',
fontsize=10, color='blue', fontweight='bold')
ax2.text(square_side/2 + 0.8, (navel_y + height)/2, f'{BODY_PROPORTIONS["Navel to crown"]:.2f}',
fontsize=10, color='red', fontweight='bold')
ax2.plot(0, navel_y, 'go', markersize=10, label=f'Golden section ({navel_ratio:.3f} ≈ phi)')
ax2.set_xlim(-5, 5)
ax2.set_ylim(-1, 9)
ax2.set_aspect('equal')
ax2.set_title('Vitruvian Man: Square\nLegs together, arms horizontal',
fontsize=14, fontweight='bold', pad=15)
ax2.legend(loc='upper right')
ax2.grid(True, alpha=0.3)
ax2.axhline(y=0, color='gray', linewidth=0.5)
ax2.axvline(x=0, color='gray', linewidth=0.5)
plt.tight_layout()
plt.savefig('vitruvian_man.png', dpi=300, bbox_inches='tight')
print("\n=> Visualization complete: vitruvian_man.png")
print("=> Da Vinci's Vitruvian Man: the perfect union of math and art")
plt.show()
What does this analysis reveal?
Leonardo didn’t just draw a person.
He proved: the human body follows mathematical laws.
The golden ratio isn’t coincidence — it’s design.
The navel’s position isn’t random — it’s the perfect division point.
This is where science and art converge.
Deeper Insights: What the Complete Data Reveals
The basic analysis examines the Vitruvian Man’s proportions and verifies the golden ratio.
But the complete analysis goes far deeper.
How accurate was Leonardo — really?
When we compare Leonardo’s measurements against modern anatomical data — the precision of his heart valve drawings, the accuracy of his spinal curvature measurements, the exact placement of muscle attachment points — the results are staggering. This artist from 500 years ago, working with nothing but eyes and a scalpel, achieved accuracy approaching modern CT scans.
Where did Leonardo get it wrong?
Even a genius has blind spots. Some of his theories were still shaped by ancient frameworks — his mistaken ideas about the origin of semen, incorrect inferences about uterine structure, partial errors in optic nerve mapping. These errors are instructive in themselves: they reveal that even the most brilliant observer cannot fully transcend the knowledge boundaries of his era.
What’s inside the complete analysis?
Complete Analysis Pack Contents
- 3D body modeling: Python reconstruction of Leonardo’s heart, spine, and muscular system with rotation, zoom, and cross-section viewing
- Da Vinci vs. Galen accuracy quantification: item-by-item comparison of both men’s anatomical descriptions against modern standards
- Digital recreation of key anatomical drawings: selected sketches from Leonardo’s 200 pages, redrawn with modern computer graphics and annotated
- Heart valve fluid dynamics simulation: recreating Leonardo’s grass-seed experiment
- Complete human proportion dataset (CSV): Leonardo’s measurements vs. modern standards
- ~600 lines of teaching-grade Python code with detailed English comments
- 15 publication-quality visualizations (300dpi PNG + SVG)
Get the Article 03 Da Vinci Anatomy Deep Dive Pack →
Art and Science: Does a Boundary Actually Exist?
Leonardo’s story forces us to confront a profound question.
Are art and science really two separate things?
Leonardo’s Answer: No Boundary
For Leonardo, painting and dissection were the same endeavor.
Understand the world. Then represent it.
The artist asks: “How do I paint a realistic human body?”
The anatomist asks: “What does the inside of a human body look like?”
Leonardo: “Those are the same question.”
His anatomical drawings weren’t merely scientific records — they were artistic masterpieces.
Look at his drawings of the heart. You’ll marvel at:
- The elegance of the line work
- The precision of the shading
- The balance of the composition
Is it art or science?
The answer is: both — and neither.
Modern Implications: T-Shaped Talent and Cross-Disciplinary Innovation
Leonardo reminds us:
The greatest innovations often happen at the intersection of disciplines.
Modern parallels:
Steve Jobs: Technology + Design → iPhone
Elon Musk: Physics + Engineering + Business → SpaceX
Feynman: Physics + Art → Feynman diagrams and quantum electrodynamics
They were all “T-shaped” talents.
Deep expertise in one domain, combined with wide-ranging engagement across others.
Leonardo was the ultimate T-shaped talent.
His “T” was more like an umbrella — spanning art, science, engineering, music, architecture…
Implications for Education
Leonardo’s story challenges our educational systems.
Modern education trends toward specialization:
Are you a science student or a humanities student?
What’s your major?
What’s your field?
But innovation demands cross-pollination:
Biology + Computer Science = Bioinformatics
Art + AI = Generative Art
History + Data Science = Digital Humanities (exactly what this series is doing)
Leonardo’s lesson: don’t let disciplinary boundaries limit your curiosity.
Conclusion
When we use Python to recreate the Vitruvian Man.
When we analyze Leonardo’s scientific method.
We’re not just looking at 500-year-old anatomy.
We’re witnessing the spirit of curiosity-driven exploration.
Leonardo had no PhD.
No research funding.
No laboratory.
All he had was:
A scalpel.
A notebook.
Boundless curiosity.
He asked “why” not because it would earn him a degree or a publication.
But because he genuinely wanted to know.
This is the purest spirit of science.
Six hundred years later, we use CT scans, MRI, and 3D printing.
Doing what Leonardo did with a scalpel and candlelight:
Trying to understand the mysteries of the human body.
The tools have changed.
The spirit hasn’t.
Leonardo’s scalpel reminds us:
Curiosity is humanity’s most powerful tool.
It matters more than any technology.
Because technologies become obsolete — but curiosity always propels us forward.
Next in the Series
In the next article, we shift from the body to space: the mathematical secrets of perspective.
How did Brunelleschi use a single mirror to change the rules of painting?
Vanishing points, horizon lines, proportional scaling — what’s the mathematics behind these concepts?
I’ll use Python to implement perspective transformations, letting you create 3D illusions with your own hands.
References
- 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.
