Hi,
I've developed a cellular automaton, that without any libraries plots a cotangent graph. This is remarkable in the sense that a computer can take a random distribution and evolve it using environment update rules alone, which then outputs trigonometry. The code is available at Adama Github Repo.
The update rules are:
- Have the cell update its neighbors first and then run the conventional neighbor update rule

- Competition of Moore neighborhood and von Neumann neighborhood, tuning to 4-4 and 5-5 gives Ising model's critical point as maximum, while 6-6 generates a Wind-Blown Problem.

Forced evolution towards one direction. Maximum is the ferromagnetic, which can be seen as the longest strips. 
Stochastic coupling. The roots of this equation provide trigonometric points for magnetic phase transitions. 
Following these rules, a series of transformations are applied, which are visible in the code. These transformations end with a collection of ratios, which is plotted as the cotangent function seen in this picture.
Please share your opinions and if you would like, I can share more information about this model.