POV-Ray : Newsgroups : povray.newusers : X-ray image (translucent screen) Server Time
22 Dec 2024 00:16:13 EST (-0500)
  X-ray image (translucent screen) (Message 1 to 10 of 10)  
From: Iodine
Subject: X-ray image (translucent screen)
Date: 15 Aug 2013 18:05:01
Message: <web.520d4fdccc26d471527609e60@news.povray.org>
How do I create a flat floor which is a translucent sheet. I want to put the
light source at the top (0, 100, 0). A flat sheet at (x, 0, z) and the camera at
0, -100, 0 looking at 0,0,0.

This is quite easy to do using ORTEP to write most of the POVray file, but how
should I make the floor a translucent screen which will scatter light and allow
me to view the shadows which are formed by the objects which I want to place
between the floor and the light source.

Sorry if it is a super basic question, I just can not see how to do it.


Post a reply to this message

From: Christian Froeschlin
Subject: Re: X-ray image (translucent screen)
Date: 15 Aug 2013 19:47:33
Message: <520d6895$1@news.povray.org>
Iodine wrote:

> This is quite easy to do using ORTEP to write most of the POVray file, but how
> should I make the floor a translucent screen which will scatter light and allow
> me to view the shadows which are formed by the objects which I want to place
> between the floor and the light source.

Maybe an opaque plane as floor with double_illuminate could work?

But I'm not entirely sure if shadows are considered for both sides.


Post a reply to this message

From: Iodine
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 03:20:01
Message: <web.520dd287109ea600527609e60@news.povray.org>
I am not sure if we are talking at cross purposes, if you take the file

  #include "colors.inc"
  #include "textures.inc"
#declare Floor_Texture     = texture {
                            pigment {color White }
                            finish { Dull } }
camera {
    location  <-4, 3, -9>
    look_at   <0, 0, 0>
    angle 48
  }
  light_source {
    <0, 100, 0>
    color White
  }
  plane {
    y, -1
    texture { Floor_Texture }
    }
  torus {
    1.5, 0.5
    texture { Brown_Agate }
    rotate <0, 150, 0>
    translate <-2, 1, 0>
  }
  cone {
    <0,1,0>, 0, <0,0,0>, 1
    texture { PinkAlabaster }
    scale <1, 3, 1>
    translate <1, 1, 2>
  }
  sphere {
    <0,1,0>,1
    texture { Sapphire_Agate }
    translate <1.5, 0, -2>
  }

then you should see three objects which are viewed from above the floor as
normally viewed.

If the camera is moved to the otherside of the floor then nothing can be seen, I
do not see how the double_illuminate will work based on the description I have
seen of it
(http://wiki.povray.org/content/Reference:Double_Illuminate_Object_Modifier).

  #include "colors.inc"
  #include "textures.inc"
#declare Floor_Texture     = texture {
                            pigment {color White }
                            finish { Dull } }
camera {
    location  <0, -50, 0>
    look_at   <0, 0, 0>
    angle 48
  }
  light_source {
    <0, 100, 0>
    color White
  }
  plane {
    y, -1
    texture { Floor_Texture }
    }
  torus {
    1.5, 0.5
    texture { Brown_Agate }
    rotate <0, 150, 0>
    translate <-2, 1, 0>
  }
  cone {
    <0,1,0>, 0, <0,0,0>, 1
    texture { PinkAlabaster }
    scale <1, 3, 1>
    translate <1, 1, 2>
  }
  sphere {
    <0,1,0>,1
    texture { Sapphire_Agate }
    translate <1.5, 0, -2>
  }


Post a reply to this message

From: Fractracer
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 04:25:01
Message: <web.520de0f0109ea600da87b1b90@news.povray.org>
"Iodine" <nomail@nomail> wrote:
> If the camera is moved to the otherside of the floor then nothing can be seen, I
> do not see how the double_illuminate will work based on the description I have
> seen of it

Hello, you have to modify the plane object like this:
  plane {
    y, -1
    texture { Floor_Texture }
    double_illuminate
}
If you want to see your others objects you should add transparence in color of
the plane (ex: color rgbf <0.5,0.5,0.5,1> rather than color White)


Post a reply to this message

From: clipka
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 05:03:54
Message: <520deafa@news.povray.org>
Am 16.08.2013 00:02, schrieb Iodine:
> How do I create a flat floor which is a translucent sheet. I want to put the
> light source at the top (0, 100, 0). A flat sheet at (x, 0, z) and the camera at
> 0, -100, 0 looking at 0,0,0.
>
> This is quite easy to do using ORTEP to write most of the POVray file, but how
> should I make the floor a translucent screen which will scatter light and allow
> me to view the shadows which are formed by the objects which I want to place
> between the floor and the light source.
>
> Sorry if it is a super basic question, I just can not see how to do it.

As already mentioned, adding the "double_illuminate" keyword to the 
floor should do the trick.

As a more flexible alternative, that will allow you to trim the effect 
of front- vs. backside illumination, you can use a second parameter to 
the "diffuse" finish keyword, e.g.:

   texture {
     pigment { color rgb <1,1,1> }
     finish { diffuse 0.6,0.3 }
   }

In this example, 60% of all incoming light is just reflected diffusely 
in the usual way, while 30% of all incoming light is emitted diffusely 
on the other side.

If you use this feature, you don't need the "double_illuminate" keyword.

Note that this feature requires POV-Ray 3.7.


Post a reply to this message

From: Iodine
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 09:00:00
Message: <web.520e221f109ea600527609e60@news.povray.org>
Thanks very much I have now got a much better picture.

