This document summarizes iPhone augmented reality capabilities and existing apps. It discusses the history of VR/AR including work by Sutherland and Nintendo. Existing AR apps mentioned include Theolodite, DishPointer, and Layar. The AR Drone is described as an iPhone-controlled remote flyer. Baby steps to building AR apps are outlined from a basic "Hello World" to adding positioning, orientation sensors and tagging landmarks. Challenges with accuracy and battery life are noted. The potential for transitioning to a full 3D virtual world is discussed.
Geolocation and Mapping in PhoneGap applicationsIvano Malavolta
Geolocation and Mapping in PhoneGap applications
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
AUGMENTED, ASSESSED, ADDRESSED: REFRAMING THE CURRICULA FOR FIRST YEAR STEM S...debbieholley1
There is a particular challenge with engaging technically motivated STEM students with ‘softer skill’ development, despite clear evidence from employers that these skills are highly desirable. In the UK, Higher Education Institutes response has been to require undergraduate courses to contain an element of Personal Development Planning (PDP)[1]. Our paper directly addresses the issue of trying to engage students from Computer and Gaming courses with their PDP. Previous experiences of teaching these cohorts traditionally report low attendance and poor completion rates, impacting on first year/second year progression. This study reports on work reframing the curricula for this essential aspect of the student learning experience, by offering the students realistic and authentic tasks by ‘flipping’ the classroom. This requires them to work in small groups, selecting, designing and then creating an augmented reality artefact using ‘Aurasma’[2], a free software tool for developing augmented reality objects. We note that the co-design process of curriculum development has enhanced student engagement; student completion rates have significantly increased, and class attendance improved.
Connecting Apple’s iPhone To Google’s cloudjonmarimba
Cloud computing and software development for handheld devices are two very hot technologies that are increasingly being combined to create hybrid solutions. In this class, you’ll learn how to connect Google App Engine (Google’s cloud com- puting offering) with the iPhone, Apple’s mobile platform. You’ll also see how to use the open-source library, TouchEngine, to dynamically control applica- tion data on the iPhone by connecting to the App Engine cloud and caching that data for offline use.
Geolocation and Mapping in PhoneGap applicationsIvano Malavolta
Geolocation and Mapping in PhoneGap applications
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
AUGMENTED, ASSESSED, ADDRESSED: REFRAMING THE CURRICULA FOR FIRST YEAR STEM S...debbieholley1
There is a particular challenge with engaging technically motivated STEM students with ‘softer skill’ development, despite clear evidence from employers that these skills are highly desirable. In the UK, Higher Education Institutes response has been to require undergraduate courses to contain an element of Personal Development Planning (PDP)[1]. Our paper directly addresses the issue of trying to engage students from Computer and Gaming courses with their PDP. Previous experiences of teaching these cohorts traditionally report low attendance and poor completion rates, impacting on first year/second year progression. This study reports on work reframing the curricula for this essential aspect of the student learning experience, by offering the students realistic and authentic tasks by ‘flipping’ the classroom. This requires them to work in small groups, selecting, designing and then creating an augmented reality artefact using ‘Aurasma’[2], a free software tool for developing augmented reality objects. We note that the co-design process of curriculum development has enhanced student engagement; student completion rates have significantly increased, and class attendance improved.
Connecting Apple’s iPhone To Google’s cloudjonmarimba
Cloud computing and software development for handheld devices are two very hot technologies that are increasingly being combined to create hybrid solutions. In this class, you’ll learn how to connect Google App Engine (Google’s cloud com- puting offering) with the iPhone, Apple’s mobile platform. You’ll also see how to use the open-source library, TouchEngine, to dynamically control applica- tion data on the iPhone by connecting to the App Engine cloud and caching that data for offline use.
Keeping Track of Moving Things: MapKit and CoreLocation in DepthGeoffrey Goetz
Adding a Map to an App and recording a User’s location as they use the App has become a common must have feature in may of todays popular applications. This presentation will go over the APIs for accomplishing such tasks including map annotations, dragging and dropping custom pins as well as delve into some of the finer aspects of the required location based calculations one needs to consider to find the center of the map or the distance between two points. Additionally the presentation will go over techniques to update a MapView with a moving object as well as positioning the image for the object properly along its heading. This will be a straight forward hands on development presentation with plenty of code examples.
Core Location and Map Kit: Bringing Your Own Maps [Voices That Matter: iPhone...Chris Adamson
The iPhone SDK provides a nearly-complete toolkit for navigation and travel applications. Its Core Location framework uses a variety of technologies to pinpoint your location, direction, and orientation, while Map Kit easily serves up map images to show where you are. But there's a missing piece: what's nearby and how to get to it. This middle step, which Apple refers to as "bringing your own maps", is what your app needs in order to provide local search and turn-by-turn directions. In this presentation, we'll look at how iPhone apps can use third-party mapping APIs like MapQuest, Google Maps, NAVTEQ, and Bing, and how to connect between Core Location, geodata, and Map Kit.
Como desarrollar una App estilo Uber para el mercado Mexicano. Se explicaran el uso de frameworks de websockets, geolocalización, pagos y más.
Fernando Gutiérrez Lozano (@fernando_gl_) y Salvador Rodríguez Dávila (@srdzdv)
Mouse Scroll Control Add Zoom functionality perspective pr.pdfaashisha5
Mouse Scroll Control- Add Zoom functionality (perspective projection zoom) in your program using
Mouse Scroll Control.
Implement Perspective Projection Zoom Functionality, by creating a mouse scroll movement
variable in the OpenGL Perspective Projection method call (glm::perspective) from the main
method.
E.g. glm::mat4 projection = glm::perspective(toRadian*45.0f, (float)myWindow.getBufferWidth() /
(float)myWindow.getBufferHeight(), 0.1f, 100.0f);
Note: Replace the RED-colored constant with a variable (toRadian*ScrollMovement). i.e. After
converting the scroll variable value in radians, perform the Zoom-in operation for clockwise scroll
rotation, and zoom-out operation for anti-clockwise scroll rotation. Restrict the scroll variable value
in the range [5.0f to 89.0f degrees]
I need coing in C++ only..
Want to squeeze every last bit of performance out of your apps? I will show you how to let go of using Interface Builder to create better performing, more optimized, and leaner apps. I'll walk you through why it's better, how to create and move projects off of IB, building your UI in code, and how to gain a better understanding of how your code works from the ground up.
More Related Content
Similar to 203 Is It Real or Is It Virtual? Augmented Reality on the iPhone
Keeping Track of Moving Things: MapKit and CoreLocation in DepthGeoffrey Goetz
Adding a Map to an App and recording a User’s location as they use the App has become a common must have feature in may of todays popular applications. This presentation will go over the APIs for accomplishing such tasks including map annotations, dragging and dropping custom pins as well as delve into some of the finer aspects of the required location based calculations one needs to consider to find the center of the map or the distance between two points. Additionally the presentation will go over techniques to update a MapView with a moving object as well as positioning the image for the object properly along its heading. This will be a straight forward hands on development presentation with plenty of code examples.
Core Location and Map Kit: Bringing Your Own Maps [Voices That Matter: iPhone...Chris Adamson
The iPhone SDK provides a nearly-complete toolkit for navigation and travel applications. Its Core Location framework uses a variety of technologies to pinpoint your location, direction, and orientation, while Map Kit easily serves up map images to show where you are. But there's a missing piece: what's nearby and how to get to it. This middle step, which Apple refers to as "bringing your own maps", is what your app needs in order to provide local search and turn-by-turn directions. In this presentation, we'll look at how iPhone apps can use third-party mapping APIs like MapQuest, Google Maps, NAVTEQ, and Bing, and how to connect between Core Location, geodata, and Map Kit.
Como desarrollar una App estilo Uber para el mercado Mexicano. Se explicaran el uso de frameworks de websockets, geolocalización, pagos y más.
Fernando Gutiérrez Lozano (@fernando_gl_) y Salvador Rodríguez Dávila (@srdzdv)
Mouse Scroll Control Add Zoom functionality perspective pr.pdfaashisha5
Mouse Scroll Control- Add Zoom functionality (perspective projection zoom) in your program using
Mouse Scroll Control.
Implement Perspective Projection Zoom Functionality, by creating a mouse scroll movement
variable in the OpenGL Perspective Projection method call (glm::perspective) from the main
method.
E.g. glm::mat4 projection = glm::perspective(toRadian*45.0f, (float)myWindow.getBufferWidth() /
(float)myWindow.getBufferHeight(), 0.1f, 100.0f);
Note: Replace the RED-colored constant with a variable (toRadian*ScrollMovement). i.e. After
converting the scroll variable value in radians, perform the Zoom-in operation for clockwise scroll
rotation, and zoom-out operation for anti-clockwise scroll rotation. Restrict the scroll variable value
in the range [5.0f to 89.0f degrees]
I need coing in C++ only..
Want to squeeze every last bit of performance out of your apps? I will show you how to let go of using Interface Builder to create better performing, more optimized, and leaner apps. I'll walk you through why it's better, how to create and move projects off of IB, building your UI in code, and how to gain a better understanding of how your code works from the ground up.
Similar to 203 Is It Real or Is It Virtual? Augmented Reality on the iPhone (20)
12. From zero to hero: starting with the
“View based application” template
and ending with a tagged landmark
• Hello (Augmented) World
• Picture Level (rotation about 1 axis)
• Artificial Horizon (rotation about 2 axes)
• Artificial Horizon + Compass (add cardinal
direction / translation)
• GPS Locator: tagging a landmark (add
location / translation)
13. Baby steps to a better reality :
Hello (Augmented) World
• Goal: Overlay some text onto the live
camera image
• UIImagePicker + overlay
• Step 1: collect underwear
r3
15. Picture (er, shopping cart) Level
• Goal: Overlay a level bar on the center of
the live camera view
• Requires: real time info regarding the
rotation of the camera about the Z-axis
• Adds UIAccelerometer
r7
17. #pragma mark UIAccelerometerDelegate
- (void)accelerometer:(UIAccelerometer *)accelerometer
didAccelerate:(UIAcceleration *)acceleration;
{
double angle = -atan2(acceleration.y, acceleration.x) - M_PI/2.0;
double angleInDeg = angle * 180.0f/M_PI;
[label setText: [NSString stringWithFormat:@"Angle: %f", angleInDeg]];
overlayGraphicView.transform = CGAffineTransformMakeRotation(angle);
}
Video will go here
18. Artificial Horizon
• Goal: Keep the bar on the horizon (not just
level)
• Compensate for rotation along x-axis
• Need to know field of view of camera to
find horizon position
• ~53 degrees vertical
• ~37.5 degrees horizontal
r8
19. iPhone View Angles
53 Degrees Vertical*
37.5 Degrees Horizontal
*Close to this, but not exactly on the iPhone 4
23. GPS Hotel Locator
• Goal: Speakers must find Hotel in any (um)
state, so we’ll tag it for them.
• Add GPS location with
CLLocationManager
• Compensate for “the hotel is over there
and I’m looking over here”
24. In other words:
Given the position of the hotel, the position of
the iPhone, and the direction the iPhone is pointing,
we want to know the cardinal direction of the
hotel relative to the iPhone’s pointing direction
and the elevation of the hotel relative the iPhone’s
pointing direction in order to overlay a label
onto the hotel in real time.
27. Gotchas
• GPS and compass haven’t enough accuracy
to place advertisements or labels on near
objects.
• On a “bad day” your iPhone’s version of
“here” might be a 1/2 kilometer circle
around a cell tower... or worse.
• Location updates will drain battery...
Quickly.
• But the dream is alive.
28. “Best practices... ” or “stuff we noticed
making a demo AR app”
• Don’t try to tag a near object, inaccuracies
compound as you near the target.
• Check altitude / location accuracy: Phone
can’t get altitude w/o good GPS fix. See
documentation for accuracy (check for -1)
• The broad side of the barn is easier to hit.
• Bottom line: “here” isn’t here, yet.
32. AV Foundation
• Allows processing of the frame before
display
• Very complicated to setup
• Check out the WWDC samples and video
33. What’s next?
• Smoothing / Filtering Sensor Data (wobble
wobble)
• Full-on 3D AR world -- Dancing hippos in
swimming pools with Dolphins...
• Image tracking to mitigate the swings
•?
• Profit!
34. How we might transition to
a Full virtual 3D World
• Need useful local coordinate system to
map onto OpenGL; we’re pretty close with
the demo code, actually.
• Match OpenGL transform matrices with
current position relative to some scene we
might want to add to the real world,
camera parameters; GLULookAt...
• Need to not mind that compositing could
be very slow...
35. ARKit :
Existing AR Toolkit for iPhone
• http://github.com/zac/iphonearkit/
• Marker based
• Simple CoreLocation - based data model
• Hasn’t been updated for a while
36. What counts as AR?
• Video with... ?
• Overlay?
• Must be Interactive?
• GPS?
• Modify the virtual environment?
37. AR News Sources
• Bruce Sterling’s Beyond the Beyond blog
http://www.wired.com/
beyond_the_beyond/
• Tish Shute:
http://www.ugotrade.com/
• Twitter streams:
@anselm, @bruces, @tishshute, @brady
• O’Reilly Radar:
http://radar.oreilly.com