ColorCompass was an experiment with combining three simple gradients
where each color channel increases in increments of 1 from 0 at the
center to 255 at the extremes.
The red channel runs vertically, the blue runs horizontally, and the
green runs diagonally.
This is accomplished by simply looping through a discrete version of the
xy plane and setting each point's red and blue values to the absolute
value of the x and y coordinates, while green is set to the absolute
value of the sum of x and y.
I have been informed that this combination results in orange at the
north and south compass points, teal at the east and west, and white and
magenta in the corners.
In addition to the full image, I have included monochrome images of the
three separate gradients.
Prime Diamonds builds on ideas from ColorCompass.
Working on the sum rule from the green part of ColorCompass, I took the
absolute values of x and y prior to summing them, which if I'm correct,
should result, not in a diagonal gradient, but a square one that is
rotated 45-degrees to the grid.
If I simply left all three color channels as a plain square gradient, I
would just end up with a grayscale, so to add some variety, I take the
sum of the coordinates and divide it by the primes 2, 3, and 5. If the
sum is a multiple of 2, that pixel gets red, a multiple of 3, it gets
green, and if its a multiple of 5, it gets blue.
This should result in a multicolor pattern of concentric squares, of
red, green, and blue for numbers with only one of 2, 3, or 5 in their
prime facterization, yellow, cyan, and magenta for numbers with two of
2, 3, and 5 in their prime factorization, and gray for numbers that are
multiples of 30(The least common multiple of 2, 3, and 5, with black for
1 and all numbers with 7 as their smallest prime factor.
The intensity is based on taking the remainder of the x+y sum divided by
255, allowing the image to extend beyond a small patch, and which should
result in concentric bands that brighten from their inner edge moving
outward.
primeSquare is the unmodified version with all three channels having the
same base forumla.
primeError was an attempt to stretch the red and blue channels into more
elongated rhombi, one vertically, the other horizontally, but after
generating hte image, I realized the logic should affect brightness, but
not shape of the blue and red parts othe pattern. The transformation
here is to do the prime division test on the sum, but set intensity
based on doubling one of x and y in the sum.
primeDiamonds is a second attempt to stretch the red and blue parts of
the pattern. This time, x or y is doubled during the summation, and if
the sum is divisible by the correct prime, it is modded by 255 to
determine the intensity.
Note: As of 2024/07/09, none of the primeDiamond variants have been seen
by human eyes. I can only comment on the logic that went into generating
these images, I cannot confirm for my self that the results are as I
expected, and I can only confirm that the code I wrote compiled, ran
without obvious error, and the conversion from the .ppm my code
generates to .png went without error.