admin 管理员组文章数量: 887021
【基于STK Components(STK组件)的.Net4.5编程】之[SatelliteVisibility.sln]卫星可见性计算
项目代码及swf录制视频下载地址:
【带运行效果录屏】卫星可见性计算(基于STKComponents组件编程).zip-其它文档类资源-CSDN下载
Code is everything!直接上代码:
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;
//Add using directives for STK Components namespaces:
using AGI.Foundation;
using AGI.Foundation.Access;
using AGI.Foundation.Access.Constraints;
using AGI.Foundation.Celestial;
using AGI.Foundation.Coordinates;
using AGI.Foundation.Geometry;
using AGI.Foundation.Graphics;
using AGI.Foundation.Graphics.Advanced;
using AGI.Foundation.Platforms;
using AGI.Foundation.Propagators;
using AGI.Foundation.Time;
namespace SatelliteVisibility
{
public partial class Form1 : Form
{
// for user input values.
public double longitude;
public double latitude;
public double minimumElevationAngle;
public TwoLineElementSet tle;
public JulianDate startDate;
public JulianDate endDate;
// for animation.
public ModelPrimitive satellite;
public MarkerBatchPrimitive facility;
public PolylinePrimitive orbitLine;
public PolylinePrimitive accessLine;
public List<Cartesian> orbitPoints;
// for access computation and animation update.
public Platform satellitePlatform;
public Platform facilityPlatform;
public PointEvaluator satellitePositionEvaluator;
public AxesEvaluator satelliteOrientationEvaluator;
public PointEvaluator facilityInertialEvaluator;
public TimeIntervalCollection accessIntervals;
public Insight3D Insight3D;
public struct ViewingOpportunity
{
public GregorianDate StartDate;
public GregorianDate EndDate;
public double ApproachAzimuth;
public double DepartureAzimuth;
}
public Form1()
{
InitializeComponent();
//JSLS添加
Insight3D = new Insight3D();
Insight3D.Location = new System.Drawing.Point(8, 8);
Insight3D.Name = "Insight3D";
Insight3D.Size = new Size(752, 752); //三维地球视图的尺寸大小,需要调试运行时调整
tabPage_Visualization.Controls.Add(Insight3D);
}
private void Form1_Load(object sender, EventArgs e)
{
//获取地球中心体——我们需要它来计算接近和离开的方位角,卫星在地球参考系中的位置,以及卫星的方向轴。
EarthCentralBody earth = CentralBodiesFacet.GetFromContext().Earth;
// 从[hs601.mdl]创建 卫星对象
satellite = new ModelPrimitive("hs601.mdl");
satellite.ReferenceFrame = earth.InertialFrame;
orbitLine = new PolylinePrimitive(PolylineType.LineStrip, SetHint.Frequent);
orbitLine.ReferenceFrame = earth.InertialFrame;
accessLine = new PolylinePrimitive(PolylineType.Lines, SetHint.Frequent);
accessLine.ReferenceFrame = earth.InertialFrame;
// 用[facility.png]创建标记以表示场景中的设施
facility = new Mar
本文标签: 组件 见性 Components STK 卫星
版权声明:本文标题:【基于STK Components(STK组件)的.Net4.5编程】之[SatelliteVisibility.sln]卫星可见性计算 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725943666h896637.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论