This is a p5.js sketch inspired by the Coding Train’s Coding Challenge #6 on creating a simulation of Mitosis

Currently only simulates actual splitting of the cell; not the separation / replication of the chromosomes.


screenshot-01 screenshot-02 screenshot-03 screenshot-04 screenshot-05 screenshot-06 screenshot-07 screenshot-08


(No interactivity implemented yet).


Source code: (View on Github)

Notes / Learnings:

One (sub)challenge I wanted to explore here was mimicking the pinching of the cell membrane to form the two daughter cells. I chose to use a collection of line-segments (CellMembraneSegment) to form the membrane, which gave me this control.

Unfortunately, I got hung up on creating a natural push/pull aspect of this membrane, and resorted to random movement. Subsequently, there are jagged edges in what should be a smooth curved boundary. I would like to revisit this and use more natural forces to model the membranes movement.

Overall, this felt more like creating a timed animation than simulating a natural process.

Next Steps

  • Re-model the movement of the membrane based on natural forces; and allow it contract / grow during Cytokinesis.
  • Model the phases of mitosis involving chromosome condensing and movement via the centrosomes.
  • Explore what it would look like to model the internal chemical signals that advance the cell through the stages of its life.
  • Explore interactivity to engage the user more.