计算某点(L,B)沿子午线到赤道的弧长(公式和java源码)

该博客介绍了如何计算某点沿子午线到赤道的弧长,提供了基于卡拉索夫斯基椭球参数的Java源码实现,并引用了高斯-勒让德法求积分。博客内容包括公式展示、算法实现和一个四分之一子午线长度的验证示例。
摘要由CSDN通过智能技术生成

公式:看图片。

源码:

class gethc
{

  int n;
  double pi,y,e,ff;
  if (k<0.0) k=-k;
  if (k>1.0) k=1.0/k;
  pi=3.1415926; y=Math.abs(f);
  n=0;
  while (y>=pi)
  { n=n+1; y=y-pi;}
  e=1.0;
  if (y>=pi/2.0)
  { n=n+1; e=-e; y=pi-y;}
  if (n==0)
  ff=ek(k,y);
  else
  { ff=ek(k,pi/2.0);
  ff=2.0*n*ff+e*ek(k,y);
  }
  if (f<0.0) ff=-ff;
  return(ff);
 }
 //ek(double2)高斯-勒让德法求积分
 double ek(double k,double f)
  {
  int m,i,j;
  double s,p,ep,h,aa,bb,w,xx,g,q;
  final double[] t={-0.9061798459,-0.5384693101,0.0,
  0.5384693101,0.9061798459};//5介勒让德多项式在区间[-1,1]上的5个零点值
  final double[] c={0.2369268851,0.4786286705,0.5688888889,
  0.4786286705,0.2369268851};//对应的求积系数
  m=1; g=0.0;
  h&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值