Difference between revisions of "Magic Lens"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Project Goals)
(TO DO)
 
(27 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
===Significant Updates===
 
===Significant Updates===
* February 27: Implemented view-frustum updating on andriod client with accordance to motion trackers.
+
* June 6: Implemented core functionality based on "Generalized Perspective Projection, Robert Kooima, August 2008"
 +
 
 +
* May 7: Enabled camera position and perspective manipulation on android client with accordance to motion trackers.
 +
 
 +
* April 26: Sample camera tracking manipulation tested on viewer on desktop.
 +
 
 +
* March 12: Enabled camera position manipulation on android client with accordance to motion trackers.
 +
 
 +
* February 27: Implemented view-frustum updating on android client with accordance to motion trackers.
  
 
* Februrary 26: Resolved several TCP/IP packet/connection issues and began transforming android client using values passed from dtrack.
 
* Februrary 26: Resolved several TCP/IP packet/connection issues and began transforming android client using values passed from dtrack.
Line 18: Line 26:
  
 
===TO DO===
 
===TO DO===
* Develop a way to pan around the object in space using the trackers.
+
* Tweak current rotation functionality.
 +
* Enable headtracking to alter the perspective of view on android.
 +
* Enable debugging or simulator mode for android to display data and enable default position.
 
* <s>Figure out what dtrack values are scaled to</s>
 
* <s>Figure out what dtrack values are scaled to</s>
 
* <s>Pass/Calculate rotation values to client-side (Android) version of Magic Lens</s>
 
* <s>Pass/Calculate rotation values to client-side (Android) version of Magic Lens</s>
Line 24: Line 34:
  
 
===Known Bugs/Issues===
 
===Known Bugs/Issues===
* Connection Issues - Needs to open up firewall permissions (port 28888) on the computer before being able to connect
+
* Current version allows the camera to rotate incorrectly.
** Computers that can connect using MagicLens:
+
* Connection Issues  
***Gneiss - 137.110.119.202 (Default)
+
** Needs to open up firewall permissions (port 28888) on the computer before being able to create a connectable server
***Rubble - 137.110.119.176
+
** Server connection hangs if Android client is not forcibly quit before CalVR closes (Workaround: '''Always force close Android client before closing CalVR''')
***Shale  - 137.110.118.124
+
  
 
==Additional Information==
 
==Additional Information==
Line 36: Line 45:
 
* Heading tracking and replicating displaced object on device
 
* Heading tracking and replicating displaced object on device
 
* Expand to interaction and application with Archaeological artifacts
 
* Expand to interaction and application with Archaeological artifacts
 +
* Communication between other plugins
 +
  
 
===Developers===
 
===Developers===
Line 47: Line 58:
  
 
===Resources===
 
===Resources===
 +
 +
'''Computers that can connect using MagicLens:'''
 +
 +
*Gneiss - xxx.xxx.119.202
 +
*Rubble - xxx.xxx.119.176 (Android Application Default)
 +
*Shale  - xxx.xxx.118.124
 +
 
'''Local'''
 
'''Local'''
 +
* Starting and Stoping Dtrack commands
 +
** ps -ef | grep trackd
 +
** /home/calvr/trackd start
 +
** /home/calvr/trackd stop
 
* Dtrack Memory Location
 
* Dtrack Memory Location
 
** /usr/local/trackd/etc/trackd.conf
 
** /usr/local/trackd/etc/trackd.conf
Line 53: Line 75:
 
** file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7  
 
** file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7  
 
'''Online'''
 
'''Online'''
* [http://beej.us/guide/bgipc/output/html/multipage/shm.html Accessing Shared Memory Locations]
+
 
 
* [http://developer.android.com/reference/packages.html Android API]
 
* [http://developer.android.com/reference/packages.html Android API]
 
* [http://www.isotton.com/devel/docs/C++-dlopen-mini-HOWTO/C++-dlopen-mini-HOWTO.html Open Dynamic Libraries]
 
* [http://www.isotton.com/devel/docs/C++-dlopen-mini-HOWTO/C++-dlopen-mini-HOWTO.html Open Dynamic Libraries]
 
* [http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/CameraControl OSG Camera Control Tutorial]
 
* [http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/CameraControl OSG Camera Control Tutorial]
 +
* [http://www.cs.utah.edu/~thompson/vissim-seminar/on-line/CruzNeiraSig93.pdf CAVE Paper]

Latest revision as of 14:18, 13 June 2013

Contents

Project Overview

The project is building upon the work found in the prior project ArtifactVis with Android Device. The goal of MagicLens is to allow the user to use an android device as a "magical lens" to view the world. The device will update its perspective on the world depending on its location in the world. Additonally head tracking will affect how the world is displayed depending on how it is viewed by the user.


Significant Updates

  • June 6: Implemented core functionality based on "Generalized Perspective Projection, Robert Kooima, August 2008"
  • May 7: Enabled camera position and perspective manipulation on android client with accordance to motion trackers.
  • April 26: Sample camera tracking manipulation tested on viewer on desktop.
  • March 12: Enabled camera position manipulation on android client with accordance to motion trackers.
  • February 27: Implemented view-frustum updating on android client with accordance to motion trackers.
  • Februrary 26: Resolved several TCP/IP packet/connection issues and began transforming android client using values passed from dtrack.
  • February 14: Implemented necessary library functions from dtrack API (Angles, Position Matrices, etc.). Allowed access to shared memory location in order to pull values from the Sensors to the server.
  • Feburary 12 : Enabled access to dtrack on MagicLens CalVR plugin. MagicLens can now track and interpret movement of sensors based on dtrack's given orientation/rotation values.
  • Feburary 1 : Client-end(Android Device) can now handle custom IP addresses.
  • January 18 : Configured workspace and OpenSceneGraph for android.

TO DO

  • Tweak current rotation functionality.
  • Enable headtracking to alter the perspective of view on android.
  • Enable debugging or simulator mode for android to display data and enable default position.
  • Figure out what dtrack values are scaled to
  • Pass/Calculate rotation values to client-side (Android) version of Magic Lens
  • Add the rotation matrices to Scene Graph, and watch the magic happen!

Known Bugs/Issues

  • Current version allows the camera to rotate incorrectly.
  • Connection Issues
    • Needs to open up firewall permissions (port 28888) on the computer before being able to create a connectable server
    • Server connection hangs if Android client is not forcibly quit before CalVR closes (Workaround: Always force close Android client before closing CalVR)

Additional Information

Project Goals

  • A sophisticated and intuitive user experience
  • Tracking device panning and replicating movement on CalVR
  • Heading tracking and replicating displaced object on device
  • Expand to interaction and application with Archaeological artifacts
  • Communication between other plugins


Developers

Software Developer

  • Tony Chan
  • Michael Chao

Project Advisor

  • Jurgen Schulze


Resources

Computers that can connect using MagicLens:

  • Gneiss - xxx.xxx.119.202
  • Rubble - xxx.xxx.119.176 (Android Application Default)
  • Shale - xxx.xxx.118.124

Local

  • Starting and Stoping Dtrack commands
    • ps -ef | grep trackd
    • /home/calvr/trackd start
    • /home/calvr/trackd stop
  • Dtrack Memory Location
    • /usr/local/trackd/etc/trackd.conf
  • Plugin Helper Functions
    • file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7

Online