Learning Muscular Anatomy

code clojure art emacs orgmode

John Jacobsen
Thursday, February 22, 2018

Home Other Posts

Earlier post Reflections on a Year of Daily Memory Drawings art

Later post Painting and Time art


Figure 1: Skeleton and muscle overlay study (underlying photo by Pixiduc)

A knowledge of the human form is vital for figurative artists. A detailed understanding of anatomy is especially helpful when working from life or constructing the figure from imagination.

Various approaches have been taken to learning artistic anatomy. While I’d rather not rob graveyards and do my own dissections, there are, fortunately, excellent anatomy books1 available for the artist.

I have found the muscles harder to learn than the skeleton, so I developed the method outlined here, which involves reading, data entry, and memorization. Other methods include drawing muscles on tracing paper over figure drawings or photographs, or sculpting muscles atop a pre-formed skeleton. This practice supplements, but does not replace, those other methods.

A few key facts can be helpful to learn, for each of the important muscles (< 100 of them, roughly):

  • Muscle name
  • Origin of muscle (attachment point, stationary during contraction)
  • Insertion of muscle (attachment point, moves during contraction)
  • Function: what the muscle does
  • What the muscle overlaps
  • What the muscle is overlapped by.

These last two points can be helpful in constructing a mental model of the muscular forms and of the entire form they help to create.

I use the Anki flash card system as a tool for memorization. Anki uses a carefully designed model to set the timing of when you see individual cards, showing you ones you got wrong sooner, and gradually showing them less and less often as you learn.

For all the muscles you want to study, you can enter these key facts into a table, and then export the table into flashcards. The original Org file can be kept in Git under source control and shared with others, and presents a convenient overview of the entire corpus of data. Merely entering the data in the first place starts the memorization, and then each table field can be paired with the muscle name both “forwards” and “backwards” (fact->muscle and muscle->fact) as separate flashcards. Thus, for, say, 100 muscle names and the associated five facts per muscle, one has 100 x 5 x 2 = 1,000 flashcards.


Figure 2: Example table in Org Mode

There are Anki decks for muscular anatomy already available, but they tend to be large in size and have a medical rather than artistic context; also, finding and summarizing the information required to create the cards helps me learn.

I wrote a tiny Clojure program (GitHub repository here) to facilitate exporting the Org data into Anki, which accepts tab-separated lines. I run it whenever I add new muscles into my table.

Since Anki synchronizes with my phone, I can review whenever I have a short break. If I enter a few muscles a week, the data entry should roughly keep up with my memorization practice, and will then have all the relevant muscles memorized in well under a year with minimal daily effort… perhaps five minutes per day.

Sample program output

$ lein run
Function of Sartorius	flexes, weakly abducts, rotates upper leg; flexes and medially \
rotates lower leg
Muscle w/ function flexes, weakly abducts, rotates upper leg; flexes and medially \
rotates lower leg	Sartorius
Origin of Sartorius	Just below tip of ASIS
Muscle with origin 'Just below tip of ASIS'	Sartorius
Insertion of Sartorius	Pes anserinus, on tibia
Muscle with insertion 'Pes anserinus, on tibia'	Sartorius
Sartorius overlaps...	Gracilis, Rectus Femoris, Vastus Medialis, Adductor Longus
Gracilis, Rectus Femoris, Vastus Medialis, Adductor Longus are overlapped by...	Sartorius
Function of Deltoid	flex arm forward, abducts outward, pulls backward
Muscle w/ function flex arm forward, abducts outward, pulls backward	Deltoid
Origin of Deltoid	lateral 1/3 of clavicle, acromion process, spine of scapula

… and a sample flash card (top portion only is shown initially, with the answer below shown after a tap or keypress):


Figure 3: Example Anki flash card


  1. Clone the GitHub repository and cd to the new directory;
  2. Edit resources/muscle-structure.org;
  3. Export Org file to CSV (org-table-export) in the same directory;
  4. Run the program and save the output: lein run > cards.txt;
  5. Import cards.txt (removing any previously-imported entries first) into Anki;
  6. Memorize away!
  7. Repeat as new muscles are added.


After a few weeks of minimal effort (a lot less than my previous year-long project), I’ve added half a dozen or so muscles so far and have them pretty well down. Since the overlapping forms are included, one starts to flesh out one’s three-dimensional understanding of the figure from the outset. (I recommend starting with the largest muscles first if you’re not as familiar with them – e.g. pectoralis, gluteus maximum, rectus abdominis, etc.). This method is a bit personal, Emacs, Org Mode, Clojure, etc. not being standard artists’ tools, but could be adapted to e.g. Excel or CSV files, or other programming languages, with minimal effort.



See, for example, Human Anatomy for Artists: The Elements of Form by Elliot Goldfinger.

Earlier post Reflections on a Year of Daily Memory Drawings art

Later post Painting and Time art

Blog Posts (170)

Select from below, view all posts, or choose only posts for:art clojure code emacs lisp misc orgmode physics python ruby sketchup southpole writing


From Elegance to Speed code lisp clojure physics

Common Lisp How-Tos code lisp

