Vulcan #12

Page
April 13, 2026
Download

I only partially answered the “Why” question a few posts back. I spent a good part of last year writing the Art program, and the first couple of months of this year developing a new website. Fortunately, I had a collection of work — Cylinder Art — from a separate Christmas project that I could reuse here.

When that dried up, I had a brand‑new program, a brand‑new website, but no new artwork in the queue. I certainly didn’t want to roll out the new site and then immediately let it go stale.

So I decided to just post whatever I’m working on. This isn’t the first time I’ve put together a behind‑the‑scenes or workshop‑style series. But the main reason is simply that I’ve started to find these very simple basic patterns interesting in their own right — especially when collected together.

If you’re following the code, today’s image uses both the saw() and frac() functions.

var z = pixel.point;
var a = frac(z.Real);
var b = saw(z.Imaginary);
pixel.value = Math.Max(a, b);

Vulcan #13

Page
April 14, 2026
Download

Why is this series called Vulcan? See Wikipedia and Altar Gods. He is often depicted with a hammer and a forge. Unlike his lazier counterparts who simply conjured things into existence, Vulcan actually built things the hard way. I’ve already set a precedent for mixing mythologies, and I chose Vulcan because it’s easier to read and say than Hephaestus.

This series is about building images from basic patterns — and also about building and using my new art program and the new website. I’m not sure where this series is headed, only that wherever it ends up, it will get there through construction and craft, not by conjuring a finished product.

Today’s piece is a picture of the frac/saw mix with distance coloring.

var z = pixel.point;
var a = saw(z.Real);
var b = frac(z.Imaginary);
pixel.value = Math.Sqrt(aa + bb);

Vulcan #14

Page
April 15, 2026
Download

I am running out of things to say. That is normal, 50% of my posts are only pictures. I am falling back into that mode now.

For those who are interested, and for images where the math is visible, I will include some brief code/formula math snippets.

$pixel.value = \sqrt{a}+\sqrt{b}$

The rest of the setup is similar to the previous posts.

Vulcan #15

Page
April 16, 2026
Download
The pixel value is a sum of scaled versions of two functions that were used in earlier posts. Specifically, $$pixel.value = 0.5*\sqrt{a^2+b^2} + 4*min(a,b)$$

Vulcan #16

Page
April 17, 2026
Download
Another mash-up of functions used for the pixel value $$pixel.value = \min(\sqrt{a^2+b^2},10*\min(a,b))$$

Vulcan #17

Page
April 18, 2026
Download
A small variation on the previous. $$pixel.value = \min(0.5*\sqrt{a^2+b^2},4*\min(a,b))$$

Vulcan #18

Page
April 19, 2026
Download

The next set of images introduces some symmetry around the diagonal axes in addition to the orthogonal axes.

The pattern in the earlier images could be repeated forever. A vast plane in which wherever you are standing, it looks exactly the same as anywhere else. These new ones, add a unique point at the center. There is an eight pointed star at the center. Other than some small distortion, everywhere else looks like everywhere else.

I am going to dial back on the math. But if you are curious, the additional symmetry is the result of $$z = z^2 /\lvert z \rvert$$ The squaring maps the diagonal axes to the vertical axis. Dividing by the absolute value keeps things the same size.

Vulcan #19

Page
April 20, 2026
Download
Feel free to ignore this, but for the curious and so I have at least one line of text: $$pixel.value = a + b$$

Vulcan #20

Page
April 21, 2026
Download
$$pixel.value = \sqrt{\sqrt{a}+b}$$

Vulcan #21

Page
April 22, 2026
Download

Math for the curious, not required to enjoy the post.

I use a rounded version of the saw function. $$ a = \lvert \sin(x) \rvert\\ b = \lvert \sin(y) \rvert\\ pixel.value = a + b $$

← Previous 20 Showing 12-21 of 21 Next 20 →