Why is my reflected trajectory not the expected direction of [0,0,-1]?

  • Context: Graduate 
  • Thread starter Thread starter Xyius
  • Start date Start date
  • Tags Tags
    Reflection Surface
Click For Summary

Discussion Overview

The discussion revolves around the calculation of the reflected trajectory of a particle upon striking a flat surface, specifically addressing the discrepancy between expected and calculated reflection directions. The focus is on the physics of reflection rather than the coding aspect of the simulation in MATLAB.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes a scenario where a particle with a velocity vector of [0,0,1] reflects off a surface with a normal vector of [0,0,-1], expecting a reflected trajectory of [0,0,-1], but instead calculates [0,0,1].
  • Another participant suggests drawing the vectors and using the parallelogram rule to visualize the reflection, implying that the result appears opposite to the expected reflected beam.
  • A different participant recommends breaking the initial velocity vector into lateral and normal components, reversing the normal component, and adding it back to the lateral component as a method to achieve the correct reflection.
  • One participant expresses confusion about the equation used for reflection and references a general expression for vector reflection found online, noting that the result does not align with their intuition.
  • Another participant proposes manually deriving the reflection by breaking it into components, questioning the validity of the referenced wiki source.
  • A participant mentions discovering a negative sign issue in their calculations, which worked in one scenario but not another, indicating ongoing uncertainty about the resolution of their problem.

Areas of Agreement / Disagreement

Participants express differing views on the correct approach to calculating the reflection, with no consensus reached on the validity of the equation or the method to achieve the expected result.

Contextual Notes

There are indications of missing assumptions regarding the vector components and the application of the reflection equation. The discussion also highlights potential issues with the sign in the reflection calculation, which remains unresolved.

Xyius
Messages
501
Reaction score
4
I am writing a simulation in MATLAB of particles that perfectly reflect off of a surface. However, my question is physics based, not code based.

So here is my issue. A particle is traveling towards a flat plane in space at z=1 with a velocity vector of [0,0,1]. The normal vector of the surface is [0,0,-1].

I want to calculate the reflected trajectory of the particle so I use the following expression.

[tex]|\vec{v}|\left[2(\hat{n} \cdot \hat{v})\hat{n}-\hat{v}\right][/tex]

The problem is, in my head, the reflected trajectory should clearly be [0,0,-1] However, when I calculate it, I get [0,0,1]. Why is this happening? Is my equation right?

EDIT:

I know the normal vector of the surface is correct, as the front of the plane is facing the particle source.

Also, I need to use the general expression for a reflection as I will be moving onto any 3D object as the next step.
 
Last edited:
Science news on Phys.org
Draw the vectors and their versors for a generic incident beam, let's say at 30° wrt the surface.
Then draw the projection of versor v on the direction of n, and its double.
Then sum it to the negative versor of v using the parallelogram rule.
You have to use a ruler to have the proportions right.

It appears that the result is opposite to the reflected beam. Do you agree?
 
I'm not sure where you got the equation from. Break up your initial velocity vector into a lateral component and a normal component. Reverse the normal component, and add it back to the lateral component. It should work regardless of the direction of the normal.
 
SredniVashtar

It seems like I get the opposite of what I should get. But I already got this result using the simpler case of a vector normal to the plane.

Khashishi

I remember in many of my electromagnetics courses, there was a general expression for the reflection of a vector. I looked on the internet to try and find it and got this..

http://en.wikipedia.org/wiki/Reflection_(mathematics)

Scroll down to "Reflection across a line in the plane"

The result of the equation doesn't seem to match my intuition.

EDIT:

I will look into using MATLAB functions to project the normal then subtract as another way of doing this without the equation.
 
Try manually deriving the reflection by breaking it up into components. Maybe the wiki is wrong (I didn't check).
 
So everything points to there being a negative sign that is wrong. I swapped the negative sign and it works in one scenario in my code, but not another. I will determine if this problem is really solved or if something is weird in my code and report back!
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 19 ·
Replies
19
Views
6K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 6 ·
Replies
6
Views
8K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 17 ·
Replies
17
Views
5K
  • · Replies 3 ·
Replies
3
Views
957
  • · Replies 7 ·
Replies
7
Views
3K