Implementing Scheme in Python code python lisp

A Daily Journal in Org Mode writing code emacs

Show at Northwestern University Prosthetics-Orthotics Center art

Color Notations art

Painting and Time art

Reflections on a Year of Daily Memory Drawings art

Repainting art

Daily Memory Drawings art

Questions to Ask art

Macro-writing Macros code clojure

Time Limits art

Lazy Physics code clojure physics

Fun with Instaparse code clojure

Nucleotide Repetition Lengths code clojure

Updating the Genome Decoder code clojure

Getting Our Hands Dirty (with the Human Genome) code clojure

Validating the Genome Decoder code clojure

A Two Bit Decoder code clojure

Exploratory Genomics with Clojure code clojure

Rosalind Problems in Clojure code clojure

Introduction to Context Managers in Python code python

Processes vs. Threads for Integration Testing code python

Resources for Learning Clojure code clojure

Continuous Testing in Python, Clojure and Blub code clojure python

Programming Languages code clojure python

Milvans and Container Malls southpole

Oxygen southpole

Ghost southpole

Turkey, Stuffing, Eclipse southpole

Wind Storm and Moon Dust southpole

Shower Instructions southpole

Fresh Air and Bananas southpole

Traveller and the Human Chain southpole

Reveille southpole

Drifts southpole

Bon Voyage southpole

A Nicer Guy? southpole

The Quiet Earth southpole

Ten southpole

The Wheel art

Plein Air art

ISO50 southpole art

SketchUp and MakeHuman sketchup art

In Defense of Hobbies misc code art

Closure southpole

Takeoff southpole

Mummification southpole

Eleventh Hour southpole

Diamond southpole

Baby, It's Cold Outside southpole

Fruition southpole

Friendly Radiation southpole

A Place That Wants You Dead southpole

Marathon southpole

Deep Fried Macaroni and Cheese Balls southpole

Retrograde southpole

Three southpole

Transitions southpole

The Future southpole

Sunday southpole

Radio Waves southpole

Settling In southpole

Revolution Number Nine southpole

Red Eye to McMurdo southpole

That's the Way southpole

Faults in Ice and Rock southpole

Bardo southpole

Chasing the Sun southpole

Downhole southpole

Coming Out of Hibernation southpole

Managing the Most Remote Data Center in the World code southpole

Ruby Plugins for Sketchup art sketchup ruby code

The Cruel Stranger misc

Photoshop on a Dime art

Man on Wire misc

Videos southpole

Posing Rigs art

Metric art

Cuba southpole

Wickets southpole

Safe southpole

Broken Glasses southpole

End of the Second Act southpole

Pigs and Fish southpole

Last Arrivals southpole

Lily White southpole

In a Dry and Waterless Place southpole

Immortality southpole

Routine southpole

Tourists southpole

Passing Notes southpole

Translation southpole

RNZAF southpole

The Usual Delays southpole

CHC southpole

Wyeth on Another Planet art

Detox southpole

Packing southpole

Nails southpole

Gearing Up southpole

Gouache, and a new system for conquering the world art

Fall 2008 HPAC Studies art

YABP (Yet Another Blog Platform) southpole

A Bath southpole

Green Marathon southpole

Sprung southpole

Outta Here southpole

Lame Duck DAQer southpole

Eclipse Town southpole

One More Week southpole

IceCube Laboratory Video Tour; Midrats Finale southpole

SPIFF, Party, Shift Change southpole

Good things come in threes, or 18s southpole

Sleepless in the Station southpole

Post Deploy southpole

IceCube and The Beatles southpole

Midrats southpole

Video: Flight to South Pole southpole

Almost There southpole

The Pure Land southpole

There are no mice in the Hotel California Bunkroom southpole

Short Timer southpole

Sleepy in MacTown southpole

Sir Ed southpole

Pynchon, Redux southpole

Superposition of Luggage States southpole

Shortcut to Toast southpole

Flights: Round 1 southpole

Packing for the Pole southpole

Goals for Trip southpole

Balaklavas southpole

Tree and Man (Test Post) southpole

Schedule southpole

How to mail stuff to John at the South Pole southpole

Summer and Winter southpole

Homeward Bound southpole

Redeployment southpole

Short-timer southpole

The Cleanest Air in the World southpole

One more day (?) southpole

One more week (?) southpole

Closing Softly southpole

More Photos southpole

Super Bowl Wednesday southpole

Night Owls southpole

First Week southpole

More Ice Pix southpole

Settling In southpole

NPX southpole

Pole Bound southpole

Bad Dirt southpole

The Last Laugh southpole

First Delay southpole

Nope southpole

Batteries and Sheep southpole

All for McNaught southpole

t=0 southpole

The Big (Really really big...) Picture southpole

Giacometti southpole

Descent southpole

Video Tour southpole

How to subscribe to blog updates southpole

What The Blog is For southpole

Auckland southpole

Halfway Around the World; Dragging the Soul Behind southpole

Launched southpole

Getting Ready (t minus 2 days) southpole


Subscribe: RSS feed ... all topics ... or Clojure only / Lisp only