In the current era of computer programming culture it is rare to see someone implement something totally new. It happens occasionally now but in the 8-bit era everything was new; in the 16-bit era and early 32-bit era many things were new. I’m talking about from about 1980 to 1995. Back then many simple, interesting 2D cellular automata were undiscovered. 3D cellular automata as rich…
some more curvy physics videos
Below is some video of a simulation I am working on of fictional physics in which forces act along the arcs of circles rather than straight lines. I’m going to write a series of posts on how these simulations work at a later time but am putting these here to provide context for the later posts. Below is a video of a curvy force visualization…
Tessera, part 1.
I’ve been working on a domain specific language called “Tessera” for defining tilings of the plane and rendering them to SVG. It is particularly suited for tilings with a recursive structure, typically aperiodic tilings. For example, this image of the Penrose rhombuses was generated from this tessera script, and the image of Robert Amman’s A5 tiling in the header of this post was generated from…
Octet-1
Here’s some video of a new interlocking puzzle I designed and had 3D printed. I say “I designed” it but actually found it by combinatorial search similar to the one I did to find my Rhombo puzzle a year ago. I’m calling this one “Octet-1”, short for octahedron-tetrahedron because it is uses the octahedron-tetrahedron honeycomb as its lattice. The structure of the completed puzzle can…
Triangle Plasma
A couple of months ago, out of boredom, I implemented the old plasma fractals algorithm that is emblematic of the late 1980s/early 1990s demoscene, “rectangle subdivision fractals” or whatever you want to call it. It’s an old hack. I wrote some code that would generate animated GIFs that were cross-fades of plasma fractals but the GIF files came out too large and I lost interest…
Quintics Redux
A couple of years ago I wrote a blog post about finding the closest point on a cubic bezier to a given point in which I showed how to reduce the problem to solving a quintic equation and provided an implementation in C# that finds the roots of the quintic using Laguerre’s Method. I also mentioned at the end of that post that there is…
Basic Convex Hull in C#
Transliterated from java found here:
“Triangular Life”
Recently I looked through a bunch of triangular cellular automata in which each (1) uses two states, (2) uses the simple alive cell count type of rule, and (3) uses the neighborhood around a cell c that is all the triangles that share a vertex with c; that is, the 12 shaded triangles below are the neighborhood around the yellow triangle: These cellular automata have state…
Rhombo
Over the past couple of weeks I wrote some code in C# to generate dissections of the rhombic triacontahedron into golden rhombohedrons. George Hart discusses these types of dissections here and also talks about the problem of enumerating them in an appendix here — briefly, all this material by Hart and others is about how the fact that the rhombic triacontahedron and the rhombic enneacontahedron are…
Basic signals & slots in C++
I put up some code on github that implements basic signals and slots functionality using standards compliant C++. It’s one header file “signals.hpp”. See here: link to github This implementation of signals is a re-work of some code by a user _pi on the forums for the cross-platform application framework Juce — that thread is here — which was itself a re-work of some example…