cihologramas / pyoptools

Python tools for optical design
GNU General Public License v3.0
137 stars 46 forks source link

Calculating the impact angle of a hit_list ray #103

Closed frizensami closed 3 years ago

frizensami commented 3 years ago

Hello, and thank you very much for making this software!

I'm trying to compute the impact angle for each ray that hits a CCD sensor. If the ccd sensor is represented by CCD, I am trying to achieve this with:

for impactPoints, ray in CCD.hit_list:
   impactRayDirection = ray.dir

Does impactRayDirection represent the impact angle?

Thank you!

ramezquitao commented 3 years ago

Hello. The ray direction is a unitary vector that represents the "direction" of propagation of the ray. This is, a ray propagating in the Z direction will have a dir of (0,0,1). To get the angle incidence angle, you will have to compare this with the normal vector of the surface. I guess using something like a dot product could be used for this.

El mar., 20 de julio de 2021 21:43, Sriram Sami @.***> escribió:

Hello, and thank you very much for making this software!

I'm trying to compute the impact angle for each ray that hits a CCD sensor. If the ccd sensor is represented by CCD, I am trying to achieve this with:

for impactPoints, ray in CCD.hit_list: impactRayDirection = ray.dir

Does impactRayDirection represent the impact angle?

Thank you!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cihologramas/pyoptools/issues/103, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPKS5TOAF76NRUUNCA4IHDTYYX6NANCNFSM5AXBFWGA .

frizensami commented 3 years ago

Thank you very much! I managed to transform the system 3D plots that looked like this: image

into plots describing whether a ray hit the CCD sensor from the left or right side of lens' axis here:

image