Refactor 2022 #40

The little squares are laid out along Lissajous curves

Refactor 2022 #39

My program was initially designed for fractals, and so it has a strong pixel-first bias. I do jump back and forth between the two methods, but within the program they are not symmetric. Things in the program are optimized for pixel-first, object-first tasks seem like a kludge. So for the refactor I am trying to balance things out and make it easy to choose between pixel-first or object-first methods.

Refactor 2022 #38

Object-first is an easy choice with many small squares. There are many squares, each affecting just a few pixels. A pixel-first approach would result in many empty tests. Each pixel is tested against each square. Almost all of those tests are false, resulting in a do-nothing step.

Of course the key is that for the object, in this case a square, there is an efficient way to say in bulk which pixels are covered by the square. All those do-nothing, not-in-the-square tests are avoided.

Refactor 2022 #37

In theory, one could draw the image either way. The pixel-first method would pick a pixel, test each square to determine if it contains the pixel. Determine a color based on those squares, color the pixel. Then move on to the next pixel.

Object-first seems more natural, it is how I would paint this without a computer. Also the algorithm seem more intuitive.

Refactor 2022 #36

Little squares.

Computer generated pictures could be pixel-first or object-first. Yes, I made up those terms. Fractals are pixel-first. Pick a pixel, run the fractal calculation for the pixel to get a color, color the pixel, then move on to the next pixel.

This image consists of many small squares, and is drawn object-first. Pick a square, compute which pixels are on the square, color those pixels with the color of the selected square, and then move on to the next square.

Refactor 2022 #35

Refactor 2022 #34

Refactor 2022 #33

Refactor 2022 #32

Refactor 2022 #31

Refactor 2022 #30

Refactor 2022 #29

I started down this Port/Refactor path figuring I would just focus on programming for a few weeks. That has turned into half a year, with no end in sight. (And now less time to work on it.)

With a little effort I could turn each of these diversion into different series. But when I start thinking about it, I immediately notice all of the programming things that are not yet done. Or worse, the program features that are broke or disabled while working on other fixes. The program runs just well enough to test new features.

So, please indulge me as I post these "experiments", and drop them into the "Refactor" bucket.

Refactor 2022 #28

I came across a few more pieces from when I was experimenting with random textures and surfaces. After some minor clean up, they are ready to publish.

Refactor 2022 #27

Refactor 2022 #26

A couple more without color blending.

Refactor 2022 #25

Jungle. A lot of overlapping colors.

Refactor 2022 #24

sin waves in blue and brown

Refactor 2022 #23

Making the sin waves obvious.

Refactor 2022 #22

Hot palette

Refactor 2022 #21

Diamond shapes

← Previous 20 Showing 863-882 of 1410 Next 20 →