Laserbeam reflection points/ path lengths

6 vues (au cours des 30 derniers jours)
Student404
Student404 le 13 Juil 2022
Commenté : Student404 le 13 Juil 2022
Hi everyone,
for a student project I need to calculate the path lengths of a laserbeam that is reflected on multiple mirrors in 3D.
The mirrors can be rotated in all 3 dimensions and I need to find the reflection points/ path lengths and how they change with specific mirror rotations. It would be nice to be able to visualize the path.
Until now I tried to work with different vectors and planes and calculate the angles and reflection points by hand, but after 2 or 3 reflections it gets really confusing and the visualisation is not that great either. Especially since I plan to add more beams.
I found the RayTracing propagation model, but I am not sure if this fits for my purpose, since I only want to simulate the path and direction and not the channels properties?
I would be glad if someone with more Matlab experience could share his/her thoughts on my problem or which toolbox would suit the best.
Thanks for your help in advance!

Réponses (1)

John D'Errico
John D'Errico le 13 Juil 2022
Why do you need a toolbox? Start with a ray. A line is simply defined by the equation:
R(t) = R0 + R*t
where R0 is a point on the line where it starts, so a vector of length 3. As well, R is a vector of length 3, that indicates the direction the ray propagates in. For any non-negative value of the parameter t, you get a point along that ray..
Next, you have a plane, thus the plane of a mirror the ray will intersect. A plane can be defined by a point in the plane, and the normal vector to the plane.
Where does the line intersect that plane? Basic analytic geometry. Once you find the point on the plane of the mirror, you can compute the distance traveled to that point.
Next, when the ray hits the mirror, what angle will it reflect at? Again, basic geometry. At this point, you have the same problem you had before. A ray that emanates along some path from a starting point, and you know the vector that defines that path! Rinse and repeat, until the ray reaches its final destination. Since you want to compute the distance traveled, sum of the individual distances to the final point.
All of this is basic geometry, something that should have been taught in high school geometry. At the very least, you were given those tools to do so then, whether you remember them or not. But surely you can find the necessary equations online.
Of course, this being YOUR student project, I've already done more than I should do. Start writing. It was assigned to you, not to me, or to anyone else you might find on the street.
  1 commentaire
Student404
Student404 le 13 Juil 2022
Thank you for your answer.
You pretty much summed up, what i have already started to implement. So nice to see, that I was not so far off :D . The math behind shouldn't be much of a problem for me either.
I was just curious to know if there was a more elegant way, since I saw the Raytracing toolbox with the fancy visualisation. In the future I want to expand the model with multiple beams and more mirrors and also computing time will eventually become an issue.
So it seems like will continue what I have started.
Again thanks!

Connectez-vous pour commenter.

Catégories

En savoir plus sur General Applications dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by