Sign in to follow this  
noodlebauer

Modelling a Laser Beam: Heating

Recommended Posts

Hi, apologies if this should be in the opengl forum, but here goes... I am trying to model a laser beam in an opengl program. Getting the right light emission is fairly simple, I have set GL_SPOT_CUTOFF parameter to create a cone-shaped spotlight style beam, and given it a high specular and low diffuse value. The problem comes in trying to associate heat with the beam. I could not find a way to do this in opengl, which seems logical as it is merely a graphics library. The beam of light itself does not neccessarily have to be hot, but in teh physical model I am setting up I need anything the beam hits to heat up. The only way I can think of is to manually grab the specular component of light hitting each object and calculate heating based on that (the laser is the only light source, so any specular light must have come from the laser), although this method even to me seems crude. Any help/ideas would be much appreciated!

Share this post


Link to post
Share on other sites
Lasers beams are 'beams' meaning, the light goes in a straight line; it shouldn't spread out.
So you can just do a simple Ray Intersection Test to see what spot it is hitting.

This whole specular component thing you're considering seems to be...
based on some kind of confusion over how lasers work...
In science fiction movies, to make things look cool they draw the laser as a visible solid beam of light, but you should not be able to see it midair like that unless there is dust or smoke that is diffusing the light.
At any rate, any light from the beam that does spread out like that should be considered graphical special effect only; for the physics/gameplay aspect all the energy ought to just land on a single pinpoint at the end of the beam.

Share this post


Link to post
Share on other sites
Cheers for taking the time to reply.

Quote:
Original post by haphazardlynamed
Lasers beams are 'beams' meaning, the light goes in a straight line; it shouldn't spread out.
So you can just do a simple Ray Intersection Test to see what spot it is hitting.


It's a real-life surgical laser I'm trying to model, and it does spread out.

Quote:
Original post by haphazardlynamed
This whole specular component thing you're considering seems to be...
based on some kind of confusion over how lasers work...
In science fiction movies, to make things look cool they draw the laser as a visible solid beam of light, but you should not be able to see it midair like that unless there is dust or smoke that is diffusing the light.


It is passing through water, so is visible.

Quote:
Original post by haphazardlynamed
At any rate, any light from the beam that does spread out like that should be considered graphical special effect only; for the physics/gameplay aspect all the energy ought to just land on a single pinpoint at the end of the beam.


The whole cone-shaped footprint still delivers heat in real-life, so I need the model to.

Any other ideas? :)

Share this post


Link to post
Share on other sites
Well, if its a simple cone shaped spread, then rather than do a ray intersection, how about do a cone intersection?
Then heat transmitted is some function of the area and distance of the footprint...(thats pure physics of light, youll have to look it up someplace)

I certainly wouldn't use any of the opengl lighting for this kind of calculation; handle the math (raytracing maybe?) yourself.


Whats this for anyway? A game? or does the heat calculation need to be serious?
opengl is really graphics rendering only, it has no solid basis for physics of light, if thats what you're going for.

Share this post


Link to post
Share on other sites
If the beam is considered to be coherent, then all photons will be of the same energy level.

The energy per photon is calculated as E = hν, where h is Planck's constant, and ν is frequency.

The number of photons emitted by the laser apperatus per second is variable, so you can make that call yourself.

The spread rate would be defined by some Lambertian function for diffuse transmission.

The amount of photon energy released by a body is governed by the equation E = σT4, where σ is the Stefan-Boltzmann constant, and T is temperature in Kelvin. ie: An increase in temperature of one Kelvin results in the body emitting a fourth-power increase in electromagnetic energy per square metre per second.

If you reverse this concept, causing a body to absorb the same amount of energy as it emits leads to a thermal equilibrium.

It should stand that if over time a body absorbs an amount which a fourth power increase over what it emits, then the body should undergo an increase in temperature by one Kelvin per second.

However, I recommend that you verify this logic yourself with a Physicist.

[Edited by - taby on March 19, 2007 8:07:33 PM]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this