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的方法则创建关键帧,通过控制 播放时间来实现动画。接下来的博文将分别介绍基于以上两种方法所实现的动画。




  • 相关阅读:
    创意吃鱼法
    雅礼上课
    坏掉的项链Broken Necklace
    2018-04-02练习
    【11月12日】Hadoop架构
    【11月10日】Redis 主从复制技术
    【11月10日】Redis 缓存系统常见问题及解决方案
    【11月9日】Redis 持久化
    【11月7日】Redis核心对象和数据类型
    【11月7日】Redis简介
  • 原文地址:https://www.cnblogs.com/giser-whu/p/3707073.html
Copyright © 2011-2022 走看看