Why is the horizontal offset of my texture 3x that of the vertical offset?

This might be a bit of an odd question, but I wrote some post processing code to offset a texture (In my case for dithering) to always align with the world. I did this by getting the camera’s vector and getting it’s Lat/Long. Then multiplying that by a specific amount based on the camera FOV and texture size.

It all works perfectly fine, and I understand it all, except for one thing…

In the image above I have to multiply the horizontal offset by 3 (the selected node). I don’t get this. I would have thought that since the range of motion for looking up and down is only 180 degrees, while left and right is 360, that I would have to multiply the horizontal offset of the texture by 2, since the texture would have twice the distance to cover. But that doesn’t work, and instead it only aligns correctly if I set it to 3?

The code works, so I don’t need anything to fix (Unless there’s an easier way to do everything). I’m just curious as to why my code basically implies 180 * 3 = 360