C语言计算某纬度一点的子午圈和卯酉圈半径1/2

C语言计算某纬度一点的子午圈和卯酉圈半径

1.输入纬度,计算子午圈和卯酉圈半径。

输入1,选为国际75椭球。输入纬度12°34′56″,计算出来子午圈半径为6338193.296米,卯酉圈半径为6379063.053米。
在这里插入图片描述
输入方位角为21°43′6″,该点的曲率半径为6343412.766米。
在这里插入图片描述

2.部分源代码

#include<stdio.h>
#include<math.h>
#define guoji75_a 6378140.00
#define guoji75_b 6356755.2881575287
#define PI 3.1415926535897932
#define keshi_a 6378245.0
#define keshi_b 6356863.0187730473

double zwqqlbj (int w[],double a,double b)
{
	double B,M,e1;
	e1 = (sqrt((a * a) - (b * b))) / a;
	B = (w[0] + (w[1] / 60) + (w[2] / 3600)) * PI /180;
	******
	return M;
}

double myqqlbj(int w[],double a,double b)
{
	double B,N,e1;
	e1 = (sqrt((a * a) - (b * b))) / a;
	B = (w[0] + (w[1] / 60) + (w[2] / 3600)) * PI /180;
	*****
	return N;
}
double ryfjhqlbj(int w[],double M,double N)
{
	double A,R;
	A = (w[0] + (w[1] / 60) + (w[2] / 3600)) * PI/ 180;
	******
}
double zwxhc(int w[],int tuoqiu)
{
	double X,B;
	B = (w[0] + (w[1] / 60) + (w[2] / 3600)) * PI /180;
	if(tuoqiu==1)
		X=111133.005*B*180/PI-16038.528*sin(2*B)+16.833*sin(4*B)-0.022*sin(6*B);
	if(tuoqiu==2)
		X=111134.861*B*180/PI-16036.48*sin(2*B)+16.828*sin(4*B)-0.022*sin(6*B);
	return X;
}

main()
{
	double a, e1,e2,M,N,R,_a,_b,A,B,X,P,x1,x2;
	int weidu[3],fangweijiao[3],L1[3],L2[3],B1[3],B2[3],weidu1[3],weidu2[3];
	int i,fg;
	printf("请输入计算所用的椭球(国际75椭球请输1,克氏椭球请输2,回车结束。):\n\n");
	scanf_s("%d",&fg);
	if(fg==1)
	{
		_a=guoji75_a;
		_b=guoji75_b;
	}
	else if(fg==2)
	{
		_a=keshi_a;
		_b=keshi_b;
	}

	printf("请输入某点的纬度(度分秒之间用空格隔开,按回车结束):\n\n");
	for(i=0;i<3;i++)
		scanf_s("%d",&weidu[i]);

	M = zwqqlbj(weidu,_a,_b);
	printf("纬度为%d°%d′%d″处子午圈曲率半径M=%f米\n\n",weidu[0],weidu[1],weidu[2],M);

	N = myqqlbj(weidu,_a,_b);
	printf("纬度为%d°%d′%d″处卯酉圈曲率半径N=%f米\n\n",weidu[0],weidu[1],weidu[2],N);
	
	X=zwxhc(weidu,fg);
	printf("从赤道到纬度为%d°%d′%d″的子午线弧长为%f米\n\n",weidu[0],weidu[1],weidu[2],X);

	printf("请输入一个方位角(度分秒之间用空格隔开,按回车结束):\n\n");
	for(i=0;i<3;i++)
		scanf_s("%d",&fangweijiao[i]);
	
	R = ryfjhqlbj(fangweijiao,M,N);
	printf("纬度%d°%d′%d″处方位角为%d°%d′%d″方向的曲率半径为:%f米\n\n",weidu[0],weidu[1],weidu[2],fangweijiao[0],fangweijiao[1],fangweijiao[2],R);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peter_young1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值