In a previous article, I showed how defining a potential energy function can help us understand physics simulation from a minimization perspective, and we also saw how it shared some similarities with neural network training. However, minimizing the potential energy is not the whole story. A proper discussion of momentum was missing. I only mentioned particle positions, but particle velocities were missing in our simulation state.

Throughout this article, I’ll link to specific parts of this repository for implementation details.


These days, most neural network frameworks are essentially collections of functions on multidimensional arrays with added support for a particular type of automatic differentiation (backpropagation).

These features are generally useful for any task that requires numerical optimization (deep learning happens to be one of them) and, in this article, I want to show how these features can be particularly useful for physics-based simulation. I believe that being able to implement physics engines using deep learning frameworks can be very convenient to prototype new environments in the context of reinforcement learning. …


In this post I will explain the main idea behind the paper Average Vector Field Integration for St. Venant-Kirchhoff Deformable Models. I will try to give some context before explaining the main idea of the method in case you’re not too familiar with physics-based simulation. At the end of the post I will include a more technical summary of the method in case you’re already familiar with physics-based simulation and just want to implement the method without going through all the derivations presented in the paper.

solving the equations of motion

The conventional story in physics is that differential equations describe the evolution of…


Inspired by some artificial life papers, I implemented a genetic algorithm to evolve locomotion skills in virtual creatures with deformable bodies. Despite using a somewhat simple model, some interesting behaviors emerged.

The body

Many projects about simulated evolution of virtual creatures use rigid parts connected with joints for the creatures’ bodies. In these models, movement is achieved by applying torques at the degrees of freedom of each joint.

Rigid parts connected with joints are a good abstraction of the structures that nature has produced after many years of evolution like bones and muscles, but I wanted to experiment with more basic…

Junior Rojas

PhD student. Deep learning and physics-based simulation. https://juniorrojas.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store