zoukankan      html  css  js  c++  java
  • ArcGlobe组件开发之动画1——动画的两种实现方式

    动画的实现方式主要有两种:IAnimationTrack和ICamera。

    一、Animation

    (1)、基于关键帧

    (2)、设置每个关键帧的ImeStamp来确定播放时间(该帧占总播放时间的百分比)

    (3)、便于使用,集成了视频输出接口。可输出.AVI

    二、Camera

    两个位置

    - Observer:Camera所在的位置
    - Target:Camera所指向的位置
    • 获取位置
    - GetObserverLatLonAlt
    - GetTargetLatLonAlt
    • 设置位置
    - SetObserverLatLonAlt
    - SetTargetLatLonAlt

    - 注意:这两个方法所设置的高度的单位必须是千米

    • 实现方式
    - 通过设置GlobeCamera的Observer和Target来控制视角。
    - 使用Timer控制来控制时间。
    • 特点:
    - 麻烦!
    - 可精确控制,实现Animation所不能实现的功能

    三、ArcGlobe中的导航模式

    (1)ArcGlobe下的导航模式是通过 使用照相机对象实现的。所有 3D 视图都对应一个包含观察点位置(observer,照相机在3D视图中的位置)和目标位置(Target,   即照相机对准的3D点)的照相机。

    (2)所有的3D导航方法都是通过控制以XYZ表示的Observer和Targeter的位置来实现的。

    - 移动观察点位置来从不同角度查看同一点。
    - 移动目标位置来从同一个位置查看其他点。
    - 同时移动观察点和目标位置可以在 3D 视图中飞行或移动到全新区域。

    四、综合比较两种方式,基于Camera的实现方法较为精确,但是较为复杂,需要不停的变换Observer和Targeter的位置。基于Animation的方法则创建关键帧,通过控制 播放时间来实现动画。接下来的博文将分别介绍基于以上两种方法所实现的动画。




  • 相关阅读:
    .net core 3.1 新增过滤器(Filter)和拦截器(LogInterceptor)
    .net core 3.1 新增log4net 和 NLog
    .net core 3.1 jwt token授权
    IdentityServer4 之 Resource Owner Password Credentials 其实有点尴尬
    IdentityServer4 之Client Credentials走起来
    Hive 窗口函数sum() over()求当前行和前面n条数据的和
    机器学习-线性规划(LP)
    机器学习-KNN算法
    flume整合kafka
    学习kafka自己发生的几个小错误记录
  • 原文地址:https://www.cnblogs.com/giser-whu/p/3707073.html
Copyright © 2011-2022 走看看