# Ray Tracing

1. Jun 9, 2010

### cfphys

I'm working on tracing the beam path of a HeNe laser through two prisms, and I'm stuck on trying to find the incident plane in which to use Snell's law.

Basically I have the equation of the angled surface of the prism, and I have the point where the beam intersects that plane. Now I need the normal vector to the surface at that intersection point, and then I can define the incident plane from the two vectors (the normal at that point and the vector that is the incident beam).

The problem I can't figure out is how to get the specific vector perpendicular to the plane at the point of intersection. All the textbooks I've looked at have the "opposite" of what I need, because they assume I have both the normal and the point and want the plane, whereas I have the point and plane but want the normal. And I can't simply use that method to solve for the normal because it has a dot product that I can't undo.

Also, this is in cylindrical coordinates, and if I can avoid the conversion to Cartesian that would relieve at least some of my headache!

Any help or advice would be much appreciated.

Thank you

2. Jun 10, 2010

### PiTHON

If you have the equation of the plane, you should be able to obtain 3 points on the plane and create 2 vectors (non parallel), take the cross product of those and you'll get the normal vector to that plane.

3. Jun 10, 2010

### cfphys

Thanks PiTHON

Right, but that gives me the entire family of normal vectors that satisfies the condition of being perpendicular to the surface.

I have one specific point on the plane, and through that point there is a unique vector perpendicular to the plane. That's the vector I'm looking for.

4. Jun 10, 2010

### PiTHON

Oh, I'm sure I'm ignorant of the relevant math/physics, I just learned the cross product about a week ago and was excited to see its use.

I would think the general normal vector and the incident vector would allow you to get the incident plane since the formulas place their tails at the same origin, right? Then you can use the dot product of the same vectors to finish snells law, use the refracted angle to create a family of vectors in the same plane, and use a position vector to select the vector that's at the point you need relative to whatever origin is defining the point in question.

It kinda makes sense to me, sorry if I'm way off though hehe, just trying to learn a thing or two. I'll stop cluttering your thread since I don't have a direct answer, hopefully someone comes by that does.

5. Jun 10, 2010

### JDługosz

Shouldn't all points on the face have the same surface normal vector?

6. Jun 11, 2010

### Born2bwire

If it is a plane, yes. However, if the surface is not a plane then he would need to choose two vectors that originate at the point of interest. The process does not change though and taking the cross product should work. Of course there are two possible normal directions and he should make the appropriate sign change to get the one of interest.

7. Jun 12, 2010

### Redbelly98

Staff Emeritus
If you have the equation of a plane,
Ax + By + Cz = D,​
then the normal to the plane is the vector (A,B,C)

EDIT: just noticed this:
Since it's such a trivial matter once you are in Cartesian coordinates, I think that is the best way to go. And once you've written the subroutine to convert the coordinates, you don't have to worry about it any more.