## How exactly does the reflection of color off surfaces onto other surfaces work?

We know that the color of surfaces can be reflected onto other surfaces, seemingly dependant (from my observation) on strength of light, closeness of surface to the other surface, and smoothness/roughness of surfaces.

-> Where a smoother surface would reflect more of its' color onto another surface, than a rougher surface, under the same light source/strength of light.
-> And a smoother surface would recieve more color off another surface, than a rougher surface, under the same light source/strength of light.

-> And the stronger the light hitting a surface, the more color would be reflected off it.

Then it seems to me:
-> The closer a surface to another surface, the more color would be reflected onto the other surface. (At least on rougher surfaces)

And that last point is also one of the reasons for my questioning.
So surfaces always have two properties regarding light, determining their look.
-> One property is: Which colors, which wavelengths of light it absorbs the most, and following from that, which colors it will reflect to the viewer, giving it its color.
-> The other is: How specularly reflective the surface is. Depending on surface roughness/smoothess. How much more mirror like the surface reflects light. Being more rough, having more diffusion and surface angles into different directions.

These two properties are, if I don't remember it wrong now, coming from a more microscopic level. Depending on the density of a surface, color is given from light entering a surface, being diffused and coming out again, while some spectrum of light gets lost inside. And if the surface is completely dense, we would have a mirror.

Please do correct me if I am wrong.

So back to my problem again. When we know, light comes in in one angle, and goes out in an angle to the opposite direction, which we know from the behaviour of light looking into a mirror, every specular reflection should be acting this way. Which means, the specular reflection on a surface changes, depending on which angle it is viewed from.

Now, I have observed exactly this in some tests I made with surface color being reflected onto another surface, especially in matte surfaces. Where I could explain the behaviour of the reflected color, with specular reflection.
For example, changing my viewing angle to a matte, colored toy cube, laying on a white piece of paper, and the reflected white from the paper on the cube adding up, and lessening respectively.
BUT in some cases, I was totally lost as to why the light was reflected the way it was.

Here are two cases, I couldn't explain:
We have blue curtains hanging closed in front of our windows. When viewed from the side, there is some space between the wall next to the windows and the curtains, so light can shine in from the sides.
I can see blue light is reflected from the curtains onto the white wall, depending on how much I close the curtain (move it closer to the wall, more and more). That got me wondering, how is this possible? When I explained to myself earlier, that the surface color reflection onto another surface can only be explained by specular reflection, otherwise the other colors would be absorbed. Because no matter how I changed my viewing angle, the blue light radius on the wall always remained the same. And especially, there shouldn't even be any blue reflected light from the angle that I was looking.
Is this explained by the roughness of the surface of the wall? Making the blue reflected light be reflected back into my viewing angle, no matter from where I was looking, because of it's diffused surface angles?
Which would basically mean, specular and diffused reflection are working together here, to give this effect?