Augmented Reality for Android Application Development
Table of Contents
Augmented Reality for Android Application Development
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Augmented Reality Concepts and Tools
A quick overview of AR concepts
Sensory augmentation
Displays
Registration in 3D
Interaction with the environment
Choose your style â sensor-based and computer vision-based AR
Sensor-based AR
Computer vision-based AR
AR architecture concepts
AR software components
AR control flow
System requirements for development and deployment
Installing the Android Developer Tools Bundle and the Android NDK
Installing JMonkeyEngine
Installing VuforiaTM
Which Android devices should you use?
Summary
2. Viewing the World
Understanding the camera
Camera characteristics
Camera versus screen characteristics
Accessing the camera in Android
Creating an Eclipse project
Permissions in the Android manifest
Creating an activity that displays the camera
Setting camera parameters
Creating SurfaceView
Live camera view in JME
Creating the JME activity
Creating the JME application
Summary
3. Superimposing the World
The building blocks of 3D rendering
Real camera and virtual camera
Camera parameters (intrinsic orientation)
Using the scenegraph to overlay a 3D model onto the camera view
Improving the overlay
Summary
4. Locating in the World
Knowing where you are â handling GPS
GPS and GNSS
JME and GPS â tracking the location of your device
Knowing where you look â handling inertial sensors
Understanding sensors
Sensors in JME
Improving orientation tracking â handling sensor fusion
Sensor fusion in a nutshell
Sensor fusion in JME
Getting content for your AR browser â the Google Places API
Querying for POIs around your current location
Parsing the Google Places APIs results
Summary
5. Same as Hollywood â Virtual on Physical Objects
Introduction to computer vision-based tracking and VuforiaTM
Choosing physical objects
Understanding frame markers
Understanding natural feature tracking targets
VuforiaTM architecture
Configuring VuforiaTM to recognize objects
Putting it together â VuforiaTM with JME
The C++ integration
The Java integration
Summary
6. Make It Interactive â Create the User Experience
Pick the stick â 3D selection using ray picking
Proximity-based interaction
Simple gesture recognition using accelerometers
Summary
7. Further Reading and Tips
Managing your content
Multi-targets
Cloud recognition
Improving recognition and tracking
Advanced interaction techniques
Summary
Index
Augmented Reality for Android Application Development
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2013
Production Reference: 1191113
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-855-3
www.packtpub.com
Authors
Jens Grubert
Dr. Raphael Grasset
Reviewers
Peter Backx
Glauco MĂĄrdano
Acquisition Editor
Kunal Parikh
Owen Roberts
Commissioning Editor
Poonam Jain
Technical Editors
Monica John
Siddhi Rane
Sonali Vernekar
Copy Editors
Brandt D'Mello
Sarang Chari
Tanvi Gaitonde
Gladson Monteiro
Sayanee Mukherjee
Adithi Shetty
Project Coordinator
Sherin Padayatty
Proofreader
Simran Bhogal
Indexer
Rekha Nair
Production Coordinator
Alwin Roy
Cover Work
Alwin Roy
Jens Grubert is a researcher at the Graz University of Technology. He has received his Bakkalaureus (2008) and Dipl.-Ing. with distinction (2009) at Otto-von-Guericke University Magdeburg, Germany. As a research manager at Fraunhofer Institute for Factory Operation and Automation IFF, Germany, he conducted evaluations of industrial Augmented Reality systems until August 2010. He has been involved in several academic and industrial projects over the past years and is the author of more than 20 international publications. His current research interests include mobile interfaces for situated media and user evaluations for consumer-oriented Augmented Reality interfaces in public spaces. He has over four years of experience in developing mobile Augmented Reality applications. He initiated the development of a natural feature tracking system that is now commercially used for creating Augmented Reality campaigns. Furthermore, he is teaching university courses about Distributed Systems, Computer Graphics, Virtual Reality, and Augmented Reality.
Website: www.jensgrubert.com.
Dr. Raphael Grasset is a senior researcher at the Institute for Computer Graphics and Vision. He was previously a senior researcher at the HIT Lab NZ and completed his Ph.D. in 2004. His main research interests include 3D interaction, computer-human interaction, augmented reality, mixed reality, visualization, and CSCW. His work is highly multidisciplinary; he has been involved in a large number of academic and industrial projects over the last decade. He is the author of more than 50 international publications, was previously a lecturer on Augmented Reality, and has supervised more than 50 students. He has more than 10 years of experience in Augmented Reality (AR) for a broad range of platforms (desktop, mobile, and the Web) and programming languages (C++, Python, and Java). He has contributed to the development of AR software libraries (ARToolKit, osgART, and Android AR), AR plugins (Esperient Creator and Google Sketchup), and has been involved in the development of numerous AR applications.
Website: www.raphaelgrasset.net.
Peter Backx has an MoS and a PhD. in Computer Sciences from Ghent University. He is a software developer and architect. He uses technology to shape unique user experiences and build rock-solid, scalable software.
Peter works as a freelance consultant at www.peated.be and shares his knowledge and experiments on his blog www.streamhead.com.
Glauco MĂĄrdano is a 22-year-old who lives in Brazil and has a degree in Systems Analysis. He has worked for two years as a Java web programmer and he is now studying and getting certified in Java.
He has reviewed the jMonkeyEngine 3.0 Beginners Guide book.
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub....