|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hello,
I am trying to create a cylindrical light source that will project something
visual similar to a laser. This light beam should then go rough some optical
component such as a prisim and then split into the appropriate patern.
My problems is that I can not get the path of the light to either be visible or
to interact with the optical component.
Here is the code I have to make a laser beam going straight down. How do I make
the beam visible and interact with optical components?
#include "colors.inc"
#include "textures.inc"
#include "woods.inc"
#declare Use_Photons = yes;
plane { y, 0 texture{Chrome_Metal}}
global_settings {
max_trace_level 10
photons {
count 1000000
autostop 0
media 1000
//jitter .4
max_trace_level 10
}
}
light_source {<0,20,0> color White*.2 photons {reflection off}}
camera { location <2,10,7> look_at <0,0,0>}
box {<10,10,10>, 0 pigment{ color Clear } photons{target on}}
// Right Barrier
box { <1,3,-10>, 0 texture{T_Wood14} translate <-6,0,4>}
// The Slab
box { <2,1,-10>, 0 translate <1,0,4> interior{ior 1.5 }
finish{ ior 1.5 ambient 1 diffuse 1 reflection .9 }
//now for the photons
photons { target refraction on reflection on pass_through on}
}
//The LaserBox
box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
//The LaserTip
cylinder {<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal} translate <.75,-9.5,-1.25>
rotate<0,0,90>}
//The Photon Shooter
light_source {<0,5,0> color Red cylinder point_at <0,0,0> photons{reflection
on refraction on}}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Frozenport.com" <nomail@nomail> wrote:
> Hello,
>
> I am trying to create a cylindrical light source that will project something
> visual similar to a laser. This light beam should then go rough some optical
> component such as a prisim and then split into the appropriate patern.
>
> My problems is that I can not get the path of the light to either be visible or
> to interact with the optical component.
>
> Here is the code I have to make a laser beam going straight down. How do I make
> the beam visible and interact with optical components?
>
> #include "colors.inc"
> #include "textures.inc"
> #include "woods.inc"
> #declare Use_Photons = yes;
> plane { y, 0 texture{Chrome_Metal}}
>
> global_settings {
> max_trace_level 10
> photons {
> count 1000000
> autostop 0
> media 1000
> //jitter .4
> max_trace_level 10
> }
> }
>
>light_source {<0,20,0> color White*.2 photons {reflection off}}
>camera { location <2,10,7> look_at <0,0,0>}
//-----------------------
If you use scattering media to make the laser show up, I would turn off
media_interaction for the scene light_source.
Code:
light_source
{
<0,20,0>
color White*.2
photons { reflection off }
media_interaction off
}
> box {<10,10,10>, 0 pigment{ color Clear } photons{target on}}
//-----------------------
I am not sure what this object is for. The way is is positioned as a solid
object, it will prevent media from rendering. Other than that, it doesn't seem
to have an effect. If you want the laser to show up as a beam, it can make a
good container for scattering media, just remember to add the 'hollow' keyword.
Code:
box
{
<10,10,10>, <-10,0,-10>
pigment{ color Clear }
photons{ pass_through }
interior
{
media
{
intervals 1
samples 5,25
confidence 1 - 1/1000
variance 1/1000
ratio 0.9
scattering
{
1, color rgb <1,1,1> * 1/10
//eccentricity 0.25 // eccentricity for type 5 [0.0]
extinction 0.0 // for balancing amount of absorption [1.0]
}
method 3 // adaptive sampling
aa_threshold 0.1 // accuracy threshold for method 3 [0.1]
aa_level 4 // maximum recursion depth for method 3 [4]
//jitter 0.5 // randomness for method 2&3
density{ color rgb <1,1,1> }
}
}
hollow
}
I think, though, you will be very surprised about the way your light source is
positioned.
> // Right Barrier
> box { <1,3,-10>, 0 texture{T_Wood14} translate <-6,0,4>}
//-----------------------
If photons are to hit this barrier, it must be specified as a target.
Personally, I think the color of the wood texture is too overpowering and may
prevent you from seeing the effects.
Code:
// A New Right Barrier
box
{
<1,3,-10>, 0
texture{T_Wood14}
photons{ target collect on }
translate <-6,0,4>
}
> // The Slab
> box { <2,1,-10>, 0 translate <1,0,4> interior{ior 1.5 }
> finish{ ior 1.5 ambient 1 diffuse 1 reflection .9 }
> //now for the photons
> photons { target refraction on reflection on pass_through on}
> }
//-----------------------
The Slab has a few problems:
pass_through causes the photons to ignore the object. You should not use
pass_through if you want the slab to refract photons.
Next, ior should be in an interior{} statement only; use of ior in the finish
statement is deprecated. From your description, you should use also
dispersion.
Also, The Slab should have a pigment, otherwise it will use the default black.
Furthermore, the light will be striking the slab at a 90 degree angle, which
will reduce the amount of refraction shown. The color Clear is completely
transparent - I'd recommend using something highly transparent instead.
Code:
// A New Slab
box
{
<2,1,-10>, 0
pigment{ color rgbt <1,1,1,.95> }
finish{ ambient 1 diffuse 1 reflection .9 }
interior{ ior 1.5 dispersion 1.5 }
//now for the photons
photons { target refraction on reflection on }
translate <1,0,4>
}
If you want the 'beam effect' inside of The Slab, you should add the hollow
keyword to it also after adding scattering media.
> //The LaserBox
> box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
> //The LaserTip
> cylinder {<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal} translate <.75,-9.5,-1.25>
> rotate<0,0,90>}
> //The Photon Shooter
> light_source {<0,5,0> color Red cylinder point_at <0,0,0> photons{reflection
> on refraction on}}
//-----------------------
You have transformed your LaserTip but you haven't moved the light with it. I
noticed that you mentioned it was straight down, is that where you want it to
be? If not, you should translate and rotate the light source the same way you
did with the LaserTip if that is where you want it to be. Personally, I
recommend using looks_like to avoid accidentally shadowing your light_source.
Looking at this, I think the plane should also be affected by photons, but I do
not recommend shooting photons at a plane. Perhaps you could use a box or a
similar finite object.
Anyway, hope that gets you started.
-Reactor
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Frozenport.com nous illumina en ce 2008-07-13 00:50 -->
> Hello,
>
> I am trying to create a cylindrical light source that will project something
> visual similar to a laser. This light beam should then go rough some optical
> component such as a prisim and then split into the appropriate patern.
>
> My problems is that I can not get the path of the light to either be visible or
> to interact with the optical component.
>
> Here is the code I have to make a laser beam going straight down. How do I make
> the beam visible and interact with optical components?
>
> #include "colors.inc"
> #include "textures.inc"
> #include "woods.inc"
> #declare Use_Photons = yes;
> plane { y, 0 texture{Chrome_Metal}}
>
> global_settings {
> max_trace_level 10
> photons {
> count 1000000
> autostop 0
> media 1000
> //jitter .4
> max_trace_level 10
> }
> }
>
> light_source {<0,20,0> color White*.2 photons {reflection off}}
With this, your photons will never get reflected, no mather the content of the
photon{} block of any object.
> camera { location <2,10,7> look_at <0,0,0>}
>
> box {<10,10,10>, 0 pigment{ color Clear } photons{target on}}
Is this box suposed to contain your medis? If so, you must add "hollow" and an
interion block defining the media used. For this object, remove target on and
add pass_through.
>
> // Right Barrier
> box { <1,3,-10>, 0 texture{T_Wood14} translate <-6,0,4>}
> // The Slab
> box { <2,1,-10>, 0 translate <1,0,4> interior{ior 1.5 }
> finish{ ior 1.5 ambient 1 diffuse 1 reflection .9 }
Why put the ior in the finish? It should ONLY apears in the interior block.
> //now for the photons
> photons { target refraction on reflection on pass_through on}
> }
pass_trough on turn off photons interactions for that object. It's similar to
no_shadow.
> //The LaserBox
> box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
> //The LaserTip
> cylinder {<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal} translate <.75,-9.5,-1.25>
> rotate<0,0,90>}
> //The Photon Shooter
> light_source {<0,5,0> color Red cylinder point_at <0,0,0> photons{reflection
> on refraction on}}
You may add parallel to the light. It will keep the beam tighter after it have
interacted with some object. The point of origin of that light is coincident
with one end of the cylinder. You should shift it a little, or use the
looks_like statement:
Remove the "LaserBox" and alter the light_source as follow:
light_source {<0,5,0> color Red cylinder point_at <0,0,0>
photons{reflection on refraction on}
looks_like{cylinder{<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal}}}
>
>
>
Curently, your scene don't have any media, resulting in an invisible beam.
--
Alain
-------------------------------------------------
If you pick up a starving dog and make him prosperous, he will not bite you;
that is the principal difference between a dog and a man.
Mark Twain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Alain nous illumina en ce 2008-07-13 15:11 -->
> Frozenport.com nous illumina en ce 2008-07-13 00:50 -->
>> Hello,
>>
>> I am trying to create a cylindrical light source that will project
>> something
>> visual similar to a laser. This light beam should then go rough some
>> optical
>> component such as a prisim and then split into the appropriate patern.
>>
>> My problems is that I can not get the path of the light to either be
>> visible or
>> to interact with the optical component.
>>
>> Here is the code I have to make a laser beam going straight down. How
>> do I make
>> the beam visible and interact with optical components?
>>
>> #include "colors.inc"
>> #include "textures.inc"
>> #include "woods.inc"
>> #declare Use_Photons = yes;
>> plane { y, 0 texture{Chrome_Metal}}
>>
>> global_settings {
>> max_trace_level 10
>> photons {
>> count 1000000
>> autostop 0
>> media 1000
>> //jitter .4
>> max_trace_level 10
>> }
>> }
>>
>> light_source {<0,20,0> color White*.2 photons {reflection off}}
> With this, your photons will never get reflected, no mather the content
> of the photon{} block of any object.
>> camera { location <2,10,7> look_at <0,0,0>}
>>
>> box {<10,10,10>, 0 pigment{ color Clear } photons{target on}}
> Is this box suposed to contain your medis? If so, you must add "hollow"
> and an interion block defining the media used. For this object, remove
> target on and add pass_through.
>>
>> // Right Barrier
>> box { <1,3,-10>, 0 texture{T_Wood14} translate <-6,0,4>}
>> // The Slab
>> box { <2,1,-10>, 0 translate <1,0,4> interior{ior 1.5 }
>> finish{ ior 1.5 ambient 1 diffuse 1 reflection .9 }
> Why put the ior in the finish? It should ONLY apears in the interior block.
>> //now for the photons
>> photons { target refraction on reflection on pass_through on}
>> }
> pass_trough on turn off photons interactions for that object. It's
> similar to no_shadow.
>> //The LaserBox
>> box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
>> //The LaserTip
>> cylinder {<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal} translate
>> <.75,-9.5,-1.25>
>> rotate<0,0,90>}
>> //The Photon Shooter
>> light_source {<0,5,0> color Red cylinder point_at <0,0,0>
>> photons{reflection
>> on refraction on}}
> You may add parallel to the light. It will keep the beam tighter after
> it have interacted with some object. The point of origin of that light
> is coincident with one end of the cylinder. You should shift it a
> little, or use the looks_like statement:
> Remove the "LaserBox" and alter the light_source as follow:
> light_source {<0,5,0> color Red cylinder point_at <0,0,0>
> photons{reflection on refraction on}
> looks_like{cylinder{<0,0,0>,<0,5,0>,.1 texture{Chrome_Metal}}}
>
>>
>>
>>
> Curently, your scene don't have any media, resulting in an invisible beam.
>
Another thing: your "Slab" object don't have any pigment, making it black and
opaque. Make it: pigment{rgbt 1} photons{target relfection on refraction on}
--
Alain
-------------------------------------------------
You know you've been raytracing too long when you're starting to find these
quotes more unsettling than funny.
-- Alex McLeod a.k.a. Giant Robot Messiah
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Okay,
Thank you for your help, I feel I am getting closer to solving my problem. I
have succesfully gotten the beam to show up but I can not get it properly
interact with optical components. I am hoping for an effect similar to this one
http://www.imagico.de/pov/meta/block_neg.jpg. My current result is
http://www.frozenport.com/WhatIGot.jpg
#include "colors.inc"
#include "textures.inc"
#include "woods.inc"
#declare Use_Photons = yes;
plane { y, 0 pigment {checker color White color Black}}
global_settings {
max_trace_level 10
photons {
count 100000
autostop 0
media 1000
max_trace_level 10
}
}
declare Camera = <10,10,10>; //Production View
declare Camera = <0,15,0>; //top view to see if optical effects work
camera { location Camera look_at <0,0,0>}
//Box for making laser visible
box {<100,100,100>,<-100,0,-100> pigment{ color Clear } photons{pass_through}
interior
{
media
{
intervals 1
samples 5,25
confidence 1 - 1/1000
variance 1/1000
ratio 0.9
scattering
{
1, color rgb <1,1,1> * 1/10
//eccentricity 0.25 // eccentricity for type 5 [0.0]
extinction 0.0 // for balancing amount of absorption [1.0]
}
method 3 // adaptive sampling
aa_threshold 0.1 // accuracy threshold for method 3 [0.1]
aa_level 4 // maximum recursion depth for method 3 [4]
density{ color rgb <1,1,1> }
}
}
hollow
}
// Right Barrier, where I hope the beam to end, astetic
box { <1,3,-10>, 0 texture{T_Wood14} translate <-6,0,4>}
// The Slab of glass like material with an index of 1.5
box
{
<2,4,-10>, 0
//pigment{ color rgbt <1,1,1,.95> }
pigment{ color Clear}
//finish{ ambient 1.5 diffuse 1.5 reflection .9 }
interior{ ior -1.5 }
photons { target refraction on reflection on }
hollow
translate <0,0,4>
}
//Astetic Laser Box
box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
//Astetic LaserTip
cylinder {<0,0,0>,<0,5,0>,.2 texture{Chrome_Metal} translate <.75,-9.5,-1.25>
rotate<0,0,90>}
//The Photon Shooter
#declare LightSource = <4.51,.75,-1.26>;
#declare LightDestination =<-5,.75,9>;
light_source {LightSource color Red*1000 cylinder tightness .2 radius .2 falloff
..25 point_at LightDestination
photons{reflection on refraction off}
//looks_like{cylinder{LightSource,LightDestination,.1 texture{Chrome_Metal}}}
not quite sure what this does...
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Frozenport.com nous illumina en ce 2008-07-14 02:03 -->
> Okay,
> Thank you for your help, I feel I am getting closer to solving my problem. I
> have succesfully gotten the beam to show up but I can not get it properly
> interact with optical components. I am hoping for an effect similar to this one
> http://www.imagico.de/pov/meta/block_neg.jpg. My current result is
> http://www.frozenport.com/WhatIGot.jpg
>
Your reference image uses a negative ior. No normal, positive, ior can ever give
that result.
>
>
> light_source {LightSource color Red*1000 cylinder tightness .2 radius .2 falloff
> ..25 point_at LightDestination
> photons{reflection on refraction off}
> //looks_like{cylinder{LightSource,LightDestination,.1 texture{Chrome_Metal}}}
> not quite sure what this does...
> }
>
>
The looks_like statement attach an object to the light_source. It's origin is
coincident with the light's location. It's a good way to make a light_source
visible. In fact, it's the goal of the looks_like.
A sample:
light_source{10 color Red*1000 cylinder tightness 0.2 falloff 0.2 radius 0.2
point_at<10,10,9> // make it point parallel to the Z axis.
looks_like{cylinder{0,<0,0,.5>,1 texture{Chrome_Metal}}}
translate -10 // shift bact to the origin
rotate 27*y // change the orientation
translate Final_location // place it where you want
}
You can replace the cylinder I used by about any object you want, not just a
primitive.
The looks_like object is automaticaly made no_shadow.
Try adding photons{pass_through} to your laser box object. Presently, it
intersept your photons.
//Astetic Laser Box
union{
box { <4,1,-2>, 0 texture{Candy_Cane} translate <5,0,0>}
//Astetic LaserTip
cylinder {<0,0,0>,<0,5,0>,.2 texture{Chrome_Metal} translate <.75,-9.5,-1.25>
rotate<0,0,90>
photons{pass_through}
}
--
Alain
-------------------------------------------------
I knew a girl so ugly that she was known as a two-bagger. That's When you put
a bag over your head in case the bag over her head comes Off.
Rodney Dangerfield
Post a reply to this message
|
|
| |
| |
|
|
From: Jim Holsenback
Subject: Re: Laser Light Source with Photons...
Date: 17 Jul 2008 15:13:43
Message: <487f99e7@news.povray.org>
|
|
|
| |
| |
|
|
I've been following this post and constructed my own test scene ..... now I
have a few questions.
In the initial scene, after the light leaves the looks_like object it goes
through an optical device then hits an object. I instead wanted to see if I
could get the light beam to bend or deflect with a mirror object. I moved
the beam destination target object 90 from where it was orginally and placed
a mirror object, built centered around <0,0,0> then rotate y*45 and
translated to intercept the light beam and deflect in on to the relocated
destination object. No Joy! I don't even see the point of light on the dest
object. Can POV do this? Or have I messed up the geometry of my test scene.
I've made mirrors before so I just used tried and true settings for the
mirror texture. I can even see the checked floor in the mirror object. I'm
out of ideas so any additional insight would be great.
Jim
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Jim Holsenback" <jho### [at] hotmailcom> wrote:
> I've been following this post and constructed my own test scene ..... now I
> have a few questions.
>
> In the initial scene, after the light leaves the looks_like object it goes
> through an optical device then hits an object. I instead wanted to see if I
> could get the light beam to bend or deflect with a mirror object. I moved
> the beam destination target object 90 from where it was orginally and placed
> a mirror object, built centered around <0,0,0> then rotate y*45 and
> translated to intercept the light beam and deflect in on to the relocated
> destination object. No Joy! I don't even see the point of light on the dest
> object. Can POV do this? Or have I messed up the geometry of my test scene.
> I've made mirrors before so I just used tried and true settings for the
> mirror texture. I can even see the checked floor in the mirror object. I'm
> out of ideas so any additional insight would be great.
>
> Jim
Povray can do this, but I would like to see your code so we can figure out why
it isn't.
-Reactor
Post a reply to this message
|
|
| |
| |
|
|
From: Jim Holsenback
Subject: Re: Laser Light Source with Photons...
Date: 18 Jul 2008 10:28:04
Message: <4880a874@news.povray.org>
|
|
|
| |
| |
|
|
"Reactor" <rea### [at] hotmailcom> wrote in message
news:web.487f9f80f15fb2b6210497120@news.povray.org...
> Povray can do this, but I would like to see your code so we can figure out
> why
> it isn't.
>
> -Reactor
Ok ..... here's the source file photons commented out. Don't need that just
yet right?
I've attached a reference image. Notice I can see the target in the
reflective object .... also the reflection of the beam from the source.
That's not the beam bending but it's reflection. I also commented out the
optical device as I don't need that yet either. One change I made was the
intensity of the looks_like light source ..... it WAS a color vector * 1000
..... I just bumped up the intensity of the scattering media to make up for
lowering the intensity of the emitter light source. Orginally the light beam
hitting the target produced an almost white-ish look (highly saturated)
..... a laser beam should leave a red (or light source) colored point of
light .... correct?
Thanks
Jim
---
global_settings {
max_trace_level 10
/*photons {
count 100000
autostop 0
media 1000
max_trace_level 10
}*/
}
background {rgb 0.125}
#declare Camera = <15,1.5,2.5>;
camera { location Camera look_at <0,0,2.5>}
// makes the lightsource visable
box {<100,100,100>,<-100,0,-100>
hollow on
pigment {rgbt 1}
//photons {pass_through}
interior {
media {
intervals 1
samples 1 //5,25
confidence 1 - 1/1000
variance 1/1000
ratio 0.9
scattering {
1, color rgb 10
extinction 0.0
}
method 3
aa_threshold 0.1
aa_level 4
density {color rgb <1,1,1>}
}
}
}
// reflector yellow border
union {
box {<-2.5,-0.1,-2.5>, <2.5,0.1,2.5>
pigment{rgb 1}
finish{ ambient 0 diffuse 0 reflection 1}
}
box {<-2.6,0,-2.6>, <2.6,0,2.6>
pigment{rgb <1,1,0>}
finish{ ambient 0.5}
}
rotate z*90
rotate y*315
//photons {target reflection on refraction on}
}
// recptor blue border
union {
box {<-0.1,-1.5,2.5>, <0.1,1.5,-2.5>
pigment {
onion scale 0.5
color_map {
[0.0 rgb 1]
[0.35 rgb 1]
[0.35 rgb 0.1]
[1.0 rgb 0.1]
}
}
finish{ ambient 0.5 diffuse 0.5 reflection 0 }
}
box {<0,-1.6,2.6>, <0,1.6,-2.6> pigment {rgb <0,0,4>}}
rotate y*90
//photons {target reflection on refraction on}
translate <0,0,5>
}
// optic device
/*sphere {
0, 0.5
pigment{ color rgbt <1,1,1,.95> }
hollow on
finish{ ambient 0 diffuse 0 reflection .5 }
interior{ ior 1.5 }
//photons {target reflection on refraction on}
scale <0.01,1,1>
translate <2.5,0,0>
}*/
// the emitter
light_source {
<0,0,0>
color rgb <1.0000, 0.2900,0.2000>
cylinder
tightness 0
radius .025
falloff .025
point_at <-1,0,0>
fade_distance 500
fade_power 2
/*photons {
reflection on
refraction off
}*/
looks_like {cylinder{0,<0.1,0,0>,0.1 pigment {rgb <4,0,0>}}}
translate <5,0,0>
}
Post a reply to this message
Attachments:
Download 'laser.jpg' (15 KB)
Preview of image 'laser.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hello,
I've only had a moment to skim your code, but you will need photons
to be able to have the light do anything after it reflects. I was
messing with something very similar a while back and wrote something
about it here that might help. Basically I needed to end up bumping up
my photons media parameter (though yours is probably plenty high, just
enable it) and really increasing the media samples.
Here's the message:
http://news.povray.org/web.47af1f65c0351d35b05f96f70%40news.povray.org
There's some other good suggestions in the rest of the thread as well.
This is the scene file when I finally got it working:
http://news.povray.org/web.47af219494e592ceb05f96f70%40news.povray.org
and the corresponding image:
http://news.povray.org/web.47af23af94e592ceb05f96f70%40news.povray.org
Hope its helpful.
--
-The Mildly Infamous Blue Herring
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|