I would like to ask about another issue which does apply to imaging, to a first
approxiation for a single photon energy the transmission through an object is
given by

Transmission = exp -(constant * thickness)

Is there a way to set the texture of the objects (cone, sphere, torus) so that
they attenuate light in this way. Also is it possible to set them up so for red
light the constant is different to green and blue light.

While for X-rays the spectrum of a typical tube is very wide (close to white)
for a gamma source such as Ir-192 it emitts two different wavelengths of
photons. So for this alternative light source it would be great to be able to
have two constants operating at once.

here is my current source code

  #include "colors.inc"
  #include "textures.inc"
#declare Floor_Texture     = texture {
                            pigment {color rgb <1,1,1> }
                            finish { diffuse 0.6,0.3 } }
camera {
    location  <0, -20, 0>
    look_at   <0, 0, 0>
    angle 48
  }
  light_source {
    <0, 100, 0>
    color White
  }
  plane {
    y, -1
    texture { Floor_Texture }
    }
  torus {
    1.5, 0.5
    texture { Brown_Agate }
    rotate <0, 150, 0>
    translate <-2, 1, 0>
  }
  cone {
    <0,1,0>, 0, <0,0,0>, 1
    texture { PinkAlabaster }
    scale <1, 3, 1>
    translate <1, 1, 2>
  }
  sphere {
    <0,1,0>,1
    texture { Sapphire_Agate }
    translate <1.5, 0, -2>
  }


Post a reply to this message

From: scott
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 09:10:40
Message: <520e24d0$1@news.povray.org>
> I would like to ask about another issue which does apply to imaging, to a first
> approxiation for a single photon energy the transmission through an object is
> given by
>
> Transmission = exp -(constant * thickness)
>
> Is there a way to set the texture of the objects (cone, sphere, torus) so that
> they attenuate light in this way. Also is it possible to set them up so for red
> light the constant is different to green and blue light.

Yes and yes.

You can use fade_power, fade_distance and fade_color inside an interior 
block for each object.


Post a reply to this message

From: Alain
Subject: Re: X-ray image (translucent screen)
Date: 16 Aug 2013 20:13:09
Message: <520ec015$1@news.povray.org>

> Thanks very much I have now got a much better picture.
>
> I would like to ask about another issue which does apply to imaging, to a first
> approxiation for a single photon energy the transmission through an object is
> given by
>
> Transmission = exp -(constant * thickness)
>
> Is there a way to set the texture of the objects (cone, sphere, torus) so that
> they attenuate light in this way. Also is it possible to set them up so for red
> light the constant is different to green and blue light.
>
> While for X-rays the spectrum of a typical tube is very wide (close to white)
> for a gamma source such as Ir-192 it emitts two different wavelengths of
> photons. So for this alternative light source it would be great to be able to
> have two constants operating at once.
>

If your object have some thickness, then adding an interior block that 
define a fade_color, fade_distance and fade_power will do the trick.
This will model a substance that ONLY atenuate the transmited light 
without any scattering.
Normaly, you should use colour values in the 0..1 range. Small value 
increase the absorbtion, large reduce it.
If your desired colour is "out of gamut", then you may have some 
negative value.
It's possible to use values larger than 1. It could be concidered as 
something similar to fluoressance.

If you want some single scattering, then adding the "hollow" attribure 
and adding some scatering media could be closer to what you want.
Depending on the dencity of the media and the thickness of the object, 
it can go from barely noticeable to opaque.
Here, a value of zero mean that the media don't affect that colour.
Large values increase the opacity of the media. There is no upper limit.

If your material is supposed to cause multiple scattering, then you need 
to use version 3.7 and use the SSLT feature. Then, in the finish, you 
set the translucency of your material. If the translucency is high 
ehough compared to the thickness, you'll start to see through the object.
The translucency value can be related to the mean free travel of photons 
through the material.
There is no upper limit. Very large values makes the material transparent.

For all 3 cenarios, you provide an RGB colour vector.


Post a reply to this message

From: clipka
Subject: Re: X-ray image (translucent screen)
Date: 17 Aug 2013 05:59:08
Message: <520f496c$1@news.povray.org>
Am 17.08.2013 02:13, schrieb Alain:

> If your material is supposed to cause multiple scattering, then you need
> to use version 3.7 and use the SSLT feature. Then, in the finish, you
> set the translucency of your material. If the translucency is high
> ehough compared to the thickness, you'll start to see through the object.
> The translucency value can be related to the mean free travel of photons
> through the material.
> There is no upper limit. Very large values makes the material transparent.

It should be noted that SSLT is still far from fully integrated; for 
instance, when translucency is high enough for the material to become 
transparent, refraction isn't properly accounted for yet.


Post a reply to this message

From: Alain
Subject: Re: X-ray image (translucent screen)
Date: 18 Aug 2013 17:02:16
Message: <52113658$1@news.povray.org>

> Am 17.08.2013 02:13, schrieb Alain:
>
>> If your material is supposed to cause multiple scattering, then you need
>> to use version 3.7 and use the SSLT feature. Then, in the finish, you
>> set the translucency of your material. If the translucency is high
>> ehough compared to the thickness, you'll start to see through the object.
>> The translucency value can be related to the mean free travel of photons
>> through the material.
>> There is no upper limit. Very large values makes the material
>> transparent.
>
> It should be noted that SSLT is still far from fully integrated; for
> instance, when translucency is high enough for the material to become
> transparent, refraction isn't properly accounted for yet.
>

Good to know that limitation.


Post a reply to this message

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