Repost from a month ago...
From: "Gregory J. Ward" <[email protected]>
Date: June 4, 2007 5:40:27 PM BDT
To: Radiance general discussion <[email protected]>
Subject: Re: rtrace output searching for secondary sources
Hi Tim,
I had to struggle a bit to understand what you were after here. I recommend the following options:
rtrace -dr 1 -lr 1 -dp 0 -ds 0.02 -dj 0 -dt 0 -lw 0 -ab 0 -I+ -h- -w- -oTopn
By replacing 't' in the output options with 'T', you force inclusion of all rays to light sources. I'm not sure if this is what you want, but you can try it.
As for the problem of sources being too close in Z, it might be better to take a different strategy. Place a vertical surface that's set on one of the diagonals between the corners of your room -- assuming your room has a roughly triangular shape. Make the surface a "trans" type:
void trans diffuse
0
7 1 1 1 0 0 .5 0
Then, trace rays onto the center of the surface from either side and follow the reflections. That way, you'll get rays going out both sides.
By the way, why don't you just compute what you're after from straight geometry? Is the space so complicated?
-Greg
···
From: [email protected]
Date: June 3, 2007 10:01:10 PM PDTHi,
I am using the following rtrace command :
rtrace -dr 1 -lr 1 -dp 0 -ds 0.02 -dj 0 -lw 0 -dc 1 -st 0 -ab 0 -I+ -h- -w- -otopn model.oct < singlepoint.pts >> output.out
... to output direct rays from a single gridpoint to an omni light source in a room of mirrors.
The intention is to find all the locations of the reflection points (of the secondary sources) on each wall from the point of view of the gridpoint. I've written a routine which reads in all the rays, filters them and outputs the reflection point x y z coordinates.
The gridpoint is simply :
x y z 0 0 1 indicating an upward direction for the rtrace 'receiver'
The problem I have is that rtrace doesn't output the reflection rays if the z-coordinate of the light source is within a small distance above the z-coordinate of the gridpoint. i.e. some reflection rays are not output if they are near to, and of course above, the height of the gridpoint.
I can understand this may be something to do with the cosine of the incident angle and that a threshold isn't reached which therefore doesn't output the reflection ray, but I have set -st 0, and I've set all the other parameters I can think of to their maximum accuracy.
By setting the property of the mirrors to :
void mirror walls3 100 100 100 <--- i.e. reflect 100 times the incident intensity
this helped a little, but by increasing the 100 100 100 further and further still didn't solve the problem.
If there is anyone who has any ideas, without having to set up each grid point for all directions (not just 0 0 1) - as this produces multiple outputs for the same reflection points - any suggestions would be much appreciated.
Thanks very much,
Tim