Mobile Augmented Reality Entwicklung einer Smartphone basierten Anwendung Christoph Blut RWTH Aachen...
-
Upload
karoline-flater -
Category
Documents
-
view
223 -
download
3
Transcript of Mobile Augmented Reality Entwicklung einer Smartphone basierten Anwendung Christoph Blut RWTH Aachen...
Mobile Augmented RealityEntwicklung einer Smartphone
basierten Anwendung
Christoph Blut
RWTH Aachen UniversityGeodätisches Institut
Lehrstuhl für Bauinformatik & Geoinformationssysteme
Christoph Blut
Inhaltsverzeichnis
Augmented Reality Mobile Augmented Reality System Polygon Triangulierung Augmented Reality Applikation
2Doktorandenkolloquium 2015
Christoph Blut
Augmented Reality
3Doktorandenkolloquium 2015
Quelle: Wikitude Quelle: Nokia Quelle: Mercedes Quelle: BMW
Christoph Blut
Mobile Augmented Reality System
Nexus 5 Android 5.0.2 Full-HD Display 8 MP Kamera mit optischer Bildstabilisierung 32 GB interner Speicher 2 GB RAM Sensoren
• GPS• Gyroskop• Beschleunigungsmesser• Kompass• Barometer• Halleffekt
4Doktorandenkolloquium 2015
Quelle: Google
Christoph Blut
Datenbasis
<bldg:WallSurface gml:id=„WallSurface_1"> ... <bldg:lod4MultiSurface> <gml:MultiSurface> <gml:surfaceMember> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList count="5" srsDimension="3"> 6.176 3.714 -1.202 ... </gml:posList> </gml:LinearRing> </gml:exterior> …
5Doktorandenkolloquium 2015
City Geography Markup Language (CityGML) Situationsbedingt Level of Detail (LoD)
wählbar
Christoph Blut
Augmented Reality - Anwendungsfälle
6Doktorandenkolloquium 2015
Digitale Bauwerksmodelle Möglichkeiten
• Visualisierung geplanter Bauwerke• Visualisierung historischer Bauwerke
Christoph Blut
Augmented Reality - Anwendungsfälle
7Doktorandenkolloquium 2015
Raum: 23
220 Volt
Raum: 24
Rigips
Digitales Bauwerksmodell / Innenraummodell Georeferenziertes
(Innenraum)Modell• Abruf von
Objektinformationen• Visualisierung verdeckter
Objekte (X-Ray)
Christoph Blut
Mobile AR-System
Komponenten des AR-Systems Datenverarbeitung
• Datenimport• Datenspeicherung• Datenabfrage
Datenvisualisierung• Polygon Triangulierung• Rendering
Tracking• Tracking des AR-Devices im realen 3D-Raum• Positionierung und Ausrichtung der Kamera an
ansprechender Stelle im virtuellen 3D-Raum
8Doktorandenkolloquium 2015
Christoph Blut
Mobile AR-System
Komponenten des AR-Systems Datenverarbeitung
• Datenimport• Datenspeicherung• Datenabfrage
Datenvisualisierung• Polygon Triangulierung• Rendering
Tracking• Tracking des AR-Devices im realen 3D-Raum• Positionierung und Ausrichtung der Kamera an
ansprechender Stelle im virtuellen 3D-Raum
13Doktorandenkolloquium 2015
Christoph Blut
CityGML Polygone
CityGML Polygone sind über Punkte definiert Graphics Processing Unit (GPU) kann nur Dreiecke
zeichnen• CityGML Polygone müssen daher trianguliert
werden
14Doktorandenkolloquium 2015
<gml:surfaceMember><gml:Polygon gml:id="PolyID58718_509_420914_99840">
<gml:exterior> <gml:LinearRing gml:id="PolyID58718_509_420914_99840_0"> <gml:pos>458877 5438358.492403877 3.91317591116654 </gml:pos> <gml:pos>458877.12 5438358.492403877 3.91317591116654 </gml:pos> <gml:pos>458877.12 5438358.498097349 3.95642212862617 </gml:pos> <gml:pos>458877 5438358.498097349 3.95642212862617 </gml:pos> <gml:pos>458877 5438358.492403877 3.91317591116654 </gml:pos> </gml:LinearRing> </gml:exterior>
</gml:Polygon></gml:surfaceMember>
Christoph Blut
Ear Clipping Algorithmus - Aktivitätsdiagramm
15Doktorandenkolloquium 2015
Christoph Blut
Ear Clipping Triangulation
Schritt 1 Voraussetzungen prüfen
• Überschneidungsfreiheit des Polygons• Punkte des Polygons müssen geordnet sein
(gegen den Uhrzeigersinn)
16Doktorandenkolloquium 2015
4
2
18
7
6
53
Christoph Blut
Ear Clipping Triangulation
Schritt 2 Polygon prüfen ob konvex oder konkav
17Doktorandenkolloquium 2015
konvex konkav?
Christoph Blut
Ear Clipping Triangulation
Schritt 3 (Konvexer Fall) Einfache Triangulierung
• Geordnete Punkte der Reihe nach verbinden• Beliebigen Punkt wählen und mit allen anderen
Punkten verbinden, außer den direkten Nachbarn
18Doktorandenkolloquium 2015
konvex
Christoph Blut
Ear Clipping Triangulation
Schritt 3 (Konkaver Fall) Pseudo-Code
while (points.length > 3)earTip = findEarTip()cutEarTip(earTip)classifyPoint(prevNeighbour(earTip))classifyPoint(nextNeighbour(earTip))
19Doktorandenkolloquium 2015
konkav
findEarTip: Finde den ersten konvexen Punkt, für den gilt: Kein anderer Punkt liegt im Dreieck, das sich aus dem Punkt und seinen Nachbarn zusammensetzt. Ignoriere dabei alle konvexen Punkte, da diese nicht im Dreieck liegen können.
cutEarTip(point): Entferne das Ohr vom Polygon und speichere das Dreieck, das sich aus dem Punkt und seinen Nachbarn bildet.
classifyPoint(point): Prüfe ob der Punkt konvex, konkav oder kollinear ist.Gleicher Test, wie oben beschrieben.
Speicher
Christoph Blut
Ear Clipping Triangulation
20Doktorandenkolloquium 2015
konkav
2
3
4
1
7
6
5
8
3
21
4
Christoph Blut
Ear Clipping Triangulation
Spezialfall Polygon (mit Loch)
• Äußerer Ring gegen den Uhrzeigersinn• Innerer Ring im Uhrzeigersinn
Vorgehen des Algorithmus Die inneren Polygone werden mit dem äußeren
Polygon verbunden. Zuerst finde einen geeigneten Punkt des äußeren
Polygons um dieses mit dem Inneren zuverbinden
Benutze den gefunden Punkt nun um zwei neue Kanten einzufügen um das Polygon „aufzuschneiden“.
21Doktorandenkolloquium 2015
konkav
2
3
4
1
7
6
5
8
3
21
4
Christoph Blut
Ear Clipping Triangulation
Spezialfall Polygon (mit multiplen Löchern)
• Dasselbe Verfahren, wie bei einem einzelnen Loch
• Alle Löcher von rechts nach links mit dem äußeren Polygon verbinden
22Doktorandenkolloquium 2015
konkav
2
3
4
1
7
6
5
8
3
21
4
Christoph Blut
Ear Clipping Triangulation
Triangulierung im 3D-Raum (3D-Objekt) Projektion der einzelnen Polygone in 2D-Raum
• Flächennormale des Polygons berechnen und Komponente mit größtem absoluten Wert ignorieren
Triangulierung durchführen Anschließend Rücktransformation in 3D-Raum
23Doktorandenkolloquium 2015
Christoph Blut
Ear Clipping Triangulation
Nachteile Ear Clipping Algorithmus Bei Polygonen mit unregelmäßiger Punktverteilung
können Dreiecke unterschiedlicher Größe entstehen, was zu Grafikfehlern führen kann.
Zeitkomplexität: O(n) [konvex]; O(n²) [konkav]
Optimierung (Offenes Problem) Implementation der Delaunay-Triangulation
• Ziel: Erzeugung eines ausgewogeneren Dreiecksnetzes
• Zeitkomplexität: O(n*log(n))
24Doktorandenkolloquium 2015
Christoph Blut
Stadtmodell Aachen
Testdaten der kompletten StädteRegion Aachen CityGML-Modelle (LoD-2)
• 8 Städte und 2 Gemeinden• 707,1 km²• 249277 Gebäude und 110494 Gebäudeteile• 3058391 Polygone
25Doktorandenkolloquium 2015
Quelle: TUBS
Christoph Blut 26Doktorandenkolloquium 2015
Stadtmodell Aachen
Quelle der Modelldaten: StädteRegion Aachen
Christoph Blut
Darstellungsinformationen
Darstellungsinformationen X3D-Material
• Liefert Darstellungsinformationen für Polygone
27Doktorandenkolloquium 2015
<app:appearanceMember> <app:Appearance> <app:surfaceDataMember> <app:X3DMaterial> <app:diffuseColor>0.95703125 0.75 0.44921875</app:diffuseColor> <app:emissiveColor>0 0 0</app:emissiveColor> <app:specularColor>1 1 1</app:specularColor> <app:transparency>1.0</app:transparency> <app:target>#PolyID58906_886_364949_26381</app:target> <app:target>#PolyID58803_371_698036_77126</app:target> </app:X3DMaterial> </app:surfaceDataMember> </app:Appearance> </app:appearanceMember>
Christoph Blut
Gebäudevisualisierung
28Doktorandenkolloquium 2015
Triangulierung + Darstellungsinformationen
Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut 29Doktorandenkolloquium 2015
Innenraum-Visualisierung
Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut
AR-Applikation
30Doktorandenkolloquium 2015
Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut
Danke
34Doktorandenkolloquium 2015
Fragen?