|
|
I have a scene (see at the bottom) where light travels through scattering media
until it hits the wall, or it is reflected by mirror to the opposite wall.
If no mirror and no right wall is present (see image a) in attached
test_scene.png), the scene looks as expected.
If, however, the right wall is added, the scattering disappears (see image b).
Next, I can add mirror to reflect the light to opposite wall. Again, since there
is the wall on the right the scattering is not visible, but on the top of that,
the spot on left wall is not as sharp as non-reflected one (see image c) and
compare it with image b).
I can now remove the right wall to visualize the scattering again to make sure
the light is not diffracted on the edge of the mirror (see image d).
Finally, I can enlarge the mirror (in transverse direction only; right wall is
added again to suppress the scattering to see the spot on the left wall) to see
that it affects the spot shape in way I have difficulty to understand (see image
f) and compare it with image c).
The very final step was to enlarge the mirror even further, when the reflected
spot disappears completely (see image f).
So to summarize I would like to understand:
1) Why is scattering affected by other objects presented in the scene.
2) Why is the transverse profile of reflected spot different from the direct
one, and how to recover the initial profile (this is the main issue I have).
3) Why the size of the mirror matters and why the light disappears for large
enough mirror (this is not really an issue, that affects me, just curiosity).
Scene in question:
#declare AddMirror = off; // [on | off]
#declare AddPlane = off; // [on | off]
#declare MirrorSiz = 1; // [1 | 5 | 6]
global_settings {
ambient_light rgb 1
max_trace_level 10
photons {
count 100000
media 100, 2
}
}
camera {
location <0, 0, -10>
look_at <0, 0, 0>
}
light_source { // ambient light
<0, 10, 0>
color rgb 1
photons {
reflection off
reflection off
}
media_interaction off
}
plane { // left side plane
x, -5
pigment { color rgb 0.7 }
photons { collect on }
}
#if (AddPlane)
plane { // right side plane
x, +5
pigment { color rgb 0.7 }
photons { collect on }
}
#end
cylinder { // scattering media
<-5.1, 0, 0>,
<+5.1, 0, 0>,
3
pigment {rgbf 1}
hollow
interior {
ior 1
fade_distance 0
fade_power 0
media {
absorption 0
emission 0
scattering {
1, 1
extinction 0
}
samples 100
}
}
photons {pass_through}
}
light_source { // target light source
<0, 0, 0>
color rgb <0, 1, 0>
spotlight
radius 10
falloff 10
point_at <1, 0, 0>
looks_like {
sphere {
<0, 0, 0>,
0.1
pigment { color rgb 1 }
finish { ambient 1 }
}
}
photons {
reflection on
refraction on
}
}
#if (AddMirror)
cylinder { // mirror
0, 0.5*z, MirrorSiz
texture {
pigment {color rgb 1}
finish {
reflection 1.0
ambient 0.0
diffuse 0.0
specular 1.0
}
}
photons {
target
reflection on
}
rotate 90*y
translate <2, 0, +0.0>
}
#end
Post a reply to this message
Attachments:
Download 'testing_scene.png' (157 KB)
Preview of image 'testing_scene.png'
|
|