Optical Illusions in Processing (Java)

Simon created three optical illusions in Processing (Java) playing with color. For better effect, you can download Simon’s code on GitHub: https://github.com/simon-tiger/colorIllusions

The Part 1 video is about the first two illusions. The third (and the coolest) illusion is in Part 2.

 

Simon writes:
Illusion 1: A checkerboard with blue and yellow squares, but if you move away from it, you see white.
Illusion 2
Mode 1: A disk with red and green, but when you spin it, it becomes yellow.
Mode 2: A disk with red and cyan, but when you spin it, it disappears.
Illusion 3: A rainbow of colors, but when you pause it from flickering, you only see red, green, and blue.

If Illusion 2 Mode 2 doesn’t work, change the background from 255 to between 128 and 135.
If any of the other illusions don’t work, try doing them on a different screen.

Inspired by Physics Girl videos.

 

 

Advertisements

Simon’s Archimedean Solids Project

https://youtu.be/dYBZXFW4bsg

Simon is working on a project that will involve constructing the Archimedean solids from paper pieces that he programs in Processing (Java) and prints out. In the previous video, Simon worked out the distance between two points to measure the side length of a pentagon that has the radius of 1 (i.e. the distance between its adjacent vertices if the distance from its center to its vertices is 1). He first made a mistake in his calculation and got a result that would be true for a hexagon, not a pentagon. He then corrected himself and got the value that he thought he could use in the Processing code, but as it turned out, the ratio between the radius and the side length was still not right. We recorded a whole new video full of calculations and playing with the code, and achieved pretty neat results after Simon used the new value in the code, but still not good enough, as Simon wanted to have his pentagons to have the side length of 40 (to match the triangles and the squares he’d already made). Simon later found a solution using a different formula for a polygon with n sides (from trigonometry, defining the radius as the side length over (2sin times 180/n)) and succeeded in getting exactly the pentagons he wanted, with the side equalling 40. See the result here:

https://www.youtube.com/watch?v=f4unEptU3Vs&t=1s

The winning formula:

If you are really into working out the calculations, feel free to check out our frantic attempts here:

https://youtu.be/TuVqc5A08es

Live Stream #16: Twins Game in Processing and Chapter 6 of Living Code.

Simon’s live stream yesterday had several supportive viewers. Simon started making a game of Twins in Processing (Java) and went on with his JavaScript course Living Code, that is based on Daniel Shiffman’s Nature of Code. He tries to keep his live sessions concise now, no longer than 1,5 hours. Note that in the summer, all the live streams will be in Tuesdays in order not to clash with Daniel Shiffman’s summer schedule.

Simon’s Times Tables Visualization

Times Tables Visualization 31 May 2018

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.

Live Stream #14. 15’s Puzzle Redo continued.

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!

Magic Cards in Base 3!

 

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:

dsc_15031481291803.jpg

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.

dsc_14991807313702.jpg

dsc_1502726101795.jpg

“Mom, I can calculate why it says 17 million colours! It’s 256 cubed!” (255 for Red, Green and Blue plus one for alpha).

dsc_1498591699534.jpg

Simon previously developed a magic card system for Prime Numbers and wrote a Java program that guessed the numbers using powers of two.

 

Liva Stream #13. Math Puzzle: Logic.

In this live session, Simon works a little on his 15s puzzle redo that he started in his previous live session: https://www.youtube.com/watch?v=ixkLFYcb0T0 and programs a math/logic puzzle, checking whether the statement “Every card with a T on one side has a 3 on the other” is true or false. The original puzzle comes from an old video by James Grime, recorded before Simon was born (the fact that Simon finds particularly funny):

Reds and Greens

Simon has crafted a nice game today, inspired by a video in which mathematician Katie Steckles shows several mathematical games. Simon wasn’t sure what the game was called so he named it “Reds and Greens”. The objective of the game is to accumulate a set of three cards sharing the same property (such as the same number of green dots or red dots, the same total number of reds and greens or a set in which all the three possible variants – one, two and three dots of the same color – would be present). Each player pulls a card from the stack (all the cards are lying face up) and the one who collects a set first wins. Simon has actually programmed the cards in Processing (Java) – quite a strenuous task. Below is the jpeg pic of what he made and his code in Processing.

Reds and Greens 10 Apr 2018

 

Reds and Greens Code 1 10 Apr 2018Reds and Greens Code 2 10 Apr 2018

Simon also explained how the game is very similar to Tic Tac Toe, look at the photo below and you’ll see why:

dsc_0935181490489.jpg

Live Stream #12: 15’s Puzzle Redo

Simon had quite an audience yesterday during his live lesson. In this week’s session, Simon remade his 15’s Puzzle in Processing and explained the math behind it. He plans to finish the puzzle during his next live stream in two weeks from now (on April 19 at 17:15 CET).

 

Simon and Daniel Shiffman

Today is one of the most beautiful days in Simon’s life: NYU Associate Professor and the creator of Coding Train Daniel Shiffman has been Simon’s guarding angel, role model and source of all the knowledge Simon has accumulated so far (in programming, math, community ethics and English), and today Simon got to meet him for the first time in real life!

Daniel Shiffman posted: