Simon trying out the D3 library

Simon spent hours studying the D3 library on Sunday, it’s a very popular JavaScript library using SVG images he had never tried before. He also found it great how the annotations are in English, Russian, Chinese and Japanese and showed it to his Chinese teacher today.

He also created an account on the library website, but couldn’t figure out how to create a new project. We should look at it together this week when I finally have more time.

These are two small videos of Simon trying the D3 library out:



D3 16 Jul 2017

Simon built a website featuring Box2D helper

Simon created a website to assist people using Box2D. The website features the jBox2D helper.

Link to Simon’s website:

GitHub Issue about the project:

Simon ported the code for the examples from the JavaScript version of the book The Nature of Code by Daniel Shiffman. The Box2D helper also comes from The Nature of Code.

Back to Attractor with ToxicLibs

Simon returned to his old Attractor sketch in Processing once again, now adding some new functions:

The code original came from Daniel Shiffman’s book The Nature of Code, Chapter 5 (Physics Libraries) and from the ToxicLibs library, but Simon has customized it quite a bit.

Translating Car On Terrain project from into Processing

Today Simon spent hours translating this Car On Terrain project from (where it appears in JavaScript) into Processing (Java). He loved doing it in a form of a lesson for me, while I was filming him and asking questions about loops, arrays, fixtures, shapes and bodies (and there are many things I don’t understand). Simon also spoke about “the three most important properties: density, friction and restitution”. The project involved a lot of Physics, using many Box2D sub-libraries and translating between pixels and mm.

In the end, he got tired of writing all the coordinates for the terrain vertices, but he did get quite far.






Applying Box2D to translate from pixels into mm:

CarOnTerrain translating from pixels into mm

Box2D into Codea, Java into Lua

Several recent translations of Box2D examples (from Daniel Shiffman’s book The Nature of Code) into Codea, that is Processing (Java) into Lua. Both Box2D and Codea are physics libraries.


Revolute Joint (Windmill):


MotorAttractor with Box2D in Processing (Java)

In this project Simon combined two exercises and one example from Daniel Shiffman’s Nature of Code book, Chapter 5 – Physic Libraries. The specific physics library used here is Box2D. Simon combined exercises 5.6 (Bridge) and 5.10 (Attraction Apply Force), and example 5.7 (Create a windmill) to create a motor that catapults particles towards an attractor. If the particles fly past the attractor, “bricks” can be added to the canvas by clicking the mouse – the weight of the bricks helps regulate the motor in the right direction. For this project, both gravitational attraction and global gravity force were applied: