jblog
toc

Surfing

2016-03-12, post № 108

art, #animated, #animated gif, #beach, #board, #flip, #gif, #ocean, #surf, #surf board, #wave

The little pixel guy tries himself at surfing.

surfing.gif

Look-and-Say Sequence

2016-03-05, post № 107

mathematics, programming, Python, #approx., #approximating, #approximation, #John Conway, #lambda, #number sequence, #sequence

An interesting nonmathematical sequence which yet has interesting mathematical properties is the Look-and-say sequence.
As every good sequence it starts with a 𝟣. From there you get each next entry by looking at the previous and saying it. The next entry will thus be “one 𝟣” or 𝟣𝟣. From there “two 𝟣” or 𝟤𝟣, then “one 𝟤; one 𝟣” or 𝟣𝟤𝟣𝟣, “one 𝟣; one 𝟤; two 𝟣” or 𝟣𝟣𝟣𝟤𝟤𝟣 and so on.

Generating the Sequence

look-and-say-sequence_generating-the-sequence.png

The mathematical property, although, does not lie in the entry’s value, but rather in its length.

Calculating the Length of each Entry

look-and-say-sequence_calculating-the-length-of-each-entry.png

The interesting thing about the length is, that it approximately grows by 𝜆 each time. \big(\lambda=1.303577269034\dots\big)
This constant 𝜆 can be calculated by getting the real root of a degree 𝟩𝟣 polynomial (see Nathaniel Johnston’s post for further information) or be approximated by dividing entries. \big(\lambda=\frac{\text{entry}_{n+1}}{\text{entry}_{n}}\text{ for }n\rightarrow\infty\big)

Approximating 𝜆

look-and-say-sequence.png
Source code: look-and-say-sequence.py

Haferman Carpet

2016-02-27, post № 106

mathematics, programming, Pygame, Python, #animated gif, #automation, #black, #black and white, #carpet, #cell, #cell simulation, #cellular, #cellular automation, #cellular simulation, #fractal, #generating, #generation, #gif, #iterations, #weave, #white, #woven

The Haferman Carpet is a fractal, which kind of looks like a woven carpet. To generate it, you start with a single black pixel and apply in each cycle a set of rules.
In each generation every pixel in the carpet will be replaced by nine pixels according to the rules. A black pixel is represented by a 𝟢, a white one by a 𝟣.

The Rules

0\rightarrow\left(\begin{array}{ccc}1&0&1\\0&1&0\\1&0&1\end{array}\right)\text{and }1\rightarrow\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&0\end{array}\right)
haferman-carpet_6-iterations.gif
Source code: haferman-carpet.py
Jonathan Frech's blog; built 2021/04/16 21:21:49 CEST