Difference between revisions of "CameraFlight"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(CameraFlight - osgEarth Camera Transitions)
(CameraFlight - osgEarth Camera Transitions)
Line 2: Line 2:
  
 
===Project Overview===
 
===Project Overview===
CameraFlight is a plugin for OsgEarth that helps users to navigate OsgEarth. Although the the project is named CameraFlight, the algorithm involves rotating earth and moving earth closer to Camera. There are two types of Navigation; Instant and Satellite. User can choose which algorithm to navigate osgEarth from algorithm sub-menu. Then user can choose one of the predefined destination or go to custom navigation menu and select latitude and longitude of the location and navigate.  
+
CameraFlight is a plugin for OsgEarth that helps users to navigate OsgEarth. Although the the project is named CameraFlight, the algorithm involves rotating earth and moving earth closer to Camera. There are two types of Navigation; Instant and Satellite. User can choose which algorithm to navigate osgEarth from algorithm sub-menu. Then user can choose one of the predefined destination or go to custom navigation menu and select latitude and longitude of the location and navigate. These navigations are time dependent.
* Instant Navigation will show the desired location instantly having user facing down the earth. The algorithm used is by setting the object space matrix to specified matrix that is already saved.
+
* Satellite Navigation is a navigation style that is similar to Google Earth's navigation. It will slowly zoom out and rotate the earth simultaneously and zoom back in to the destination.  
+
  
===Done===
+
===Status===
* Create menu for plugin with algorithm submenu; checkbox entries: instant, satellite, airplane
+
* Created menu for plugin with algorithm submenu entries: instant, satellite.
* Create submenu with list of destinations; for starters just use two destinations to switch between (eg, UCSD and China)
+
* Created checkbox menu with list of predefined destinations. There are 6 predefined location; UCSD, Tokyo, South Pole, Sydney, Rome, Fullerton.
* Implement instant switching: switch to destination position immediately without transition
+
* Created custom destination submenu entries, which user can personally input latitude and longitude of destination and navigate. (works for both instant and satellite algorithm)
 +
* Acquires the variables required to navigate; vectors of destination and current position, angle between the two vectors, and maximum and minimum height.
 +
** Current and destination vectors are calculated by converting latitude and longitude of the location and making height to 0 and normalizing them.
 +
** Using the cross product of the vectors will give us the rotation vector to rotate around.
 +
** Angle between the vectors are calculated by acos((a*b)/(|a|*|b|)).
 +
* Implemented instant navigation: switch to destination position immediately without transition
 +
** The algorithm used for this mode is by setting the object space matrix to specified matrix that is already saved.
 
* Implement satellite mode: like Google Earth's transition mode, ~10 seconds for transition, make this time value configurable in CalVR's configuration file
 
* Implement satellite mode: like Google Earth's transition mode, ~10 seconds for transition, make this time value configurable in CalVR's configuration file
 
** Make sure that the transition's duration is time dependent, not dependent on number of frames rendered
 
** Make sure that the transition's duration is time dependent, not dependent on number of frames rendered
 
** Come up with math/functions for camera height and for angular motion of camera (=rotation of planet)
 
** Come up with math/functions for camera height and for angular motion of camera (=rotation of planet)
 +
 +
 +
** Satellite Navigation is a navigation style that is similar to Google Earth's navigation. It will slowly zoom out and rotate the earth simultaneously and zoom back in to the destination.
 +
 +
  
 
===Milestones===
 
===Milestones===

Revision as of 17:12, 15 March 2012

Contents

CameraFlight - osgEarth Camera Transitions

Project Overview

CameraFlight is a plugin for OsgEarth that helps users to navigate OsgEarth. Although the the project is named CameraFlight, the algorithm involves rotating earth and moving earth closer to Camera. There are two types of Navigation; Instant and Satellite. User can choose which algorithm to navigate osgEarth from algorithm sub-menu. Then user can choose one of the predefined destination or go to custom navigation menu and select latitude and longitude of the location and navigate. These navigations are time dependent.

Status

  • Created menu for plugin with algorithm submenu entries: instant, satellite.
  • Created checkbox menu with list of predefined destinations. There are 6 predefined location; UCSD, Tokyo, South Pole, Sydney, Rome, Fullerton.
  • Created custom destination submenu entries, which user can personally input latitude and longitude of destination and navigate. (works for both instant and satellite algorithm)
  • Acquires the variables required to navigate; vectors of destination and current position, angle between the two vectors, and maximum and minimum height.
    • Current and destination vectors are calculated by converting latitude and longitude of the location and making height to 0 and normalizing them.
    • Using the cross product of the vectors will give us the rotation vector to rotate around.
    • Angle between the vectors are calculated by acos((a*b)/(|a|*|b|)).
  • Implemented instant navigation: switch to destination position immediately without transition
    • The algorithm used for this mode is by setting the object space matrix to specified matrix that is already saved.
  • Implement satellite mode: like Google Earth's transition mode, ~10 seconds for transition, make this time value configurable in CalVR's configuration file
    • Make sure that the transition's duration is time dependent, not dependent on number of frames rendered
    • Come up with math/functions for camera height and for angular motion of camera (=rotation of planet)


    • Satellite Navigation is a navigation style that is similar to Google Earth's navigation. It will slowly zoom out and rotate the earth simultaneously and zoom back in to the destination.


Milestones

  • Implement camera path
  • Implement airplane mode

Participants

Software Developers:

  • William Seo

Project Advisors:

Development Assistance:

  • Philip Weber
  • Andrew Prudhomme

Initial Concept Base:

  • Google Earth