Peter Kagey in a Rhombic Dodecahedron made from Truncated Octahedra

Hello! I’m Peter!


Blog


  • Cube fractals

    Robert Fathauer’s fractal

    On May 16th, 2024, Robert Fathauer tweeted a wonderful timelapse video of building a white cube fractal, which you can see below.

    When I tried to learn more about this fractal, I found a Mathematica demo called “Shifting Cube Fractal”. I couldn’t get the demo to work quite properly, so I illustrated it myself by writing a Mathematica script to make this video:

    Bluesky #MathArtMarch

    In March 2025, @ayliean.bsky.social started #MathArtMarch with a list of prompts to use to make new art or post existing art. On Day 12, I saw @curved-ruler.bsky.social‘s cube fractal, and inspired it, Ayliean’s prompt, and Robert Fathauer’s timelapse, I modified the above video to show off some new perspectives.

    Day 1 of #MathArtMarch threadHop in and out of the challenge as you please! Do arty maths or mathsy art🌿(I will now attempt to make a thread of today’s delights, but I’m not very Bluesky yet 👇)

    Ayliean (@ayliean.bsky.social) 2025-03-02T00:24:40.728Z

    #MathArtMarch Day12: On an isometric gridCube fractal

    curved-ruler (@curved-ruler.bsky.social) 2025-03-11T19:50:45.081Z

    This video has four frames where the sides of the cube are perfectly transparent, and these look very reminiscent of @curved-ruler.bsky.social‘s cube fractal.

    Mathematica code

    Here’s my quick and dirty Mathematica code used to make the first illustration. If you modify it, show me what you make on Bluesky! (@peterkagey.com)

    nextGen[cube_, t_] := (
    s = Volume[cube]^(1/3)/2;
    c = RegionCentroid[cube];
    {
    Cube[c + s {1.5, -0.5 + t, -0.5 + t}, s],
    Cube[c + s {-1/2 + t, 1.5, -1/2 + t}, s],
    Cube[c + s {-0.5 + t, -0.5 + t, 1.5}, s]
    }
    )
    frames = Table[
    cubes = {{Cube[]}};
    cubes =
    Append[cubes,
    Flatten[nextGen[#, (Sin[2 \[Pi] t + \[Pi]/4] + 1)/2] & /@
    cubes[[-1]]]];
    cubes =
    Append[cubes,
    Flatten[nextGen[#, (Sin[2 \[Pi] t + \[Pi]/4] + 1)/2] & /@
    cubes[[-1]]]];
    cubes =
    Append[cubes,
    Flatten[nextGen[#, (Sin[2 \[Pi] t + \[Pi]/4] + 1)/2] & /@
    cubes[[-1]]]];
    cubes =
    Append[cubes,
    Flatten[nextGen[#, (Sin[2 \[Pi] t + \[Pi]/4] + 1)/2] & /@
    cubes[[-1]]]];
    Graphics3D[
    Transpose[{Table[
    Hue[(3 n)/5 + (Sin[2 \[Pi]*t] + 1)/10], {n, 1, 5}], cubes}],
    ViewVector ->
    100*{Sin[4 \[Pi]*t - \[Pi]/4], Sin[4 \[Pi]*t - \[Pi]/4],
    Sqrt[2] Cos[4 \[Pi]*t - \[Pi]/4]},
    ViewVertical -> -{Sin[4 \[Pi]*t + \[Pi]/4],
    Sin[4 \[Pi]*t + \[Pi]/4], Sqrt[2] Cos[4 \[Pi]*t + \[Pi]/4]},
    ViewAngle -> 0.025,
    ImageSize -> {720, 720}, Boxed -> False, Lighting -> "Neutral",
    SphericalRegion -> True],
    {t, 1/200, 1, 1/200}
    ]
    Export["frame_000.png", frames, "VideoFrames"]
  • Saved video tweets (Part 4/4)

    As I discussed in Part 1, Part 2, and Part 3, I’m going through my old saved tweets and documenting them as I move to Bluesky (@peterkagey.com). Here are the last three of those tweets (all of which had video/GIF embeddings):

    Alison Martin packing

    Can anyone tell me more about the geometry of this? Let me know on Bluesky!

    Matt Henderson on Pringles

    I watched this 12 minute YouTube video (ad?) “How Pringles Are Made In Factory” to see if Pringles would ever be extruded through a “letterbox,” but alas, they are just stamped out using molds.

    Also check out this Pringles tesselation that I learned about on Bluesky from @mathgrrl.bsky.social via @johngolden.bsky.social.

    These tessellations are by @theo.rooden.art.weaving on Instagram—go over there and like and share!

    Lenore with a video of a human polyhedron

    No, not a human pyramid—a human rhombic dodecahedron. (I reached out to the Los Angeles Public Library to see if their librarians could help me to figure out where this comes from!)

    I imagine them saying to each other, “If we put our heads together, we can make a rhombic dodecahedron.”

    I made a model of the polyhedron that rotates, and where the participants “put their heads together” to alternate between a 13-face solid and a rhombic dodecahedron.

  • Saved video tweets (Part 3/4)

    As I discussed in Part 1 and Part 2, I’m going through my old saved tweets and documenting them as I move to Bluesky (@peterkagey.com). Here are four (secretly five!) of those tweets (all of which had video/GIF embeddings):

    Rafael Araujo with geometric art

    I think this could be an interesting problem to have multivariable calculus students model. Here’s my attempt:

    Here’s the quick and dirty Mathematica code:

    colors = {RGBColor["#a476b9"], RGBColor["#4476bc"], RGBColor["#73b9a3"], RGBColor["#faf0e1"], RGBColor["#fbe5cc"], RGBColor["#e85981"], RGBColor["#f3c0ee"], RGBColor["#d3cdd6"]};
    c=4; a=0.35;
    fs:=Table[
        {Cos[-t],2Sin[-t]}+a*{Cos[-c*t+s],Sin[-c*t+s]},
        {s,0,2\[Pi]-(2\[Pi])/8,(2\[Pi])/8}
    ];
    frames=Table[
        ParametricPlot[
            fs,{t,-\[Pi]/4,tf},
            Background->Black, PlotRange->{{-2,2},{-3,2}}, Axes->False,
            PlotStyle->({JoinForm["Round"],CapForm["Round"],Thickness[0.02],#}&/@colors)
        ],
        {tf,-\[Pi]/4+0.01,2\[Pi]-3\[Pi]/4,0.05}
    ];
    Export[NotebookDirectory[] <> "geometric_paint.mp4", frames]

    Keishiro Ueki’s hinged objects

    Keishiro Ueki is on Bluesky as @keishiroueki.bsky.social. The first video is a minute long and has twelve (!!) examples—each of them very slick!

    This next video reminds me of Martin Schwab’s “Mechanized Hinged Truchet Tiling,” which you can see on Mathstodon! (You won’t regret clicking on the link!)

    Amy Goodchild illustrating Genuary 2024

    Amy is at Bluesky with the handle @amygoodchild.bsky.social.

    I find this “Genuary Day 1” post to be both very pretty and very inspiring.

    Matt Pritchard with an optical illusion

    Matt Pritchard is on Blueksky as @sciencemagician.bsky.social. The illusion is closely related to the Ames illusion; the gridlines are not parallel!