Sekundarni povzetek: |
There are many ways to display nearby points of interest (POI) on mobile devices. One of more interesting is augmented reality, where a camera preview is displayed on the screen and a marker is overlaid over it for each of these points of interest, pointing in it's direction. In order to show these markers we need to calculate their screen coordinates.
The location of each POI is defined with it's latitude, longitude and altitude. First, we need to convert these coordinates to the real world coordinate system (with its center at the device's location). In order to do this, we need the device's current location, which we can get via GPS or other locator (e.g. triangulation ob GSM cells and/or wi-fi access points). For the next step, we need the device's orientation, which we can get from the acceleration (returns a vector, pointing at the ground) and magnetic field (returns a vector pointing at magnetic north) sensors. Using these vectors, we can calculate the rotational matrix, which we can than use to transform the point of interest's real world coordinates to the device coordinate system. From these, we can get the screen coordinates. For these final transformation we need to know the camera's angle of view.
In these thesis we began with an overview of existing application and platforms using the described way of displaying points of interest. Some of these are Layar and Wikitude (applications with a large collection of POI, but with cluttered interfaces), Android-AR-Kit (a poor shot at implementing a library) and Mixare (open source application with a well designed interface and backend, designed to display POI from custom data sources or applications).
One thing that is missing, is a quality library, so we developed one in these thesis. Our library, developed for the Android system, offers grater flexibility than the existing platforms (Layar, Wikitude, Mixare) at displaying POI, responding to user clicks and notifying user of background activities. We also present the application Odpiralni Časi, using our library with real world data. |