Risto A. Paju's Avatar

Risto A. Paju

@algoristo.bsky.social

Algorithmic artist http://algoristo.com/

41 Followers  |  34 Following  |  49 Posts  |  Joined: 18.01.2025  |  1.7697

Latest posts by algoristo.bsky.social on Bluesky

Video thumbnail

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.

30.09.2025 10:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

28.09.2025 14:04 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Deforming Apollonian spheres, again using some interesting math that Bluesky doesn't want me to explain in this limited space.

24.09.2025 16:14 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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

23.09.2025 12:53 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Another look at Apollonian spheres, cutting out the top half and showing a few iteration steps.

#apollonianspheres #apolloniangasket #iteratedfunctionsystem #inversion #sphereinversion

21.09.2025 18:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Apollonian spheres

18.09.2025 21:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

New implementation of the Apollonian Gasket iteration

16.09.2025 13:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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.

13.09.2025 14:04 β€” πŸ‘ 20    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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.

12.09.2025 12:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Different views of iterating the Apollonian gasket

10.09.2025 18:42 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Is it that time of the year yet?

#pumpkincarving #sierpinskitriangle

09.09.2025 17:43 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Truncated octahedron Apollonian gasket

08.09.2025 22:29 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Another style for regular 2D Apollonian gaskets

#apolloniancircles #apolloniangasket #relief #emblem #geometricart #fractal #fractalart #raymarching #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

05.09.2025 11:47 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Apollonian gaskets based on Platonic solids. The vertices of a tetrahedron/octahedron/icosahedron are used for the centre positions of the initial circles.

02.09.2025 17:30 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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.

31.08.2025 23:08 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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

24.08.2025 16:25 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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

23.08.2025 17:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

19.05.2025 10:52 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Riemersma-like dithering using a Gosper curve and a boustrophedon on a hex lattice

15.05.2025 11:24 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image Post image

Riemersma-like dithering with various space-filling curves

10.05.2025 17:49 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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.

06.05.2025 18:52 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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.

02.05.2025 15:54 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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.

29.04.2025 09:50 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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

27.04.2025 19:23 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Post image Post image

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.

26.04.2025 18:58 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Random partitionings with colour mapped from uniform partitioning (basic pixelation)

#splittingimage #stablegenius

22.04.2025 14:26 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks! It uses simple edge detection, so basically contrast.

21.04.2025 15:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Optimizing pixel sizes for better detail, compared to uniform pixelation. Both pictures have 4096 rectangular tiles.

#pixelart #blockart #tiling #pythoncode #opengl #algorithmicart #algorist #mathart #laskutaide #ittaide #kuavataide #iterati

20.04.2025 16:18 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

New idea for stippling images using the 1D partitioning logic from last post, alternating in x and y dimensions.

I also made the minimum spanning tree, and it turned out quite interesting with the horizontal and vertical lines dominating large areas.

17.04.2025 15:00 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

I came across this halftoning idea sometime last week. While the idea was relatively easy to understand and fun to implement, I've spent quite a lot of time trying to make the result look nice.

I'm also including a fun glitch from the early tests.

#halftoneart #lineart #pythoncode #opengl

15.04.2025 18:56 β€” πŸ‘ 17    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

@algoristo is following 19 prominent accounts