Risto A. Paju
@algoristo.bsky.social
41 followers 34 following 49 posts
Algorithmic artist http://algoristo.com/
Posts Media Videos Starter Packs
Another blow-up view of the Apollonian spheres, now dropping on a concave surface to gather all the jetsam together. This is what I had in mind when writing the first drop demo, and the model just needed a bit of refinement for the differently sized balls.
New demo just dropped! Testing a basic elastic model with blocks of FCC, BCC and diamond lattice.

#particlesimulation #elasticcollision #hookeslaw #bodycenteredcubic #facecenteredcubic #diamondlattice #lattice #crystalstructure #3dgraphics #pythoncode #numpy #opengl
Deforming Apollonian spheres, again using some interesting math that Bluesky doesn't want me to explain in this limited space.
Making Apollonian gaskets usually follows a key rule of iterated function systems: each iteration should make the thing smaller. With inversions, this means going from the outside to the inside of inverting circles.

However, it's possible to make valid gaskets using a lopsided configuration, where
Another look at Apollonian spheres, cutting out the top half and showing a few iteration steps.

#apollonianspheres #apolloniangasket #iteratedfunctionsystem #inversion #sphereinversion
New implementation of the Apollonian Gasket iteration
2D circle inversion fractals on the spherical surface. This was a fun offshoot of my recent Apollonian endeavours, again using the Riemann sphere mapping to go from 3D to 2D for the iterations.
Apollonian gaskets via circle inversion.

For more explanation, you should see my posts on Instagram, Youtube, Facebook or Mathstodon where the posting limits are more sensible.
Different views of iterating the Apollonian gasket
Is it that time of the year yet?

#pumpkincarving #sierpinskitriangle
Truncated octahedron Apollonian gasket
Another style for regular 2D Apollonian gaskets

#apolloniancircles #apolloniangasket #relief #emblem #geometricart #fractal #fractalart #raymarching #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati
Apollonian gaskets based on Platonic solids. The vertices of a tetrahedron/octahedron/icosahedron are used for the centre positions of the initial circles.
Riemann sphere mappings of Apollonian gaskets.

Since my 2D gaskets are fitted to the unit circle, they cover exactly half of the Riemann sphere, as seen in the first part. My lazy solution to covering the entire sphere was a simple copy-paste, and the result doesn't seem too bad.
Another look at the Apollonian gasket. This shows that the process doesn't use simple inversion, since that would distort the image within each disc.

#apolloniancircles #apolloniangasket #geometricart #fractal #fractalart #biblicallyaccurateangels #weirdart #creepyart #horrorart
Back to basics: I made an Apollonian gasket generator based on Descartes' theorem, as explained on Wikipedia. The method involves some nontrivial details on the choice of +/- signs, which I had to figure out on my own.

#gasketcase
Testing the Gosper curve in my variable iteration halftoning setup. So far I've only used the Hilbert curve this way, and things get a bit coarser with the Gosper, so it was harder to find images that make nice results. So here we are with the old Venus again.

#halftoneart #gospercurve
Riemersma-like dithering using a Gosper curve and a boustrophedon on a hex lattice
Riemersma-like dithering with various space-filling curves
Yet another optimized Voronoi tiling. Instead of the equal-sum partitions, this uses regular dithering to find the Voronoi seed points, and the tile areas are inversely proportional to the colour values.
I wanted to make the optimized tiling look more organic, and I've already played with Voronoi diagrams quite a lot. But this turned out a bit more messy than expected.

As before, there's a roughly uniform tiling with an equal number of cells for comparison.
Another visual refinement to a recent demo: adding seams to the optimized tiling scheme. While it breaks the mosaic illusion to some extent, I think it makes the tile sizing idea much clearer. As before, there's a uniform variant with the same number of tiles for comparison.
How it was supposed to look like in the first place: rounded with Bezier curves.

#beziercurve #hilbertcurve #planefillingcurve #spacefillingcurve #lineart #linedrawing #singlelinedrawing #pythoncode #opengl #geometryshader #algorithmicart #algorist #laskutaide #ittaide #kuavataide #iterati
The recent stipplings and partitionings reminded me of this demo from about 2 years ago. In short, it's a Hilbert curve where the iteration level varies by the colour value. I wanted to make some small changes, but I ended up rewriting it completely.