![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Trying to make a prism. I'm aware that the light won't separate into
the spectrum, but I just want to see the light bend properly. I have a
triangular prism set up, but the light passes through it as if it
weren't there. It should bend based on n1sin(theta1)=n2sin(theta2)
where n is index of refraction and theta is the incident angle. There
is no bending. I tried the sphere demo in the docs. The image seen
through the sphere inverts properly, but beams of light coming directly
from light sources are not distorted.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ted Fisher wrote in message <35C### [at] nag cs colorado edu>...
>Trying to make a prism. I'm aware that the light won't separate into
>the spectrum, but I just want to see the light bend properly. I have a
>triangular prism set up, but the light passes through it as if it
>weren't there. It should bend based on n1sin(theta1)=n2sin(theta2)
>where n is index of refraction and theta is the incident angle. There
>is no bending. I tried the sphere demo in the docs. The image seen
>through the sphere inverts properly, but beams of light coming directly
>from light sources are not distorted.
You mean you want to have a "beam" of light going through the prism,
changing it's course two times (coming in and out of the glass) and then
lighting up something that does not lie in the straight path of the original
"beam"?
Sorry, but that is not possible in POV-Ray.
It is called "caustics" (as far as I now) and just as specular reflection
(light being reflected from a mirror creating a reflected light-spot, like
the hundreds of spots from a "disco ball") its just not possible with POV,
due to the method the raytracing in POV-Ray works (to be true: *Most* of the
raytracers do not support this).
Johannes.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Johannes Hubert wrote:
>
> You mean you want to have a "beam" of light going through the prism,
> changing it's course two times (coming in and out of the glass) and then
> lighting up something that does not lie in the straight path of the original
> "beam"?
>
> Sorry, but that is not possible in POV-Ray.
>
I am a beginner at this stuff, so take what I write
as worth what you paid.... :)
My understanding is that to determine the illumination of
a given point, the tracer checks for interfering objects
along rays sent directly to all point light sources...
Area lights are simulated as a superposition of a small
number of point sources. Thus effects like reflection
and refraction which perturb the direction between a point
and a light source are not captured.
Another method would be to send out infinitely many rays
in all directions and count those which pass within a threshold
of a light source. This would work, but tracing infinite
rays would take awhile :).
A final method would be to determine perturbed paths to
light sources, doing the calculations off reflecting surfaces,
index of refraction, etc. But this is impossible -- imagine
an object with a fractal surface and with an interior
with an index of refraction specified
as a fractal field... there may be infinitely many optical paths
through such an object connecting any point on one side with
any other point on the other.... asking "given a ray from point
A in direction V, where does it intersect infinity" is
easily approximated numerically, but asking
how to connect point a with a given point P at infinity
is much harder due to the potential multiplicity of solutions.
Dan
--
http://www.flash.net/~djconnel/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Actually, there are methods for rendering caustics and/or specular
reflection, and there are raytracers that implement them.
This was discussed in c.g.r.r (I think) some time ago, maybe a Dejanews
search will show something up (if you are interested). If not there, then it
was on this server, in one of the groups.
Johannes.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |