Mechanical Animals

Mechanical Animals

Simulating nature's mechanics through code.


Mechanical Animals is an on-going project, in which I study the motion characteristics of natural organisms, and try to recreate their liveliness through computer algorithms.

Goldfish in My Browser is the first piece of this series.


In order to animate the fish, I figured that simulating the mechanics of the fish bone is key. I applied the concept of "inverse kinematics" in object-oriented programming.

Each fish is composed of five "segments", and each segment is a javascript object. Each segment object contains pointers to its previous and subsequent segment, and updates its "angle" whenever the neighboring segments move.


For the next step, I will explore the inverse kinematics in a 3-dimensional environment, and program some new creatures with Three.js in the browser. Stay tuned!