Simon saw this thumbnail (by the channel Mind Your Decisions) among the YouTube recommended videos and sat down to solve it, without watching the video, so that he doesn’t see the solution before he comes up with his own.

Simon speaking at the Processing Community Day in Amsterdam

Simon had his first public performance in front of a large audience last Saturday (February 9, 2019): he spoke about his Times Tables Visualization project at the Processing Community Day in Amsterdam!

Simon writes: You can access the code of the poster and the animation (and the logo for my upcoming company!) and download the presentation in PowerPoint, on GitHub at https://github.com/simon-tiger/times_tables

Simon differentiating 3tan(2x)

To solve the problem, Simon chooses not to look up what the derivative of a tangent is but work everything out from scratch. He generally doesn’t like rote learning but prefers to gain deep understanding of how and why.

Behind the scenes

This is a behind the scenes video (Simon wasn’t even aware of me filming at first, but he always talks to himself when working out a proof, so that helps). The video shows Simon looking for the number z if sin(z) = 2. He watched this problem explained on the Blackpenredpen channel once, then marched into another room (where he has his whiteboard) and started trying to construct the solution on his own. His solution was partially based on what he saw in the working out shown by Blackpenredpen and partially he worked out the proof himself (and it just happened to coincide with that of Blackpenredpen). He only briefly consulted the explanation video three times while working on the proof. “My proof expanded some steps out so it’s clearer where I’m coming from,” Simon says.

Here is a picture of the work done:

And some pics of the working out in progress:

Simon at first made a mistake in his definition of ln(i):

But later he corrected himself, and that’s the part you can see in the video.

Simon’s Sine Wave Tool

Simon came up with a tool (a circle where you install a pencil) to draw curved lines. He explains how the curved line actually draws the absolute value of the Sine function sin(x). “Because an absolute value of x is square root of x squared, that means that all negative values cancel out”, says Simon, that’s why the wave looks spiky.

Simon’s tool should probably be improved by making it from thicker material like thick cardboard.

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:

Simon’s Codea Tutorials and the Arc-Tangent

A set of awesome Codea tutorials that Simon recorded for those who are just starting to program in Codea. Simon ported examples from Processing (java) into Codea (Lua):

In the second tutorial (in two parts), Simon explains how to write a physics simulation program in Codea using forces like gravity, friction and spring force. Anyone watching will get to use some trigonometry and see what arc-tangent is for!Â The original code in Java comes from Keith Peters (Processing).

Here are some notes from when Simon was explaining the arc-tangent to me the other day:

Simon’s changes to Daniel Shiffman’s Spherical Geometry Coding Challenge

Simon talks about his changes to Daniel Shiffman’s Spherical Geometry Coding Challenge: He has rewritten the code in an object oriented manner. Later he also turned the sphere into an ellipsoid using three radii.

Object oriented (Simon’s idea):