In “How to program an ideal kaleidoscope” I have shown how to imitate an ideal kaleidoscope. But we can do more. As an example, I modified the program to have mirrors that invert the colors and give the negative of an image. But the result did not look good because the negative of an image is too strange.
To improve the results I used only three distinct colors. Dark colors in the input image give color number one, light colors give color number three and intermediate colors make color number two. Upon reflection the mirrors exchange the colors number one and three. Thus I get decorative periodic images without having to invent and draw complicated shapes. I simply search through photos to find a spot, that yields something interesting. Here, color one is blue, two is a very pale warm yellow and three is brown: