已知望远镜焦距、相机画幅,求视场
1. 计算
θ 1 , θ 2 , θ 3 \theta_1,\theta_2,\theta_3 θ1,θ2,θ3 分别表示横、纵和对角向视场角直径,单位:弧度
d 1 , d 2 , d 3 d_1,d_2,d_3 d1,d2,d3 表示相机横、纵和对角向画幅,单位:毫米
f f f 表示望远镜焦距,单位:毫米
θ 1 = 2 t a n − 1 ( d 1 2 f ) \theta_1 = 2tan^{-1}(\frac{d_1}{2f}) θ1=2tan−1(2fd1)
θ 2 = 2 t a n − 1 ( d 2 2 f ) \theta_2 = 2tan^{-1}(\frac{d_2}{2f}) θ2=2tan−1(2fd2)
近似计算为:
θ 1 = d 1 / f \theta_1=d_1/f θ1=d1/f
θ 2 = d 2 / f \theta_2=d_2/f θ2=d2/f
2. 代码:
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cmath>
#define pi 3.14159
using namespace std;
double theta[5];
double d[5];
double f;
double chord(double x,double y){
return sqrt(x*x+y*y);
}
int main(){
scanf("%lf%lf%lf",&f,&d[1],&d[2]);
d[3]=chord(d[1],d[2]);
theta[1]=2*atan(d[1]/(2*f));
theta[2]=2*atan(d[2]/(2*f));
theta[3]=2*atan(d[3]/(2*f));
for(int i=1;i<=3;i++)
printf("%.5lf\n",theta[i]*180/pi);
return 0;
}
3. 输入格式
三个以空格或换行符隔开的小数 f , d 1 , d 2 f,d_1,d_2 f,d1,d2, 与“计算”中含义相同。
4. 输出格式
共三行,分别是 θ 1 , θ 2 , θ 3 \theta_1,\theta_2,\theta_3 θ1,θ2,θ3 的角度表示。
5. 输入样例
480
17.7 13.4
注:表示裕众60ed apo 和 asi1600MM pro (4/3画幅).
6. 输出样例
2.11254
1.59940
2.64949
7. 软件模拟
将望远镜和相机参数录入 S t e l l a r i u m Stellarium Stellarium 软件,如图所示:
读者可以自行尝试。
8. 实地观测
暂待后续更新
9. 参考资料
HG的天文小屋
昴星团摄星队