POV-Ray : Newsgroups : povray.general : The question about of projected through option : Re: The question about of projected through option Server Time
28 Apr 2024 16:29:48 EDT (-0400)
  Re: The question about of projected through option  
From: Alain
Date: 18 Dec 2017 18:13:03
Message: <5a384b7f$1@news.povray.org>
Le 17-12-18 à 06:42, Masaki  a écrit :
> I appreciate for your kind advice.
> 
> I started pov-ray recently, so it takes some time to understand the all advice.
> I would like to try the two way, projected through and spotlights.
> 
> The projected through puzzled me, so I have to consider.
> 
> There are two questions about using spotlight.
> (1) How can I configurate the “negative” option?

light_source{Location rgb -1}
Any negative value mean a negative light. The intensity of a light can 
have almost any value in a range of -1e12 to 1e12... And, if the light 
is not white, a component can be negative while the others are positive 
like rgb<-2, 1, 0.7>

> (2) Can the “negative” light distinguish the “positive” light completely?
> It seems that the “negative” light only weaken the positive light.

It can totally suppress a normal light. It only need to have the same or 
larger intensity.

> 
> The reason why I place the 10 lights is that I want to know the response when
> the light source moves in the depth direction, but I am very happy if the
> reasonable result is obtained from the one light at first.

In that case, it may be a good idea to use coloured lights. That way, 
you'll be better able to distinguish them.

> 
> I post again the source code with object (hexagonal prism).
> 
> ////////////////////////////////////////////////
> #include "colors.inc"
> #include "textures.inc"
> 
> background{Black}
> 
> camera {
> 
>      location <0, -3, 0>
>      right <-1.33, 0, 0>
>      angle 40
>      look_at <0, 0.5, 0>
>    }
> 
> 
> 
> //Object
> object {//you don't need that object wrapper.
>    prism {
>      linear_sweep
>      linear_spline
>      0.
>      1.
>      7.

This risk been interpreted as 0.1, 7.0
Replace those dots with comas.

>      <2,0>, <1,1.7320508>, <-1,1.7320508>, <-2,0>, <-1, -1.7320508>,
> <1,-1.7320508>, <2,0>
> 
>         hollow

Not needed unless you plan adding some media. hollow is only meant to 
allow an object to contain some media.

> 
> 
>        material {
> 
> 
>           texture {
> 
>              pigment { rgbf<1.0, 1.0, 1.0, 0.7> }
> 
>              finish {
>                 specular 1
>                 roughness 0.001
>                 ambient 0
>                 diffuse 0
> 
>                 reflection {
>                    0.1
>                    fresnel on
>                 }
> 
>                 conserve_energy
>              }
> 
>           }
> 
>        }
> 
>        interior {
>           ior 1.458
>           fade_distance 1.0
>           fade_power 2
>        }
>      }
> }

For a material, you should use fade_power 1 or fade_power 1001 to get a 
more realistic result.
fade_power 2 is for light attenuation over a distance in empty space.

If you want the light trajectory to show in that object, you need to 
fill it with some scattering media. As it is now, the light can only 
show at the surface. It's made impossible by the diffuse 0, meaning that 
the surface don't diffuse any of the incoming light.

> 
>   //Source
>   #declare r2 = seed(12345);
>   #declare I = 0;
>   #declare Number = 10;
> 
> 
> 
>   #while (I < Number)
> 
>   #declare A = rand(r2);
> 
>   #declare Object1 = torus {
>                              0.1, 0.05
>                              sturm
>                              translate <0, A-0.1, 0>
> 
>   }

You should make your torus much thinner. As it is now, the illuminated 
areas from the various lights overlap a lot unless you are very close to 
the torus.

#declare Object1 = torus{0.1, 0.002 translate <0, -0.1, 0>}

> 
> 
> 
> 
> 
>   light_source {
> 
>          <0, A, 0>
>          color
	rgb<rand(r2),rand(r2),rand(r2)>
Makes your lights multi-coloured

>          projected_through {Object1}
> 
>          }
> 
> 
> 
> #declare I = I+1;
> #end
> /////////////////////////////////////////////////////////////////
> 
> Regards,
> 
> Masaki
> 
> 
>


Post a reply to this message

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