Do you have source?

]]>vec3 rotateAxis(vec3 p, vec3 axis, float angle) {

return mix(dot(axis, p)*axis, p, cos(angle)) + cross(axis,p)*sin(angle);

}

=DEGREES(2*ATAN(0.5*1/ThrowRatio))

Where Throw Ratio = distance/width. Cheers!

]]>Thank you!:) ]]>

mat3 rotAxis(vec3 axis, float a) {

float s=sin(a);

float c=cos(a);

float oc=1.0-c;

vec3 as=axis*s;

mat3 p=mat3(axis.x*axis,axis.y*axis,axis.z*axis);

mat3 q=mat3(c,-as.z,as.y,as.z,c,-as.x,-as.y,as.x,c);

return p*oc+q;

} ]]>

Resolution is in pixels, projection distance and screen size just need to be in the same units and then you’ll then get results in those units…

]]>