I'm building a kaleidoscope in code. It seems to work, but I'm getting unexpected results. Either my code is wrong or my expectations were wrong.
The code is mimicking a number of mirrors, perpendicular to the viewers plane, with angles evenly spaced on a circle in the viewers plane. A camera is in the center of that circle. I was expecting the result to always show continuous repetitions, because the mirrors will mirror each other where they cross.
With continuous I mean, every pixel on the edge of a mirror should be reflected at the edge of it's adjacent mirror, so a straight line on one mirror would be continued on each adjacent mirror, with an optional angle.
To test it, I put a simple square grid in front of the viewer, and colored the mirrors slightly blue.
This seems to make sense for a setup with 3 or 4 mirrors:
But with 6 or 8 mirrors, some of the reflections seem to get 'cut off' at the edge between the mirrors:
Is this 'correct' - is it to be expected ?
Can I define rules, limitations, to apply to the mirrors to avoid this behaviour ?



