一、最终画面

二、程序代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace wx
{ public partial class Form1 : Form{  public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){ //计算半长轴a:double a_sqrt;a_sqrt = double.Parse(textBoxa.Text);//输入半长轴的平方根double a = a_sqrt * a_sqrt;String Sa = "" + a;textBoxa_1.Text = Sa.ToString();//计算运动的平均角速度n:double ln;ln = double.Parse(textBoxln.Text);//输入摄动改正数double u = double.Parse(textBoxu.Text);//输入椭球引力常数double n0 = Math.Pow(u / Math.Pow(a, 3), 0.5);//二次根号下u比三次根号下adouble n = n0 + ln;//n=n0+lnString Sn = "" + n;textBoxn.Text = Sn.ToString();  //计算归划时间double toe = double.Parse(textBoxtoe.Text);//星历基准时间double toc = double.Parse(textBoxtoc.Text);//秒数据double t1 = double.Parse(textBoxt1.Text);//观测时间t1double a0 = double.Parse(textBoxa0.Text);//卫星中飘参数double a1 = double.Parse(textBoxa1.Text);double a2 = double.Parse(textBoxa2.Text);// 计算卫星钟差,a0+a1*(t1-toc)+a2*((t1-toc)*(t1-toc))double lt = a0 + a1 * (t1 - toc) + a2 * ((t1 - toc) * (t1 - toc));double t = t1 - lt;double tk = t - toe;String Stk = "" + tk;textBoxtk.Text = Stk.ToString();//计算真近点角Vkdouble M0 = double.Parse(textBoxM0.Text);//平近点角M0double e1 =double.Parse(textBoxe1.Text);//轨道离心率e1double Mk = M0 + n * tk;//观测时刻平近点角MkString SMk = "" + Mk;textBoxMk.Text = SMk.ToString();double Ek_old = Mk;double Ek_new = Mk + e1 * Math.Sin(Ek_old);//Ek=Mk+e1*SinEkint i = 1;//迭代求解Ewhile (Math.Abs(Ek_new - Ek_old) > 10e-8){Ek_old = Ek_new;Ek_new = Mk + e1 * Math.Sin(Ek_old);i += 1;if (i > 10)break;}double Ek = Ek_new;//Ek_new为最终解,即偏近点角String SEk = "" + Ek;textBoxEk.Text = SEk.ToString();//计算真近点角Vkdouble Vk1 = (Math.Pow(1 - e1 * e1, 0.5) * Math.Sin(Ek)) / (1 - e1 * Math.Cos(Ek));double Vk2 = (Math.Cos(Ek) - e1) / (1 - e1 * Math.Cos(Ek)); double Vk;if (Vk2 == 0){if (Vk1 > e1)Vk = Math.PI / 2;elseVk = -Math.PI / 2;} else {Vk = Math.Atan(Vk1/Vk2);if (Vk2<0) { if (Vk1 >= 0){ Vk += Math.PI; }else { Vk -= Math.PI; } }}String SVk = "" + Vk;textBoxVk.Text = SVk.ToString();//计算升交距角u0double w = double.Parse(textBoxw.Text);//近地点角距wdouble u0 = Vk + w;String Su0 = "" + u0;textBoxu0.Text = Su0.ToString();//计算经过摄动改正的升交距角uk,卫星的地心距离rk,轨道倾角ikdouble Crs = double.Parse(textBoxCrs.Text);//六个摄动改正参数double Crc = double.Parse(textBoxCrc.Text);double Cuc = double.Parse(textBoxCuc.Text);double Cus = double.Parse(textBoxCus.Text);double Cic = double.Parse(textBoxCic.Text);double Cis = double.Parse(textBoxCis.Text);double i0 = double.Parse(textBoxi0.Text);//参考时刻toe的轨道倾角double I = double.Parse(textBoxI.Text);//I为轨道倾角i的变化率//计算摄动改正项double u_k = Cus * Math.Sin(2 * u0) + Cuc * Math.Cos(2 * u0);double r_k = Crs * Math.Sin(2 * u0) + Crc * Math.Cos(2 * u0);double i_k = Cis * Math.Sin(2 * u0) + Cic * Math.Cos(2 * u0);String Su_k = "" + u_k;textBoxu_k.Text = Su_k.ToString();String Sr_k = "" + r_k;textBoxr_k.Text = Sr_k.ToString();String Si_k = "" + i_k;textBoxi_k.Text = Si_k.ToString();double uk = u0 + u_k;//摄动改正后的升交距角double rk = a * (1 - e1 * Math.Cos(Ek)) + r_k;//摄动改正后的卫星矢径double ik = i0 + i_k + I * tk;//摄动改正后的轨道倾角String Suk = "" + uk;textBoxuk.Text = Suk.ToString();String Srk = "" + rk;textBoxrk.Text = Srk.ToString();String Sik = "" + ik;textBoxik.Text = Sik.ToString();//卫星的轨道平面直角坐标double xk = rk * Math.Cos(uk);double yk = rk * Math.Sin(uk);String Sxk = "" + xk;textBoxxk.Text = Sxk.ToString();String Syk = "" + yk;textBoxyk.Text = Syk.ToString();//坐标转换double omega = double.Parse(textBoxomega.Text);//参考时刻toe时的升交点赤经double omega0 = double.Parse(textBoxomega0.Text);//升交点经度的变化率double we = double.Parse(textBoxwe.Text);//we地球自转角速度double L = omega0 + omega * (t - toe) - we * t;String SL = "" + L;textBoxL.Text = SL.ToString();//计算卫星在地固系下坐标double xk1 = xk * Math.Cos(omegak) - yk * Math.Cos(ik) * Math.Sin(omegak);double yk1 = xk * Math.Sin(omegak) + yk * Math.Cos(ik) * Math.Cos(omegak);double zk1 = yk * Math.Sin(ik);String Sxk1 = "" + xk1;textBoxxk1.Text = Sxk1.ToString();String Syk1 = "" + yk1;textBoxyk1.Text = Syk1.ToString();String Szk1 = "" + zk1;textBoxzk1.Text=Szk1.ToString();}private void Form1_Load(object sender, EventArgs e) {}private void button2_Click(object sender, EventArgs e){double a_sqrt;a_sqrt= 5153.7127704599998;String Sa_sqrt = "" + a_sqrt;textBoxa.Text = Sa_sqrt.ToString();double ln;ln = 4.1115998360700002e-009;String Sln = "" + ln;textBoxln.Text = Sln.ToString();double u;u = 3.986005e14;String Su = "" + u;textBoxu.Text = Su.ToString();double a0, a1, a2;a0 = 0.00028600683435800001;a1 = 1.7053025658199999e-012;a2 = 0;String Sa0 = "" + a0;String Sa1 = "" + a1;String Sa2 = "" + a2;textBoxa0.Text = Sa0.ToString();textBoxa1.Text = Sa1.ToString();textBoxa2.Text = Sa2.ToString();double toc;double toe;toc = 0.00000000000000000;toe = 0.00000000000000000;String Stoc = "" + toc;String Stoe = "" + toe;textBoxtoc.Text = Stoc.ToString();textBoxtoe.Text = Stoe.ToString();double t1;t1 = 4800.0;String St1 = "" + t1;textBoxt1.Text = St1.ToString();double M0;M0 = 1.2263973009600000;String SM0 = "" + M0;textBoxM0.Text = SM0.ToString();double e1;e1 = 0.0053100715158500003;String Se1 = "" + e1;textBoxe1.Text = Se1.ToString();double w;w = -1.6819446292500000;String Sw = "" + w;textBoxw.Text = Sw.ToString();double Crs, Crc, Cuc, Cus, Cic, Cis;Crs = -105.43750000000000;Crc = 175.34375000000000;Cuc = -5.5264681577700003e-006;Cus = 1.1192634701700000e-005;Cic = -9.6857547759999998e-008;Cis = -7.8231096267699997e-008;String SCrs = "" + Crs;String SCrc = "" + Crc;String SCuc = "" + Cuc;String SCus = "" + Cus;String SCic = "" + Cic;String SCis = "" + Cis;textBoxCrs.Text = SCrs.ToString();textBoxCrc.Text = SCrc.ToString();textBoxCuc.Text = SCuc.ToString();textBoxCus.Text = SCus.ToString();textBoxCic.Text = SCic.ToString();textBoxCis.Text = SCis.ToString();double i0, I;i0 = 0.97432927738800001;I = 1.8643633724999999e-010;String Si0 = "" + i0;String SI = "" + I;textBoxi0.Text = Si0.ToString();textBoxI.Text = SI.ToString();double omega, omega0,we;omega = -7.7124641122299999e-009;omega0 = -2.9080127721900002;we = 7.2921151467e-5;String Swe = "" + we;String Somega = "" + omega;String Somega0= "" + omega0;textBoxomega.Text = Somega.ToString();textBoxomega0.Text = Somega0.ToString();textBoxwe.Text = Swe.ToString();}}
}

卫星位置计算(C#版1.0).exe文件及源码下载连接:https://download.csdn.net/download/weixin_47062907/19390603

卫星位置计算(C#版2.0).exe文件及源码下载连接:https://download.csdn.net/download/weixin_47062907/19390650

卫星位置计算小程序(C#版)相关推荐

  1. GPS卫星位置计算(卫星位置计算小程序)java版

    目录 一.准备以及结果图 二.数据 三.计算 四.全部代码 附: 一.准备以及结果图 软件:eclipse(2020-6版本)带有WindowBuilder插件 编程语言:Java 结果图: 二.数据 ...

  2. 卫星位置计算基础讲解

    目录 写在前面 广播星历解读 计算基本原理 源代码及计算结果 总结 写在前面 本篇博文用于充实个人分类专栏"GNSS课程",同时希望能够对有需要的朋友有所帮助. 教材采用<G ...

  3. 微信小程序横版日历,tab栏

    代码地址如下: http://www.demodashi.com/demo/14243.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.c ...

  4. 同城跑腿小程序开源版开发

    同城跑腿小程序开源版开发 同城跑腿小程序,支持帮取.帮送模式,包含用户端.骑手端.运营后台,支持一键接单/抢单, 为跑腿团队提供技术解决方案,无加密源码,可私有化部署. 功能特性,为你介绍同城跑腿小程 ...

  5. 小程序 a标签_微慕WordPress小程序增强版V2.0新版上线

    2020年7月10日,我进行了一场微信小程序的直播,直播主题:微慕小程序增强版v2.0版新功能说明, 在直播里对微慕增强版v2.0版全面阐述了新版本增加的功能. 微慕小程序增强版定位是使用wordpr ...

  6. stm32CAN波特率计算小程序(QT源码)

    软件:Qt Creator 开发环境:Window7 用qt做得一个计算波特率的小程序,在实际的应用中我们设置波特率的时候是通过以下参数来定的: CAN_InitStructure.CAN_SJW=C ...

  7. textarea支持a标签_微慕小程序开源版A标签优化说明

    微慕WordPress小程序所有版本里,对于文章详情里文字内容的解析,都是通过开源组件:wxParse:不过这个组件已经停止维护,微慕小程序在这个组件上做了一些优化,让文章里文字在小程序显示更加完美. ...

  8. 微信小程序开发笔记2——如何发布小程序体验版

    如何发布微信小程序体验版 学习链接:https://blog.csdn.net/futruejet/article/details/53224408 -- 至此完毕,更多精彩请看下一笔记. 转载于:h ...

  9. 小程序 pc版 缓存路径_WordPress版微信小程序3.5版发布

    最近花时间对WordPress版微信小程序做了一些完善和调整,修复不少程序的问题.一个程序的完善是持续和渐进的,没有最好,只有更完善.虽然会采纳一些用户的建议和意见,但我会从一个产品角度去考虑,哪些功 ...

最新文章

  1. DBCP2配置详细说明(中文翻译)
  2. 【代码实现接口测试】Requests库
  3. C#获取摄像头拍照显示图像
  4. CPU虚拟化的常见技术
  5. 研究员告警:严重漏洞影响数千万台IoT设备,可远程查看实时音视频并接管设备...
  6. 微软欲对Silverlight进行部分开源(转载)
  7. 基于arcpy包在arcmap里面实现图层的随机选取
  8. Cassandra启动过程详解
  9. python 输出数据到excel设置超链接及格式设置
  10. 21天学习挑战赛之Java网络编程(二)
  11. 友盟push java_友盟U-Push推送与获取状态
  12. 采用STM32外部中断模式控制LED灯亮灭
  13. 传智播客 PHP+H5全栈工程师课程大纲
  14. MyMPC·暴风影音 Unicode 4.10.07 简体中文版
  15. Cocos2dx使用ios内支付IAP详细流程-白白
  16. 网络通信之LTE概念
  17. 中荷两国税收征管及信息化实践比较研究
  18. 阅读笔记:Universal Domain Adaptation through Self-Supervision
  19. js去掉html中的注释
  20. 王宝强离婚成了谁的狂欢?——通过阿里云·数加严肃解读数据背后的媒体传播路径...

热门文章

  1. 微机中的实际地址、物理地址、有效地址、逻辑地址之间的区别
  2. 解决IDEA输出乱码问题
  3. c函数itoa和atoi实现
  4. Python通过MQTT协议上传物联网数据给ThingsBoard
  5. ext2和ext3的主要区别
  6. Component(组件)的创建
  7. 定义一个名为Cylinder类表示圆柱,它继承Circle类
  8. dubbo(5) Dubbo源码解析之服务调用过程
  9. 利用Echarts制作地图(一)
  10. 软件体系结构描述与建模