Laserbeam reflection points/ path lengths
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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!
0 commentaires
Réponses (1)
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.
Voir également
Catégories
En savoir plus sur General Applications dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!