Simon hadn’t been writing in Python for months but seems to be quite fluent still, here using the Python space in Processing for the first time:

# Category: Murderous Maths

# How to calculate brightness and saturation using Euclidean distance

# Fractal Dimensions

Simon is talking about various shapes having various number of dimensions, which, oddly enough, doesn’t have to be a whole number. Based on maths tutorials on 3Blue1Brown channel, that Simon has been watching a lot over the past several days.

# Ways to create 4D noise

Simon comparing possibilities to create 4D noise in different computer languages:

# Sound Wave Maths in Processing

Simon has created animations visualizing sound waves (Triangle, Sawtooth, Square and Sine waves) in Processing (Java), using wave functions.

These are the functions he used for the Sawtooth, Square and Sine waves:

Not to confuse “sine” with “sgn” (sgn standing for *sign*):

He was inspired by the logarithmic and power functions that he was studying during his math class yesterday. Simon was trying to draw both types of functions in Grapher on his laptop, but only succeeded for the power functions (because there were no subscript option for the logarithms).

# Simon’s own little neural network

This is one of Simon’s most enchanting and challenging projects so far: working on his own little AIs. As I’ve mentioned before, when it comes to discussing AI, Simon is both mesmerized and frightened. He watches Daniel Shiffman’s neural networks tutorials twenty times in a row and practices his understanding of the mathematical concepts underlying the code (linear regression and gradient descent) for hours. Last week, Simon built a perceptron of his own. It was based on Daniel Shiffman’s code, but Simon added his own colors and physics, and played around with the numbers and the bias. You can see Simon working on this project step by step in the six videos below.

His original plan was to build two neural networks that would be connected to each other and communicate, he has only built one perceptron so far.

# Circle-Rectangle Intersection (Collision)

Simon has been studying various 2D collisions (via the p5.collide2D library and paulbourke.net), especially the Circle-Rectangle Intersection (Collision). He was so busy with this problem that he even put it down in chalk at the playground:

And on the whiteboard at home:

And spent nearly his entire math lesson today talking about the math behind 2D object collision to his math teacher:

Simon also used Circle-Rectangle Collision for his awesome new Hero Game in Processing!

# Interactive Math Functions

Simon was reading about math functions on Wikipedia and came up with an idea to create an interactive math functions editor in JavaScript that would visualize (i.e. show the graphs for) all the functions. Simon was especially excited about cosecant, secant and cotangent (csc, sec and cot for short), which were new to him:

Simon partially programmed the interactive math functions editor, but it remained unfinished:

# Playing around with sine, cosine and radii

Simon playing around with sine, cosine and radii in Grapher:

# Fractal Trees Customized

This weekend Simon came back to his old fascination, Fractal Trees. This time he didn’t just follow along Daniel Shiffman’s coding challenges, but created customized versions of Daniel’s trees, adding color and physics in some cases or writing the code in object oriented manner: