美文网首页STK Components二次开发
STK组件基础篇:三维入门

STK组件基础篇:三维入门

作者: 奔跑伯爵 | 来源:发表于2019-05-14 20:54 被阅读0次

上篇文章介绍了如何在控制台程序中调用STK组件开发包,这篇文章将介绍如何在窗体程序中嵌入Insight3D模块,显示出三维地球。

1. Insight3D模块简介

Insight3D模块和STK软件里的3D显示使用了相同的底层代码。从2018r3版开始,Insight3D只支持64位的Windows系统,之前的旧版本是有32位的。

  • Insight3D模块需要操作系统上已安装好Windows Media Player,桌面系统默认已安装好,如果是Windows Server版本的操作系统,最简单的方式是安装上“Desktop Experience”包。
  • Insight3D模块对显卡有一定的要求,最好是能支持OpenGL3.0的独立显卡,如果是性能不好的集成显卡,运行时会有卡顿、重影等现象。显卡驱动也要装好。
  • Insight3D模块主体是用C++编写,运行依赖与Visual C++ 2017再发行包,STK组件开发包中已经带了vc2017再发行包的安装包,名称是vc_redist.x64.exe,使用Insight3D前需要先安装上这个程序。

2. 在窗体程序中使用Insight3D模块

  1. 新建窗体程序:在Visual Studio 2019中新建一个C#语言的窗体程序(WinForm),名称为Example002,框架:4.6。

    • 重命名Form1.cs文件为Example002.cs,类Form1重命名为Example002
    • 添加licenses.licx文件,添加方法可参考上一篇教程
  2. 项目平台改为64位:在Visual Studio 2019的主菜单中依次打开生成->配置管理器...,在弹出窗口中,在Example002行的平台列,新建一个x64项,如下图所示:

    项目平台改为64位
  3. 添加Insight3D模块引用:为项目添加对AGI.Foundation.Graphics.dll文件的引用。然后检查项目文件是否齐全:

    正确的项目结构
  1. 添加代码:打开Example002.cs文件,在构造函数调用InitializeComponent()之后添加三行代码即可,如下所示:
using AGI.Foundation.Graphics;
using System.Windows.Forms;

namespace STKComponentsTutorials
{
    public partial class Example002 : Form
    {
        private Insight3D insight3D;
        public Example002()
        {
            InitializeComponent();

            insight3D = new Insight3D();
            insight3D.Dock = DockStyle.Fill;
            this.Controls.Add(insight3D);
        }
    }
}
  1. 运行代码:编译并运行代码,如果一切操作正确,将出现如下一个三维地球的界面:
    程序运行界面

3. 小结

Insight3D模块拥有强大的功能,此篇文章相当于它的Hello world版,后续文章会逐步介绍它的其它功能。

源代码地址

https://github.com/icgp/STKComponentsTutorial/tree/master/Example002

相关文章

  • STK组件基础篇:三维入门

    上篇文章介绍了如何在控制台程序中调用STK组件开发包,这篇文章将介绍如何在窗体程序中嵌入Insight3D模块,显...

  • STK组件基础篇:开发入门

    本文及后续系列文章主要采用STK组件的.Net版本作为开发包。 1. 获取开发包 正常的获取途径是访问AGI官网,...

  • STK组件基础篇:时间

    1. 单位 STK组件采用国际单位制: 2. 时间和时间标准 我们日常生活中常用的是加了时区的协调世界时,在科学计...

  • STK组件基础篇:外部数据

    为了能使计算更加准确,需要在STK组件中引入一些外部数据,例如跳秒数据、地球自转参数(EOP)等。AGI的官方FT...

  • STK组件基础篇:坐标与旋转

    AGI.Foundation.Coordinates命名空间中提供了各种平移和旋转坐标类型。这些类型提供了以通用n...

  • STK组件模式:求值器Evaluator

    STK组件在整个库中广泛使用“求值器模式”。STK组件中的任何计算几乎都使用了求值器模式。求值器通常表示时间的函数...

  • 干货博客集

    基础 webpack4.x 入门一篇足矣 react组件通信方式汇总 vue组件之间的通信 原生小程序组件通信 w...

  • STK组件功能简介

    STK Components(后续直译为STK组件)提供两个版本的算法库:Java版和.Net版,功能完全一致,其...

  • dart入门潜修系列教程

    dart入门潜修基础篇之基本语法和内置类型dart入门潜修基础篇之方法dart入门潜修基础篇之操作符dart入门潜...

  • SpringBoot入门建站全系列(七)日志组件的使用

    SpringBoot入门建站全系列(七)日志组件的使用 前面六篇已经对SpringBoot的基础用做了介绍,日常项...

网友评论

    本文标题:STK组件基础篇:三维入门

    本文链接:https://www.haomeiwen.com/subject/qvweaqtx.html