POV-Ray : Newsgroups : povray.unofficial.patches : Photons and Laser Beams Server Time
3 Sep 2024 02:14:33 EDT (-0400)
  Photons and Laser Beams (Message 3 to 12 of 12)  
<<< Previous 2 Messages Goto Initial 10 Messages
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

From: Mark Wagner
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 23:47:54
Message: <375f356a@news.povray.org>
Ken wrote in 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...


You could fake the media with a bajillion tiny, mostly transparent cubes
arranged throughout the area.

Mark


Post a reply to this message

From: Ken
Subject: Re: Photons and Laser Beams
Date: 9 Jun 1999 23:57:39
Message: <375F34EE.1BC0FB72@pacbell.net>
Mark Wagner wrote:
> 
> Ken wrote in 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...
> 
> You could fake the media with a bajillion tiny, mostly transparent cubes
> arranged throughout the area.
> 
> Mark

 Were I selling my customer the equipment that this image will represent
I might consider such an approach. Since it is instead intended more to
illustrate a process I feel I could do better using other means and
methods than those you describe.

Thank oyu for your suggestion anyway.

-- 
Ken Tyler

mailto://tylereng@pacbell.net


Post a reply to this message

<<< Previous 2 Messages Goto Initial 10 Messages

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