A self-generating, learning Tixy

 

tixy.land displays a 16 x 16 square of dots whose colors and size are determined by a user-entered JavaScript expression utilizing at most just four variables: t, i, x, and y (hence the name of the page). t stands for time, and so introduces the possibility of animated patterns.

tixy was announced by Martin Kleppe at the end of 2020, and quickly became very popular. Have a browse through the beautiful gallery of some of the submitted expressions.

Aside from typing an equation on the page, you can also send it to the site as part of the tixy URL. For example, try https://tixy.land/?code=sin(t)

Naturally, tixy variants quickly appeared, including a very nice 3D version by Noah Doersing at https://doersino.github.io/tixyz/.

My copy of tixy adds two ideas. First, the user no longer enters an expression; the code generates its own random equation which the user must score. The number is used to change the weights used by the generator when deciding which branches of the expression parse tree to follow. This influences the output to make 'pleasing' patterns more likely.

The screenshot shows the executing Java application:

[TixyViewer PIC]

It's possible to send a string from the application to tixyland for 'official' rendering, although it may not produce the same pattern since my code employs Java operators and functions, not JavaScript.

When the application is closed, the highest scoring expressions are printed to standard output for your further perusal. In addition, the parsing weights are saved to a file, and will be loaded next time TixyViewer is run.

 

Downloads

 

Dr. Andrew Davison
E-mail: ad@coe.psu.ac.th
Back to my home page