买天文望远镜必看——已知望远镜焦距、相机画幅,求视场(附代码,实时更新)

已知望远镜焦距、相机画幅,求视场

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=2tan1(2fd1)

θ 2 = 2 t a n − 1 ( d 2 2 f ) \theta_2 = 2tan^{-1}(\frac{d_2}{2f}) θ2=2tan1(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的天文小屋
昴星团摄星队

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值