卫星工具软件 STK(Satellite Tool Kit,STK)是航天领域中先进的系统分析软件,由美国分析图形有限公司(Analytical Graphics Inc,AGI)研制,用于分析复杂的陆地、海洋、航空及航天任务。它可提供逼真的2维、3维可视化动态场景以及精确的图表、 告等多种分析结果。支持卫星寿命的全过程,在航天飞行任务的系统分析、设计制造,测试发射以及在轨运行等各个环节中都有广泛的应用,对于军事遥感卫星的战场监测、覆盖分析、打击效果评估等方面同样具有极大的应用潜力。
主要功能:
1)分析能力:计算卫星在任何时刻的位置和姿态,卫星或地面站遥感器的覆盖区域;
2)生成轨道:提供卫星轨道生成向导,帮助用户建立常见轨道,如地球同步轨道、近地轨道等;
3)可见性分析:计算空间对象间的访问时间并在二维地图窗口中动画显示,可以在对象间增加几何约束条件(如可视范围、最小仰角等)来进行细节上的仿真;
4)可视化计算结果:可以显示所有以时间为单位的信息,对任务场景变化等具备多窗口实时显示能力;
5)全面的数据 告:STK可以提供超过一百种的文字或图表形式的 告信息,用户可以为自己关心的对象定制 告。
osgearth 仿真平台模拟了STK卫星仿真基本功能,可以加载多达上万颗卫星,也可以加载STK仿真轨迹来加载卫星。仿真效果如下图所示:、
图1 stk仿真图像
图2 osgearth仿真三维
图3 osgearth 仿真二维
图4 osgearth 仿真三维
图5 二维
图6 三维
图7 2维
关键代码:
osg::Geode* line_gnode = new osg::Geode;
osg::ref_ptr<:vec3array>vectex = new osg::Vec3Array;
osg::ref_ptr<:vec4array>color = new osg::Vec4Array;
osg::ref_ptr<:geometry>gemo = new osg::Geometry;
double delta = 25;
//在两点间插25个值
for (int i = 0; i {
osg::Vec3d temp;
//经纬度
temp.x() = start.x() + (end.x() – start.x()) * (i / delta);
temp.y() = start.y() + (end.y() – start.y()) * (i / delta);
temp.z() = start.z() + (end.z() – start.z()) * (i / delta);
vectex->push_back(LngLatHeight2XYZ(temp));
}
for (int i = 0; i size(); i++)
{
color->push_back(Color);
}
//画线
gemo->setVertexArray(vectex);
gemo->setColorArray(color);
//此句影响绘制效率
gemo->setColorBinding(osg::Geometry::BIND_OVERALL);
gemo->addPrimitiveSet(new osg::DrawArrays(GL_LINE_STRIP, 0, vectex->size()));
//灯光
gemo->getOrCreateStateSet()->setAttribute(new osg::LineWidth(3.0), osg::StateAttribute::ON);
gemo->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF);
line_gnode->addDrawable(gemo);
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!