POV-Ray : Newsgroups : povray.newusers : How to make total reflectance? Server Time
25 Nov 2024 15:43:19 EST (-0500)
  How to make total reflectance? (Message 1 to 3 of 3)  
From: Ziyan
Subject: How to make total reflectance?
Date: 20 Jun 2005 09:05:02
Message: <web.42b6bda81ae01518291693fd0@news.povray.org>
Such as, from glas to air or from water to air.
I know the critical angle of total reflectance from glas to air is 42 grad,
and from water to air 49 grad.
I tried times, but there's still refraction.
How to achieve that?
Thanks a lot.


Post a reply to this message

From: Mike Williams
Subject: Re: How to make total reflectance?
Date: 20 Jun 2005 11:40:54
Message: <PpCw1BAAOutCFw5l@econym.demon.co.uk>
Wasn't it Ziyan who wrote:
>Such as, from glas to air or from water to air.
>I know the critical angle of total reflectance from glas to air is 42 grad,
>and from water to air 49 grad.
>I tried times, but there's still refraction.
>How to achieve that?
>Thanks a lot.

Just position the water and your viewpoint to a situation where you'd
see total internal reflection in the real world, and you'll see the same
effect in POV. For example:

#version 3.6;
global_settings {assumed_gamma 1.0}
camera {location  <2.5,-0.5,-10> look_at <0,0,0> angle 27}
background {rgb 1}
light_source {<-30, 100, -30> color rgb 1}

// A tank of water
box {-<2,1,1>,<2,1,1> 
  interior {ior 1.2}
  pigment {rgbt <0.9,1,1,0.7>}
}

// Things to be reflected
// the floor
plane {y,-1 pigment {checker}}
// a box outside the water
box {<-2,-1,6><2,1,8> pigment {bozo}}
// something in the water 
sphere {<0,0.9,0> 0.1 pigment {rgb 0} scale <3,1,1>}

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Brian Elliott
Subject: Re: How to make total reflectance?
Date: 20 Jun 2005 11:52:40
Message: <42b6e648$1@news.povray.org>
"Ziyan" <beg### [at] hotmailcom> wrote in message 
news:web.42b6bda81ae01518291693fd0@news.povray.org...
> Such as, from glas to air or from water to air.
> I know the critical angle of total reflectance from glas to air is 42 
> grad,
> and from water to air 49 grad.
> I tried times, but there's still refraction.
> How to achieve that?
> Thanks a lot.

Hi Ziyan,

Without an example of what you've tried, I'm not sure what you might have 
missed.  PoV-Ray handles the boundary between refraction and Total Internal 
Reflection as one expects, according to the indexes of refraction of 
transmitting materials.  There's nothing special to do to make T.I.R in 
PoV-Ray except to have the camera be in the right place.

Obviously to see T.I.R, the camera must be inside (or look through) the 
heavier material, looking at a material boundary passing out into lighter 
material (or the "air" of unoccupied spaces in your scene).

Here's a quick example.  On the "water's" inner surface, you'll see 
"skylight" where there is normal refraction; and reflected objects from the 
bottom where there is T.I.R.

HTH
Cheers,
   Brian

-- code --

#include "colors.inc"

light_source {<5,50,5> rgb <1,.8,.6>}

background {SkyBlue}
// This will show through where there is not Total Internal Reflection

#declare Depth = 5;

camera  // located "under-water", looking up to air above
{ location <0,-(Depth - 0.1),-5>
  look_at <0,-2.5,0>
  angle 67}


plane  // The usual cliche, as good as 'printf ("Hello, world!\n");'
{ y,-Depth
  texture
  { pigment {checker color rgb 1 color rgb 0 scale 2}
    finish  {diffuse 0.85}
  }
}

plane
/* Represents the water volume and surface above.
   The camera is inside this object with IOR 1.333 (planes are SOLID!!)
   Invert the plane's normal to -y and the T.I.R vanishes (as it should)
*/
{ y,0
  texture
  { pigment { color rgbt 1 }
    normal  { ripples 0.3 frequency 1 }
    finish
    { reflection {0.04, 1.0 fresnel}
      conserve_energy
      ambient 0  diffuse 0
    }
  }
  interior { ior 1.333 }
}

sphere
{ <0, (-Depth)+1, 7>, 1
  texture { pigment {colour Red} finish {diffuse 0.85 specular 0.7}}
}

cone
{ <-4, -Depth, 5>, 1,   <-4, -Depth+1.5, 5>, 0
  texture { pigment {colour Yellow} finish {diffuse 0.95 specular 0.7}}
}


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.