POV-Ray : Newsgroups : povray.unofficial.patches : Photons and Laser Beams Server Time
3 Sep 2024 00:15:14 EDT (-0400)
  Photons and Laser Beams (Message 1 to 10 of 12)  
Goto Latest 10 Messages Next 2 Messages >>>
From: Ken
Subject: Photons and Laser Beams
Date: 9 Jun 1999 01:42:52
Message: <375DFB54.C30B434C@pacbell.net>
Before I try and fail I will instead ask. ( a novel concept isn't it :)

 Many laser light shows rely on reflecting laser beams from mirror to mirror
and tracing their path with the help of smoke to make the laser beams path
visible to the spectator. Since they use precision first surface mirrors
there is virtualy no loss of intensity of the light as it is transferred
from each mirrored surface.
 Is the above scenario possible with the reflection capabilities of the 
Photon Patch or should I expect some fall off of intensity ?

 I need this information as I would like to model, for a customer, the inner
workings of a surface ablation device that uses a laser in cooperation with
a galvenomteter driven mirror system to fucntion. 

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

From: Margus Ramst
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 08:39:02
Message: <375e6066@news.povray.org>
You have to remember that the photon patch doesn't currently work with
media, so laser beams won't be visible (I have absolutely no knowlege about
the device you're after, but wouldn't it require visible laser beams in the
ablation zone?)
As for light intensity - Nathan knows better, but I'd imagine photon mapping
(which is basically backward raytracing) should produce no intensity falloff
when reflecting off a perfect mirror - just like in standard raytracing.

Margus

Ken wrote in message <375DFB54.C30B434C@pacbell.net>...
>
>
> Before I try and fail I will instead ask. ( a novel concept isn't it :)
>
> Many laser light shows rely on reflecting laser beams from mirror to
mirror
>and tracing their path with the help of smoke to make the laser beams path
>visible to the spectator. Since they use precision first surface mirrors
>there is virtualy no loss of intensity of the light as it is transferred
>from each mirrored surface.
> Is the above scenario possible with the reflection capabilities of the
>Photon Patch or should I expect some fall off of intensity ?
>
> I need this information as I would like to model, for a customer, the
inner
>workings of a surface ablation device that uses a laser in cooperation with
>a galvenomteter driven mirror system to fucntion.
>
>--
>Ken Tyler
>
>mailto://tylereng@pacbell.net


Post a reply to this message

From: Ken
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 08:50:00
Message: <375E5F29.BC0C8694@pacbell.net>
Margus Ramst wrote:
> 
> You have to remember that the photon patch doesn't currently work with
> media, so laser beams won't be visible (I have absolutely no knowlege about
> the device you're after, but wouldn't it require visible laser beams in the
> ablation zone?)
> As for light intensity - Nathan knows better, but I'd imagine photon mapping
> (which is basically backward raytracing) should produce no intensity falloff
> when reflecting off a perfect mirror - just like in standard raytracing.
> 
> Margus


  Well that pretty well blows that idea all to heck. I forgot about the
lack of media intereaction. Now for my next trick...

Thanks Margus.

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

From: Ken
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 08:51:48
Message: <375E5F95.FBA2A85B@pacbell.net>
Ken wrote:
> 
> Margus Ramst wrote:
> >
> > You have to remember that the photon patch doesn't currently work with
> > media, so laser beams won't be visible (I have absolutely no knowlege about
> > the device you're after, but wouldn't it require visible laser beams in the
> > ablation zone?)
> > As for light intensity - Nathan knows better, but I'd imagine photon mapping
> > (which is basically backward raytracing) should produce no intensity falloff
> > when reflecting off a perfect mirror - just like in standard raytracing.
> >
> > Margus
> 
>   Well that pretty well blows that idea all to heck. I forgot about the
> lack of media intereaction. Now for my next trick...
> 
> Thanks Margus.
> 
> --
> Ken Tyler
> 
> mailto://tylereng@pacbell.net

It will probably be easier to model using colored cylinders anyway.

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

From: Margus Ramst
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 09:07:24
Message: <375e670c@news.povray.org>
Indeed. You'd probably have to use the SuperPatch's trace function, tho.
Here's a macro (by Ron Parker) that might help. I don't remember if R has to
point from the surface or toward the surface, you'll have to test it.

//Returns the mirror vector of R at surface normal N
#macro v_mirror(R,N)
  #local nN=vnormalize(N);
  #local par=vdot( R, nN );
  #local perp=R-par*nN;
  vnormalize(par*nN-perp)
#end

Ken wrote in message <375E5F95.FBA2A85B@pacbell.net>...
>
>It will probably be easier to model using colored cylinders anyway.
>
>--
>Ken Tyler
>
>mailto://tylereng@pacbell.net


Post a reply to this message

From: Ken
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 10:47:25
Message: <375E7A99.E1B526B8@pacbell.net>
Margus Ramst wrote:
> 
> Indeed. You'd probably have to use the SuperPatch's trace function, tho.
> Here's a macro (by Ron Parker) that might help. I don't remember if R has to
> point from the surface or toward the surface, you'll have to test it.
> 
> //Returns the mirror vector of R at surface normal N
> #macro v_mirror(R,N)
>   #local nN=vnormalize(N);
>   #local par=vdot( R, nN );
>   #local perp=R-par*nN;
>   vnormalize(par*nN-perp)
> #end

  Thanks for the tip. I doubt I will use the "Super Patch" as the new version
is still unavailable and my need for completing this in a timely manner is
great. My much older (12/98), outdated, and inefficient version of the "Super
Patch" is corrupt so no longer works plus it is not available anywhere on the
net for download. I asked yesterday when I could have a copy of the new version
of the "Super Patch" and was told to "bugger off" (so to speak :).

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

