I'm not sure what page everyone else is on but I want to go back to the start and clarify some things...
What is Viewspeed and why is it the best way to convert sensitivity? It is like your sensitivity is represented by gears and pulley. Each Field of View is completely in sync with each other and your sensitivity feels exactly the same no matter what. This helps hugely with muscle memory. It is not matching points on your monitor. Because of distortion, matching points on the monitor will always be inconsistent and imperfect. It may be close, but it's not perfect and it needs to be perfect.
Now this is where I think everyone has gone off track and why the current formula just doesn't work... How is Viewspeed meant to convert?
Firstly, we must consider how we convert from 3D to 3D. In terms of determining sensitivity, it is the circumference of the "gears" that we need to identify when converting between different FOVs. And according to math, it is very simple: given that you know the circumference of the first FOV and its angle (which is the FOV), you calculate its chord length and you then use that chord length to calculate the circumference of the FOV you are converting to.
The equations for calculating this are:
Radius_firstFOV = Circumference_firstFOV / (2 x pi)
1/2 Chordlength_firstFOV = sin(firstFOV) x Radius_firstFOV
Radius_newFOV = 1/2 Chordlength_firstFOV / sin(newFOV)
Circumference_newFOV = 2 x pi x Radius_newFOV
In one big equation it looks like this:
Circumference_newFOV = 2 x pi x ((sin(firstFOV) x (Circumference_firstFOV / (2 x pi))) / sin(newFOV))
The second part of the problem is converting 2D to 3D and vice versa. Now, we can say that 2D is essentially 0 FOV. As you approach 0 FOV the "gears" get bigger and bigger and the arc length becomes flatter and flatter (until it is essentially flat/2D). If 0 FOV were to have a Circumference (which is how we determine 3D sensitivity), it would be infinitely long and would turn infinitely slow. But we can't convert with infinity, so this idea fails. However, infinitely slow doesn't mean the gear is not moving. 0 FOV is still in sync with every other FOV. So we know that it is possible to convert 2D-3D. But how?
The solution to this is that the arc length for 0 FOV and the chord length that each Field of View shares is exactly the same distance. Therefore, we don't need to calculate the circumference of 0 FOV, we can just use its chord length (which is what the calculator uses anyway). If we are converting from 3D to 2D we use the circumference to calculate the chord length and if we are converting from 2D to 3D we use the chord length to calculate circumference.
This, I believe, is the solution to reworking Viewspeed. None of this overcomplication.