公司观点

公司观点

  • 2024年8月23日

    图观引擎 低代码开发案例 | 航天领域 - ISS 国际空间站

    产品介绍

    航天领域作为数字冰雹最早进入并深耕的行业应用场景,已经拥有近20年的技术、经验积累,并先后参与了悟空暗物质探测卫星、墨子卫星、天和核心舱、长征5号、嫦娥5号、嫦娥6号等多个航天科研项目,一路见证我国航天强国征程的辉煌成就,我们感到无上荣耀和自豪。

    多年来,数字冰雹始终没有停下在航天领域技术探索和创新的脚步,我们在航天领域的技术积累不仅体现在具体的航天项目中,还凝结在图观 低代码开发平台中。

    今天为大家分享的“ISS 国际空间站”低代码开发应用案例,是通过调用图观引擎 低代码范例构建而成的,旨在帮助每一位开发者们可以快捷构建各种航天器数字孪生应用,进一步提升开发效率和质量。

    国际空间站(International Space Station,简称ISS)自1998年11月20日发射以来,已成为人类在太空中最长久和最重要的科学实验平台之一。ISS 在地球上空约400公里的近地轨道上运行,这个庞大的结构由多个舱段组成,包括居住舱、实验舱和功能舱,承载着科学研究、技术试验以及国际合作的重大使命。

    在 ISS 国际空间站应用案例中,我们将图观低代码开发平台 在航天器控制方面的关键功能进行了充分展示,针对航天任务的精细化要求,数字冰雹 图观引擎具备强大的物理材质渲染和配置能力,从广袤的宇宙空间环境,到航天器上细微的一颗螺丝钉,都可以实现高精细度、高还原度的仿真效果。提供满足实际业务需求的功能接口,基于低代码开发范例,实现了实时同步的环境光照控制、通过数据驱动进行动作姿态控制、卫星运行视野跟随等丰富功能,可高效快捷构建航天数字孪生应用。

    整个 ISS 国际空间站应用案例的构建,我们简单拆分为两个重要环节:

    • 数字孪生场景构建:涵盖 精细化航天器三维模型材质、关节编辑,高还原度的太空环境、光照等效果编辑等;
    • 数字孪生应用低代码开发:涵盖复杂模型对象控制、镜头控制、交互控制、现实效果控制等功能的开发。

    图观引擎 提供全云化的场景编辑器、场景服务器,具备强大的 PBR 物理材质渲染和配置能力,可以导入自己的三维模型/基础地图数据,轻松进行效果强化、数据绑定逻辑定义等工作,并通过 场景服务器,发布为场景服务供二次开发调用或网页浏览。

    • 航天器精密外观结构,高精细度渲染还原

    基于图观引擎 强大的PBR(物理材质渲染)材质编辑和渲染能力,实现了 ISS 航天器装备精密细节显示,高精度还原航天器的材质、纹理细节、机械结构、零部件、传感器等复杂外观结构细节,能够精确展示航天器装备的结构和功能

    图观 场景编辑器 支持 基本颜色、光泽度、金属度、粗糙度、半透明、自发光、环境反射、玻璃特性、水面特性、涂层特性、材质绘制深度变换、贴图坐标动画等大量强大材质编辑能力,预制海量材质库,经过细致的材质属性编辑,可实现无限接近真实的视觉效果。

    • 太空环境视景仿真,实时环境光照同步

    具备强大的空间环境仿真能力,支持场景时间控制,可以根据航天器运行的位置,精确计算、模拟任意时间的环境日照状态;能够与真实世界时间数据绑定,并可依据星历计算地球、太阳等太阳系中主要星体的精确位置、轨道,对地球光照受自身曲率影响的遮挡关系计算、太阳直射光角度计算、环境散射光亮度仿真计算,呈现逼真的太空视景环境、航天器环境光照、反射等效果,辅助在不同环境条件下测试、评估航天器的性能,极大增强场景真实性和实用性。

    图观 场景编辑器 具备强大场景光影效果配置能力,支持精细光照、主光源、环境光、辅助光源等属性配置,支持对光源颜色、角度、强度进行所及即所得编辑,支持环境光照贴图,支持定义阴影范围、质量,能够精确调整光源的照射方向,真实模拟不同光源的角度和投影效果,显著提升航天器孪生体对象的真实感和视觉效果。

    • 航天器动作姿态数据驱动,精细关节控制

    基于图观引擎一系列关节控制功能,支持对场景中的航天器孪生体对象发送控制指令,并实时监测航天器动作姿态,在状态数据改变后,相应改变航天器对象在场景中的状态显示,不仅可以通过数据驱动实时呈现航天器的姿态和复杂动作,还可实时远程控制的航天器对象的各个关节,模拟其在空间中的运动和操作,提供更高的操作灵活性和准确性。

    1.机械臂关节姿态控制
    支持精确控制机械臂各个关节的运转方向以及升降动作,动态模拟航天器实际操作变化,提供高度的精确性和灵活性。

    2.太阳能板、遮阳板姿态控制

    支持精确的角度设置和微调,动态复现太阳能板、遮阳板角度调整操作,真实反映不同姿态角度下的光照情况。

    当场景配置完成后,可一键发布为云服务,支持网页浏览和二次开发调用。


    图观统一开发API,针对典型业务开发所需接口都进行了良好封装,提供数百项实战化 Javascript 开发接口,兼容当前主流的 JavaScript 前端框架,开发人员无需额外学习复杂的三维图形图像开发技术,也无需掌握 C++等三维开发语言,仅需要了解 Javascript 即可快速上手开发。无需再进行每项功能的代码编写,直接引用代码范例,在配套调试工具中进行低代码修改测试,即可便捷进行复杂功能的扩展开发,大幅降低开发门槛和技术难度。

    • 时间控制

    图观统一开发 API 预置了时间控制代码范例,可以通过设置时间,实现不同的光照效果。使用 setEnvTime 这个方法,传入 envTime 时间参数(可以是具体的时间点如"12:00")实现对应时间点的光照效果,duration 光照切换时长 以控制光照效果从当前状态平滑过渡到目标状态的时间,提供更自然的真实的视觉体验。

    let jsonData = {
      envTime: ,
      envDate: ,
      fixedTime: false,
      alwayForward: false,
      duration: ,
    };
    
    appInstance.uniCall(, jsonData, (result) => {
      .log(result);
    });


    关于环境光照的API 接口详细介绍,可在图观官网地址:


    https://www.tuguan.net/doc/tg-api/?manual.global.specialControl.operation查阅。

    • 模型对象控制

    针对航天器对象的关节姿态控制,图观统一开发 API 预置了丰富且全面的接口范例,涵盖场景模型改变姿态、改变样式、关节设置、动画控制等 丰富的 模型对象控制 开发接口,支持对 场景模型对象的 聚焦、点击等交互事件的截取,以及添加自定义处理逻辑,助力用户轻松实现复杂业务需求。

    例如,关节控制需要先使用 getModelArticulation 方法获取模型关节,之后使用 setModelArticulation 方法设置三维场景中模型关节数据,通过引用这些代码示例,根据需求少量修改代码参数,就可以轻松实现对三维场景中模型关节的精确控制。

    let jsonData = {
     id: 'modelId1',
     layerId: "layerId",
    };
    appInstance.uniCall('getModelArticulation', jsonData, (result) => {
     console.log(result);
    });

    let jsonData = {
      id: ,
      layerId: ,
      duration: ,
      data: [
        {
          articulation: ,
          type: ,
          value: ,
        },
      ],
    };
    appInstance.uniCall(, jsonData, (result) => {
      .log(result);


    这里我们简单给大家介绍了几个常用的方法,更多关于模型关节和动画操作的方法指令可在图观官网地址:


    https://www.tuguan.net/doc/tg-api/?manual.model.default.jointanimation查阅。


    • 镜头控制

    图观引擎 提供镜头视野聚焦、镜头视野控制、镜头漫游、镜头路径移动、镜头环绕旋转等多类镜头聚焦 多类开发接口,支持对 镜头视野的 聚焦起始结束、漫游起始结束、路径移动起始结束等镜头事件的截取,以及添加自定义处理逻辑,助力用户轻松实现复杂业务需求。

    首先镜头控制功能可以自动跟踪特定目标或区域,获取最佳视角,确保航天器始终在监控范围内,减少频繁手动调整视角的时间和精力,帮助观测人员专注于关键任务操作,以更好地监控航天器设备的运行状态和过程,确保监测任务的持续性和准确性

    在 ISS 国际空间站案例中,我们可以看到示例标注了“镜头跟随模型-自身”和“镜头跟随模型-世界”和“环绕”三种功能范例:

    1.镜头跟随模型-自身

    镜头跟随模型-自身,是指将视野镜头固定聚焦在模型对象上,模型的相对视角保持不变,随模型的移动和旋转进行相应的变动,也可称为“第一人称视角”。

    这里我们是通过 setModelTransform2 方法,设置模型镜从一个点位移到另一个点位的路径、持续时长,通过开启 followingCamera 镜头跟随模型方法,来实现镜头的移动。

    let jsonData = {
      modelId: ,
      distance: ,
      distanceMin: ,
      distanceMax: ,
      pitch: ,
      heading: ,
      relative: ,
    };
    
    appInstance.uniCall(, jsonData, (result) => {
      .log(result);
    });


    2.镜头跟随模型-世界

    镜头跟随模型-世界,是指视野镜头跟随模型在世界坐标系中的位置移动,但模型本身的方向变化不会改变镜头的朝向,用于需要关注模型在世界中的位置变化,也可称为“第三人称视角”。

    通过设置 relative 参数为 'world' 或 'self' 来实现不同的镜头视角的相对位置,可以灵活切换镜头是相对世界固定 还是 相对模型固定,在镜头跟随模型-世界模式下,鼠标可以支持环绕模型旋转和缩放,提供高度灵活的交互控制功能。

    3.镜头环绕

    “镜头环绕”功能允许镜头以模型为中心点,按照设定的俯仰角和旋转角实现旋转或环绕操作,我们可以通过简单的参数修改,实现从多个角度观察模型。

    镜头环绕旋转的代码参数,通过调用 rotateCamera 这个方法。通过修改相机开启的状态、镜头飞行一周所用时间、是否可以被打断、以及镜头的飞行方向等参数,灵活调整镜头环绕旋转的速度和方向。

    let jsonData = {
      enabled: true,
      duration: ,
      direction: ,
      interruptable: true,
    };
    
    appInstance.uniCall(, jsonData, (result) => {
      .log(result);
    });

    比如我们想将镜头的旋转速度调快,可将 duration 参数调小,数值越小,速度越快;想要暂停旋转,将 enabled 参数改为 false。

    关于镜头控制操作的更多方法指令和详细介绍,可在图观官网地址:https://www.tuguan.net/doc/tg-api/?manual.global.camera.operation 查阅。


    • 时间轴控制

    在 ISS 国际空间站案例中,基于航天器轨道飞行数据,提供了一个可视化的时间轴界面,可以通过拖动时间轴 或 点击标记地点,自动将航天器视景状态切换到当时其所在的地理位置及环境状态,实现从全球视角快速平滑切换到特定国家或地区上空的视景,提供更加便捷的交互体验。


    配合图观统一 API 调试器,可帮助您省去使用程序开发 IDE 搭建环境、运行程序的繁琐步骤,基于统一开发API示例代码,在线轻松测试图观已经发布的场景服务、标绘点/线/面数据、生成模拟代码,操作所见所见即所得,助您快速掌握开发技能。

发送项目合作需求

*您所代表的公司(必填)
*您的姓名或称谓(必填)
*您的联系方式(必填)
邮箱地址
商务合作所属行业领域
项目所在地
*详细商务合作描述(必填)
所有提交信息,我们会严格为您保密
数字冰雹 数字冰雹