Simon says he has attempted a Higgs Field model in Processing, but got more of a Brownian Motion simulation in the end. His code on GitHub: https://github.com/simon-tiger/Brownian-Motion
At the beginning of April, Simon started working on his COVID-19 epidemic simulation project, implementing a number of scenarios (like various degrees of hygiene, quarantine, social distancing), explaining his code live on camera so that anyone can code along and create their own simulations.
The programming language I used is Processing (Java), optimized for Creative Coding purposes. To run the code on your computer, you’ll need to install Processing https://processing.org (I provide more detailed instructions in my GitHub readme).
My basic coronavirus simulation in p5.js: https://editor.p5js.org/simontiger/sketches/lCLuPy0jN
The project is still in progress, as Simon plans to implement a few more realistic scenarios. He recorded Part III live on Discord (The Coding Train’s Discord channel) and will probably do the same for the upcoming parts, so stay tuned!
Simon explaining his creative coding poster to artists from the Antwerp Art Academy at a small exhibition he was part of last Wednesday.
Simon opened up a genetic algorithm game he built about two years ago and made a fascinating discovery: one of the organisms seems to have become immortal! Simon has called his discovery “The Everlasting Vehicle” and saved the vehicle’s DNA.
Links to the game on GiHub:
Original code: https://github.com/simon-tiger/steering-behaviors-evolution
p5.js version: https://simon-tiger.github.io/Game_SteeringBehaviorsEvolution/SteeringBehaviours_EvolutionGame_p5/
The last time I ran the program is a couple of hours ago. Everything died out, except for one vehicle.
I have programmed this with a genetic algorithm. They have a DNA with 4 genes.
Attraction/Repulsion to food
Attraction/Repulsion to poison
How far it can see food
How far it can see poison
They also have a health, which goes down over time. If they eat food, then their health goes up, if they eat poison, then their health suddenly goes down. A good health is 1, and a bad one is 0.
So what was The Everlasting Vehicle’s DNA and health?
Attraction/Repulsion to food 1.9958444373034823
Attraction/Repulsion to poison 1.3554737395594456
How far it can see food 53.31017416626768
How far it can see poison 23.33902221893798
Average health ~397
So it attracts to poison, yet its health is approximately 397 times bigger than a very good health! And better yet, it even lasted for a couple of hours so far!!!
Inspired by Daniel Shiffman’s Evolutionary Steering Behaviors Coding Challenge
Link to the Challenge: https://www.youtube.com/watch?v=flxOkx0yLrY
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
If you’d like to buy a printed copy of the poster, please contact me and I’ll send you one. Status: 3 LEFT.
My Times Tables Visualization Poster has arrived! Will probably present this at @CC_Amsterdam @ProcessingOrg Community Day Amsterdam!
What a blissful day at Creative Coding Utrecht! Simon also got a chance to show a few of his projects in Processing to a cool and understanding audience!
Simon shows his Times Tables Visualization in Processing (Java) and talks about how it’s connected to Mandelbrot Set. See the code with the README on GitHub: https://github.com/simon-tiger/times_tables
View the full animation here:
Simon writes: This is a visualization for the times tables from 1 to 200 (including the in-between numbers that are multiples of .01). I used modular arithmetic to write the code:
0. Start with a circle with 200 points (I’ve chosen 200, your number could be anything, but we’ll use 200 in the instructions).
1. Label the points from 0-199, then from 200-399, then from 400-599, and so on (you’re labeling the same point several times).
2. We’ll first do the 2x table. 2×0=0, same thing so we don’t do anything. 2×1=2, so we connect 1 to 2. 2×2=4, so we connect 2 to 4, and so on.
3. 2×100=200, where’s the 200? It goes in a circle so 200 is where the 0 is, and now you can keep going.
4. Now you could keep going beyond 199, but actually, you’re going to get the same lines you already had!
5. You can now create separate images for the 2x table (which we’ve just done), the 3x table, the 4x table, the 5x table, and so on. You can even try in-between numbers (like 2.53) if you want.
In the program, you see an animated image at the left of the screen, and 4 static images (representing examples of times tables) to the right of that. They represent the 2x, 34x, 51x and 99x tables.
The idea of a times tables visualization comes from a video by Mathologer, but the code Simon wrote completely on his own.
In this live session, Simon continue my 15s puzzle redo live session (“yet again, but I swear this is going to be the last time I do this!” Simon said). Here’s a link to the previous part. This week’s live stream went great, Simon kept it concise, didn’t panic while debugging, largely thanks to a wonderful supportive audience. And he even got some interesting personal questions asked in the end!
Simon has developed his version of the Magic Cards, this time in Base 3. He invented this system completely on his own and actually created a program in Processing (Java), using ternary function, to make the cards! The the code for creating the five cards in Processing and exporting the images as png files is available on Simon’s page on GitHub: https://github.com/simon-tiger/browns-criterion-base3
To play the game, have someone think of a number between 0 and 242 and let that person look for his/her number on every card and tell you which colour it is on every card. Every card stands for a power of 3: 81, 27, 9, 3, and 1. There are three grids of numbers on every card, a blue grid (representing the zeros in base 3), a red grid (representing the ones in base 3), and a green grid (representing the twos in base 3). After your friend has found his/her number on all the five cards, you can go ahead and add all the results up to guess the number. Alternatively, if you find working with base 3 too difficult, just sum up all the red numbers in the top left corners (on all the cards where your friend’s number was red), then double all the red numbers in the top left corners (on all the cards where your friend’s number was green) and add all of those together to guess the number.
Simon started out by actually trying to draw the magic cards:
But quickly realised he’s better off writing a computer program to fill in the grids. When the program (pretty tough to write) was finally ready, he tried to print a card out and… ran out of ink on our home printer. Next, we rushed to the print shop, as it was about to close.
“Mom, I can calculate why it says 17 million colours! It’s 256 cubed!” (255 for Red, Green and Blue plus one for alpha).