From: Ron Parker
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 13:18:03
Message: <375ea1cb@news.povray.org>
On Wed, 09 Jun 1999 07:30:49 -0700, Ken wrote:
>  Thanks for the tip. I doubt I will use the "Super Patch" as the new version
>is still unavailable and my need for completing this in a timely manner is
>great. My much older (12/98), outdated, and inefficient version of the "Super
>Patch" is corrupt so no longer works plus it is not available anywhere on the
>net for download. I asked yesterday when I could have a copy of the new version
>of the "Super Patch" and was told to "bugger off" (so to speak :).

You were not.  I was joking, as I thought you were.  Furrfu.  I really
don't know when it will be online, it depends heavily on what else is 
going on in my life.  Nevertheless, every time I mention it I get asked
when it's going to be back online, despite the fact that I've said more
than once that I really don't know. 

If you're intersecting a ray with a planar mirror, trace isn't really 
necessary because the operation is so simple.  Here's a macro to find 
it, borrowed somewhat from the POV source.

#macro IntersectPlane( _PlaneNormal, PlaneOffset, RayInitial, _RayDirection )
  #local PlaneNormal=vnormalize(_PlaneNormal+<0,0,0>);
  #local RayDirection=vnormalize(_RayDirection+<0,0,0>);
  #local NormalDotDirection = vdot(RayDirection, PlaneNormal);
  #if ( abs(NormalDotDirection) < 0.00001 )
    #error "Ray parallel to mirror"
  #end
  #local NormalDotOrigin = vdot( RayInitial, PlaneNormal );
  #local Depth=(PlaneOffset - NormalDotOrigin) / NormalDotDirection;
  RayInitial+Depth*RayDirection
#end

Of course, this assumes you haven't done anything with the mirror, like
rotating or scaling it.  If you've done that, you'll have to fix the 
normal and offset appropriately.

Translate is 
  #declare Offset=Offset+(Normal*Translation);

Rotate is trickier - you have to multiply the normal vector by the 
transpose of the rotation matrix.  If you rotate before you translate, 
though (and you probably will) you can no doubt find an easier way to
find the new normal.  Hope this all helps.


Post a reply to this message

From: Ron Parker
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 13:25:56
Message: <375ea3a4@news.povray.org>
On 9 Jun 1999 13:18:03 -0400, Ron Parker wrote:
>Of course, this assumes you haven't done anything with the mirror, like
>rotating or scaling it.  If you've done that, you'll have to fix the 
>normal and offset appropriately.

Wicked thought - just find three points on your plane (this is easy 
enough, especially if you start with an axis-aligned plane.) and 
transform each of them as you transform the plane, then recalculate 
the normal and offset from them.

  #local Normal = vnormalize(vcross( c-a, b-a ) );
  #local Offset = vdot( a, Normal );


Post a reply to this message

From: Nathan Kopp
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 18:22:10
Message: <375EE871.A9F87984@Kopp.com>
Ken wrote:
> 
> It will probably be easier to model using colored cylinders anyway.
> 

I agree.  Even when media interaction is impelmented, you will probably
still get better results in much less time using MUCH less memory if you
fake it.

-Nathan


Post a reply to this message

From: Ken
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 20:04:49
Message: <375EFE59.DABB4B51@pacbell.net>
Ron Parker wrote:

> > I asked yesterday when I could have a copy of the new version
> > of the "Super Patch" and was told to "bugger off" (so to speak :).
> 
> You were not.  I was joking, as I thought you were.  Furrfu.  I really
> don't know when it will be online, it depends heavily on what else is
> going on in my life.  Nevertheless, every time I mention it I get asked
> when it's going to be back online, despite the fact that I've said more
> than once that I really don't know.

I was taking yet another friendly swipe when I mentined the above.

> If you're intersecting a ray with a planar mirror, trace isn't really
> necessary because the operation is so simple.  Here's a macro to find
> it, borrowed somewhat from the POV source.
> 
> #macro IntersectPlane( _PlaneNormal, PlaneOffset, RayInitial, _RayDirection )
>   #local PlaneNormal=vnormalize(_PlaneNormal+<0,0,0>);
>   #local RayDirection=vnormalize(_RayDirection+<0,0,0>);
>   #local NormalDotDirection = vdot(RayDirection, PlaneNormal);
>   #if ( abs(NormalDotDirection) < 0.00001 )
>     #error "Ray parallel to mirror"
>   #end
>   #local NormalDotOrigin = vdot( RayInitial, PlaneNormal );
>   #local Depth=(PlaneOffset - NormalDotOrigin) / NormalDotDirection;
>   RayInitial+Depth*RayDirection
> #end
> 
> Of course, this assumes you haven't done anything with the mirror, like
> rotating or scaling it.  If you've done that, you'll have to fix the
> normal and offset appropriately.
> 
> Translate is
>   #declare Offset=Offset+(Normal*Translation);
> 
> Rotate is trickier - you have to multiply the normal vector by the
> transpose of the rotation matrix.  If you rotate before you translate,
> though (and you probably will) you can no doubt find an easier way to
> find the new normal.  Hope this all helps.

  I think I have a simple yet elegant solution in the works. Since
I have abandoned the photon technique in favor of simply connecting
cylinders from each mirror surface to the next John Van Sickles
connect the dots macro handles it well and I know how to use it
from previous experience.

  Thank you for taking the time to offer assistance.

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

Goto Latest 10 Messages Next 2 Messages >>>

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