Got several pieces of programmatic art to share this evening, and I also took some time to create a general template.cpp for future pieces that put bounds for coordinates and some other stuff at the beginning of the main method so I’m not constantly through the body of the code to change loop boundaries, file numbers, and image resolutions manually…
For all of the pieces, I calculate the radius around each coordinate axis.
For Solo, I set each color channel to one of these radii. This results in one being a static circular gradient while the other to start out as a single bright line that widens into a linear gradient. If I had a way to assemble images into voxel models, it would be three mutually orthogonal cylinders.
For Dualsum, I sum the radii pairwise, and for Sumdiff I take the same pairs, but take the absolute value of their difference.
For TriDiff, I add two of the radii, subtract the third and take the absolute value.
For TriSum, as there’s only one way to sum three values, I did something a bit different… taking the sum, and if its in the range 0-255, I set the red value to it, if in the range 256-510, I max out red and add blue. if between 511 and 765, I max red and blue and add green, resulting in a gradiant that goes from black to red to magenta to white as the sum of the three radii increase.
In all cases, overflow goes black like with a lot of my other pieces.
As there’s 20 animations included in this batch and I’m less happy with the names than usual, I’ll just leave the link to the holder instead of posting the images directly:
Also, I recently learned that there is an extention to portable pixel map that does support transparency… unfortunately, the extention is binary only and I never learned how to write binary files(part of why I use ppm as the format my code generates is that its a dead simple, ascii format).