Commit a9cc5ad5 by Philipp Adolf

Rechtschreibung

parent 326567fd
Pipeline #387 passed with stage
in 1 minute 11 seconds
...@@ -90,55 +90,55 @@ Die App nimmt mit der Frontkamera eine Smartphones die Umgebung auf und projizie ...@@ -90,55 +90,55 @@ Die App nimmt mit der Frontkamera eine Smartphones die Umgebung auf und projizie
\section{3D Punktwolken Scan} \section{3D-Punktwolken-Scan}
%http://ieeexplore.ieee.org/document/4650967/references?ctx=references %http://ieeexplore.ieee.org/document/4650967/references?ctx=references
Aus einem Tiefeinbild wie das der Kinect können Punktwolken aus einer Perspektive berechnet werden. Aus einem Tiefenbild wie dem der Kinect können Punktwolken aus einer Perspektive berechnet werden.
Für größere Aufnahmen werden aber häufig mehrere Punktwolken aufgenommen die anschließend vereint werden müssen. Für größere Aufnahmen werden aber häufig mehrere Punktwolken aufgenommen, die anschließend vereint werden müssen.
Diesen Vorgang nennt man Registration. Diesen Vorgang nennt man Registration.
Hierbei muss für die verschiedenen Ansichten der getrennt aufgenommenen Punktwolken eine relative Position und Orientierung gefunden werden sodass überlappende Teile perfekt übereinanderliegen. Hierbei muss für die verschiedenen Ansichten der getrennt aufgenommenen Punktwolken eine relative Position und Orientierung gefunden werden, sodass überlappende Teile perfekt übereinander liegen.
Einer der der beliebtesten Algorithmen für die Registration ist Iterative Closest Point (ICP) \cite{121791} Einer der der beliebtesten Algorithmen für die Registration ist Iterative Closest Point (ICP) \cite{121791}
Bei IPC versucht die optimale Transformation zwischen zwei Datensätzen zu finden indem eine Fehlermetrik zwischen den Punktwolken minimiert wird. IPC versucht die optimale Transformation zwischen zwei Datensätzen zu finden, indem eine Fehlermetrik zwischen den Punktwolken minimiert wird.
Hierbei wird versucht für jeden Punkt aus der einen Punktwolke der jeweils nächste Punkt aus der andern Punktwolke bestimmt. Hierbei wird versucht, für jeden Punkt aus der einen Punktwolke den jeweils nächsten Punkt aus der anderen Punktwolke zu bestimmen.
Dabei wird die Annahme getroffen das jeder Punkt ein zugehörigen Punkt in der andern Punktwolke hat. Dabei wird die Annahme getroffen, das jeder Punkt einen zugehörigen Punkt in der anderen Punktwolke hat.
Da Punktwolken sich häufig nur teilweise überlappen wurden viele Versuche unternommen den Bereich einzuschränken. Da Punktwolken sich häufig nur teilweise überlappen, wurden viele Versuche unternommen den Bereich einzuschränken.
Eine Möglichkeit ist die Feature Erkennung \cite{982886} \cite{4650967} bei denen zuerst ein Bereich ausgewählt wird der in beiden Punktwolken Identisch ist. Eine Möglichkeit ist die Feature-Erkennung \cite{982886,4650967}, bei der zuerst ein Bereich ausgewählt wird, der in beiden Punktwolken identisch ist.
Eine Alternative ist das einbeziehen weiterer Informationen zur Regression. So können Farben \cite{603871} und Normalen \cite{normal} das Ergebniss verbessern. Eine Alternative ist das Einbeziehen weiterer Informationen zur Regression. So können Farben \cite{603871} und Normalen \cite{normal} das Ergebnis verbessern.
Jedoch sind diese Prozesse Zeit und Rechenaufwändig. Jedoch sind diese Prozesse Zeit- und Rechenaufwändig.
Für die Kinect gibt es kostenlose Tools die Versuchen mit verscheidenen Methoden einen 3D-Scan anzufertigen. Für die Kinect gibt es kostenlose Tools, die versuchen, mit verschiedenen Methoden einen 3D-Scan anzufertigen.
Das Programm 3D-Scan der Microsoft Korporation \cite{3DScan} funktioniert in dem man die Kinect lagsam um das Objekt herum bewegt. Das Programm 3D Scan der Microsoft Korporation \cite{3DScan} funktioniert, indem man die Kinect langsam um das Objekt herum bewegt.
Es wird dabei versucht die Kamerabewegung zu errechnen und nach abgeschlossener Aufnahme wird das 3D-Modell berechnet. Es wird dabei versucht, die Kamerabewegung zu errechnen und nach abgeschlossener Aufnahme das 3D-Modell zu erstellen.
Bewegt man sich zu schnell so bricht der Scan ab und man kann erneut beginnen. Bewegt man sich zu schnell, so bricht der Scan ab und man muss erneut beginnen.
%http://www.kscan3d.com/ -> nicht merh supported :( %http://www.kscan3d.com/ -> nicht merh supported :(
\section{AR-Fernunterstützung} \section{AR-Fernunterstützung}
In der Literatur gibt es Ansätze wie eine lokaler Nutzer, auch Techniker gennannt, von einem einem entfernten Experten (Subject Matter Expert, SME) unterstützt werden kann. In der Literatur gibt es Ansätze, wie eine lokaler Nutzer, auch Techniker genannt, von einem einem entfernten Experten (Subject Matter Expert, SME) unterstützt werden kann.
Ein Ansatz hierbei ist das der Lokale Nutzer einen Videostream aufnimmt.Dieser wird dann vom Experten live editiert und wieder beim lokalen Nutzer angezeigt \cite{Kuzuoka:1992:SWC:142750.142980}. Ein Ansatz hierbei ist, dass der Lokale Nutzer einen Videostream aufnimmt. Dieser wird dann vom Experten live editiert und wieder beim lokalen Nutzer angezeigt \cite{Kuzuoka:1992:SWC:142750.142980}.
Eine Erweiterung dieses Prinzips ist von Bauer et al. \cite{806696} vorgestellt worden. Eine Erweiterung dieses Prinzips ist von Bauer et al. \cite{806696} vorgestellt worden.
Hierbei wird in einem AR-HMD des lokalen Nutzers der 2D-Mauszeiger des Experten eingeblendet. Hierbei wird in einem AR-HMD des lokalen Nutzers der 2D-Mauszeiger des Experten eingeblendet.
Die Position des Mauszeigers ist aber schnell veraltet wenn sich der lokale Nutzer bewegt. Die Position des Mauszeigers ist aber schnell veraltet, wenn sich der lokale Nutzer bewegt.
Jedoch sieht der Experte hierbei nur ein 2D-Abbild der Realität das für komplexere 3D-Aufgaben nicht immer ausreicht. Jedoch sieht der Experte hierbei nur ein 2D-Abbild der Realität, das für komplexere 3D-Aufgaben nicht immer ausreicht.
Christine et al. \cite{Chastine:2008} ermöglichen es dem Experten einen 3 dimensionalen Pfeil in der lokalen Ansicht zu manipulieren. Christine et al. \cite{Chastine:2008} ermöglichen es dem Experten, einen dreidimensionalen Pfeil in der lokalen Ansicht zu manipulieren.
Jedoch ist das Ausrichten des Pfeil schwierig und zeitintensiv. Jedoch ist das Ausrichten des Pfeil schwierig und zeitintensiv.
Botteccia et al. \cite{Bottecchia:2010} erlauben dem Experten vorgefertigte 3D-Animationen im Sichtfeld des Lokalen Nutzers zu platzieren. Botteccia et al. \cite{Bottecchia:2010} erlauben dem Experten, vorgefertigte 3D-Animationen im Sichtfeld des lokalen Nutzers zu platzieren.
Dieses Vorgehen dient dazu dem lokalen Nutzer zu demonstrieren wie eine Aufgabe zu lösen ist, jedoch ist dieses Vorgehen wegen den vorgefertigten Animationen nicht sehr flexibel. Dieses Vorgehen dient dazu, dem lokalen Nutzer zu demonstrieren, wie eine Aufgabe zu lösen ist, jedoch ist dieses Vorgehen wegen den vorgefertigten Animationen nicht sehr flexibel.
Tachia et al. \cite{Tecchia:2012} nutzen statische Tiefensensoren um dynamisch die Umgebung des Experten und des lokalen Nutzers aufzunehmen. Tachia et al. \cite{Tecchia:2012} nutzen statische Tiefensensoren, um dynamisch die Umgebung des Experten und des lokalen Nutzers aufzunehmen.
Die 3D-Szene des Lokalen Nutzers und die Hände des Experten werden zusammengefügt und beiden Seiten präsentiert. Die 3D-Szene des Lokalen Nutzers und die Hände des Experten werden zusammengefügt und beiden Seiten präsentiert.
Das erlaubt dem Experten mit Handgesten Hilfestellungen zu geben. Das erlaubt dem Experten mit Handgesten Hilfestellungen zu geben.
Kurata et al. \cite{1364691} ahbe ein System entwickelt bei dem der lokale Nutzer eine Kamera und einen Laserpointer auf der Schulter trägt. Kurata et al. \cite{1364691} haben ein System entwickelt, bei dem der lokale Nutzer eine Kamera und einen Laserpointer auf der Schulter trägt.
Der Experte sieht die Umgebung durch die Kamera und kann mit dem Laserpointer einen Point of Interest in der Echten Welt markieren. Der Experte sieht die Umgebung durch die Kamera und kann mit dem Laserpointer einen Point of Interest in der echten Welt markieren.
Lanir et al. \cite{Lanir:2013:OCP:2470654.2481309} haben dieses Konzept erweitert. Lanir et al. \cite{Lanir:2013:OCP:2470654.2481309} haben dieses Konzept erweitert.
Auf einem beweglichen Roboterarm wurde eine Kamera und ein portabler Beamer befestigt. Auf einem beweglichen Roboterarm wurde eine Kamera und ein portabler Beamer befestigt.
Der Experte kann den Roboterarm steuern und so seine Sicht anpassen und mit dem Beamer 2D-Einzeichnungen in die Echte Welt projizieren. Der Experte kann den Roboterarm steuern und so seine Sicht anpassen und mit dem Beamer 2D-Einzeichnungen in die Echte Welt projizieren.
Oda et al. \cite{Oda:2015:VRR:2807442.2807497} haben ein System vorgestellt bei dem der Experte virtueller Replicas manipuliert. Oda et al. \cite{Oda:2015:VRR:2807442.2807497} haben ein System vorgestellt, bei dem der Experte virtuelle Replicas manipuliert.
Die Objekte beim Lokalen Nutzer werden durch ein Optisches Tracking System lokalisiert. Die Objekte beim lokalen Nutzer werden durch ein optisches Trackingsystem lokalisiert.
In einer VR-Umgebung werden für einen Experten zugehörige Virtuelle Proxys visualisiert. In einer VR-Umgebung werden für einen Experten zugehörige virtuelle Proxys visualisiert.
Diese Virtuellen Proxys sind vorgefertigte 3D-Repräsentationen der Objekte. Diese virtuellen Proxys sind vorgefertigte 3D-Repräsentationen der Objekte.
Der Experte erklärt dem Lokalen Nutzer wie er die Objekte zusammenzubauen hat. Der Experte erklärt dem lokalen Nutzer, wie er die Objekte zusammenzubauen hat.
Hierfür stehen dem Experten Virtuelle Replikate zur Verfügung. Hierfür stehen dem Experten virtuelle Replikate zur Verfügung.
Der Experte kann ein Objekt virtuell kopieren und an die richtige Position setzen. Der Experte kann ein Objekt virtuell kopieren und an die richtige Position setzen.
Der Lokale Benutzer bekommt diese virtuelle Kopie relativ zu den Originalen in seiner AR-Umgebung visualisiert. Der Lokale Benutzer bekommt diese virtuelle Kopie relativ zu den Originalen in seiner AR-Umgebung visualisiert.
...@@ -158,44 +158,44 @@ Der Lokale Benutzer bekommt diese virtuelle Kopie relativ zu den Originalen in s ...@@ -158,44 +158,44 @@ Der Lokale Benutzer bekommt diese virtuelle Kopie relativ zu den Originalen in s
\section{Verwendete Technologien} \section{Verwendete Technologien}
In diesem Unterkapitel wird verwendete Hardware und Software vorgestellt. In diesem Unterkapitel wird die verwendete Hardware und Software vorgestellt.
\subsection{HTC Vive und Lighthouse Tracking} \subsection{HTC Vive und Lighthouse Tracking}
\label{sect:vive} \label{sect:vive}
Die HTC Vive ist im Kern ein Head-Mounted Display (HMD), das von HTC in Kooperation mit Valve seit April 2016 produziert und verkauft wird. Die HTC Vive ist im Kern ein Head-Mounted Display (HMD), das von HTC in Kooperation mit Valve seit April 2016 produziert und verkauft wird.
Das System besteht aus dem HMD, zwei Controllern und zwei Basistationen. Das System besteht aus dem HMD, zwei Controllern und zwei Basisstationen.
Für den Betrieb wird zusätzlich ein leistungsstarker Computer benötigt, der das Simulieren und Rendern der virtuellen Welt übernimmt. Für den Betrieb wird zusätzlich ein leistungsstarker Computer benötigt, der das Simulieren und Rendern der virtuellen Welt übernimmt.
Das Headset wird hierfür mit Kabeln (USB, HDMI und Strom) an den Rechner angeschlossen. Das Headset wird hierfür mit Kabeln (USB, HDMI und Strom) an den Rechner angeschlossen.
Die Controller kommunizieren kabellos mit Headset, das die Daten an den Computer weiterleitet. Die Controller kommunizieren kabellos mit dem Headset, das die Daten an den Computer weiterleitet.
Die Vive verwendet das von Valve entwickelte Lighthouse Tracking. Die Vive verwendet das von Valve entwickelte Lighthouse Tracking.
Hierfür emittieren 2 passive Basisstationen infrarote Laserstrahlen. Hierfür emittieren zwei passive Basisstationen infrarote Laserstrahlen.
Diese werden zu einer Laserwand aufgefächert und mit Motoren in regelmäßigen Abständen waagerecht und senkrecht über den Raum geschwenkt. Diese werden zu einer Laserwand aufgefächert und mit Motoren in regelmäßigen Abständen waagerecht und senkrecht über den Raum geschwenkt.
An den Controllern und dem HMD sind Sensoren angebracht, die es ermöglichen, die zeitliche Differenzen zwischen den Lichtblitzen an den verschiedenen Sensoren wahrzunehmen. An den Controllern und dem HMD sind Sensoren angebracht, die es ermöglichen, die zeitliche Differenzen zwischen den Lichtblitzen an den verschiedenen Sensoren wahrzunehmen.
Aus diesen Zeitunterschieden lässt sich die aktuell Position und Rotation der Controller und des HMDs bestimmen. Aus diesen Zeitunterschieden lässt sich die aktuell Position und Rotation der Controller und des HMDs bestimmen.
Dieses Verfahren ermöglicht es, mit 2 Basistationen beliebig viele Gegenstände zu tracken, jedoch wird aktuell nur 1 HMD und 2 Controller an einem Computer unterstützt. Dieses Verfahren ermöglicht es, mit zwei Basisstationen beliebig viele Gegenstände zu tracken, jedoch werden aktuell nur ein HMD und zwei Controller an einem Computer unterstützt.
Außerdem ist es mit der aktuellen Version nicht möglich, mehr als zwei Basistationen gleichzeitig zu betreiben. Bei zwei Basisstationen ist der maximale Abstand eingeschränkt. Außerdem ist es mit der aktuellen Version nicht möglich, mehr als zwei Basisstationen gleichzeitig zu betreiben. Bei zwei Basisstationen ist der maximale Abstand eingeschränkt.
Zwischen den Lichtblitzen wird die Postion der Geräte mit den ebenfalls verbauten Gyrosensor und Beschleunigungsmesser approximiert. Zwischen den Lichtblitzen wird die Position der Geräte mit den ebenfalls verbauten Gyrosensor und Beschleunigungsmesser approximiert.
Seit dem 27. März 2017 ist der Vive Tracker als Erweiterung des Systems für Entwickler erhältlich. Seit dem 27. März 2017 ist der Vive Tracker als Erweiterung des Systems für Entwickler erhältlich.
Dieser Tracker dient als Erweiterung zum Tracken beliebiger Geräte mit dem Lighhouse Tracking System. Dieser Tracker dient als Erweiterung zum Tracken beliebiger Geräte mit dem Lighthouse Tracking System.
Er ist kompakter als ein Controller, hat keine Eingabetasten aber und eine ebene Auflagefläche mit einer 1/4 Zoll Schraube zur Befestigung. Er ist kompakter als ein Controller, hat aber keine Eingabetasten und eine ebene Auflagefläche mit einer 1/4 Zoll Schraube zur Befestigung.
Für die Kommunikation mit dem Computer wird ein weiterer kabelloser USB Adapter verwendet. Für die Kommunikation mit dem Computer wird ein weiterer kabelloser USB-Adapter verwendet.
Theoretisch können an einem System beliebig viele zusätzliche Tracker angeschlossen werden. Theoretisch können an einem System beliebig viele zusätzliche Tracker angeschlossen werden.
Praktisch liegt die Obergrenze bei 16 getrackten Geräten (1 HMD, 2 Controller, 13 Tracker). Praktisch liegt die Obergrenze bei 16 getrackten Geräten (1 HMD, 2 Controller, 13 Tracker).
Eine weitere Ergänzung für die HTC Vive ist der TPCAST wireless adapter. Eine weitere Ergänzung für die HTC Vive ist der TPCAST Wireless Adapter.
Hierbei wird das Kabel zwischen dem Headset und dem HMD durch eine kabellose Alternative ausgetauscht. Hierbei wird das Kabel zwischen dem Headset und dem HMD durch eine kabellose Alternative ausgetauscht.
Die USB Daten werden per WLAN übertragen, das Bild mit einer speziell dafür entwickelten hochfrequenten Funkverbindung und für die Stromversorgung wird eine handelsübliche Powerbank verwendet. Die USB-Daten werden per WLAN übertragen, das Bild mit einer speziell dafür entwickelten hochfrequenten Funkverbindung und für die Stromversorgung wird eine handelsübliche Powerbank verwendet.
Als Bibliothek zur Kommunikation mit der HTC Vive wird das OpenVR verwendet. Als Bibliothek zur Kommunikation mit der HTC Vive wird OpenVR verwendet.
Die OpenVR-API von Valve erlaubt es, auf VR-Hardware von verschiedenen Herstellern zuzugreifen. Die OpenVR-API von Valve erlaubt es, auf VR-Hardware von verschiedenen Herstellern zuzugreifen.
Die Genauigkeit des Lighthouse Trackings wurde in einigen Arbeiten untersucht. Die Genauigkeit des Lighthouse Trackings wurde in einigen Arbeiten untersucht.
Das HMD zittert in Ruhelage mit einer Basistation um 0,3mm und mit 2 Basistation erhöht sich diese Ungenauigkeit auf 2,1mm \cite{lighthouseAccuracy}. Das HMD zittert in Ruhelage mit einer Basisstation um 0,3mm und mit zwei Basisstationen erhöht sich diese Ungenauigkeit auf 2,1mm \cite{lighthouseAccuracy}.
Bei eigenen Messungen wurden teilweise größere Ungenauigkeiten festgestellt. Bei eigenen Messungen wurden teilweise größere Ungenauigkeiten festgestellt.
In der Abb. \ref{img:Jitter} ist eine Messung mit einer maximalen Abweichung von fast 5mm zu sehen. In der Abb. \ref{img:Jitter} ist eine Messung mit einer maximalen Abweichung von fast 5mm zu sehen.
Die Präzision des Vive trackings wurde auch untersucht. Die Präzision des Vive-Trackings wurde auch untersucht.
\cite{lighthouseAccuracy} spricht von einem durchschnittlichen Fehler von 1,5 -1,9 mm beim wiederholten Positionieren an Punkten entlang eines Maßstabs. \cite{lighthouseAccuracy} spricht von einem durchschnittlichen Fehler von 1,5 -1,9 mm beim wiederholten Positionieren an Punkten entlang eines Maßstabs.
\todo{Paper \cite{Niehorster2017TheAA} } \todo{Paper \cite{Niehorster2017TheAA} }
\todo{Paper https://dl.acm.org/citation.cfm?id=2996341} \todo{Paper https://dl.acm.org/citation.cfm?id=2996341}
...@@ -205,7 +205,7 @@ Die Präzision des Vive trackings wurde auch untersucht. ...@@ -205,7 +205,7 @@ Die Präzision des Vive trackings wurde auch untersucht.
\begin{figure} \begin{figure}
\begin{center} \begin{center}
\includegraphics[width=\textwidth]{Bilder/JitterTester.png} \includegraphics[width=\textwidth]{Bilder/JitterTester.png}
\caption{Messung des Zitterns des HMD in Ruhelage mit dem Jitter Tester \cite{Jitter}. Postion ist in in mm, Rotation in Grad angegeben} \caption{Messung des Zitterns des HMD in Ruhelage mit dem Jitter Tester \cite{Jitter}. Position ist in in mm, Rotation in Grad angegeben}
\label{img:Jitter} \label{img:Jitter}
\end{center} \end{center}
\end{figure} \end{figure}
...@@ -214,27 +214,27 @@ Die Präzision des Vive trackings wurde auch untersucht. ...@@ -214,27 +214,27 @@ Die Präzision des Vive trackings wurde auch untersucht.
\subsection{HoloLens} \subsection{HoloLens}
Die Microsoft HoloLens \cite{Hololens1} ist eine Augmented Reality Brille, die es erlaubt interaktive Projektionen in der echten Welt darzustellen. Die Microsoft HoloLens \cite{Hololens1} ist eine Augmented Reality Brille, die es erlaubt, interaktive Projektionen in der echten Welt darzustellen.
Die Brille funktioniert ohne zusätzliche Hardware wie ein Smartphone oder einen zusätzlichen Computer. Die Brille funktioniert ohne zusätzliche Hardware wie einen Smartphone oder einem zusätzlichen Computer.
Der Nutzer schaut auf jedem Auge durch einen transparenten Bildschirm, auf denen 3D-Projektionen eingeblendet werden. Der Nutzer schaut auf jedem Auge durch einen transparenten Bildschirm, auf dem 3D-Projektionen eingeblendet werden.
Die Steuerung erfolgt durch die Kopfbewegung, Gesten und Sprachsteuerung. Die Steuerung erfolgt durch Kopfbewegungen, Gesten und Sprachsteuerung.
Die Hololens verfügt über ein inside-out Tracking zur Positionsbestimmung in Räumen. Die Hololens verfügt über ein Inside-Out-Tracking zur Positionsbestimmung in Räumen.
Als Sensoren werden ein Beschleunigungsensor, ein Gyroskop, ein Magnetometer, eine Tiefenkamera und vier ``environment understanding'' Kameras \cite{Hololens2} verwendet. Als Sensoren werden ein Beschleunigungsensor, ein Gyroskop, ein Magnetometer, eine Tiefenkamera und vier ``environment understanding'' Kameras \cite{Hololens2} verwendet.
Die Hololens baut sich mit Hilfe dieser Sensoren ein grobes Mesh der Umgebung auf, das es regelmäßig updatet und verfeinert. Die Hololens baut sich mit Hilfe dieser Sensoren ein grobes Mesh der Umgebung auf, das es regelmäßig updatet und verfeinert.
\subsection{Unreal Engine4} \subsection{Unreal Engine 4}
Die Unreal Engine 4 \cite{UE4} ist eine der meistgenutzten Spiele-Engines. Die Unreal Engine 4 \cite{UE4} ist eine der meistgenutzten Spiele-Engines.
Die Engine wird von Epic Games entwickelt und kann bis zu einem Jahresumsatz von 3000 US-Dollar kostenlos genutzt werden. Die Engine wird von Epic Games entwickelt und kann bis zu einem Jahresumsatz von 3000 US-Dollar kostenlos genutzt werden.
Unreal unterstützt viele verschiedene Plattformen wie Konsolen, Smartphones, PCs und Virtual Realtiy. Unreal unterstützt viele verschiedene Plattformen wie Konsolen, Smartphones, PCs und Virtual Reality.
Das Framework der Unreal Engine besteht unter anderem aus einer Grafik-Engine, einer Physik-Engine und einem mitgelieferten Editor mit vielen Werkzeugen zur Spielentwickelung. Das Framework der Unreal Engine besteht unter anderem aus einer Grafik-Engine, einer Physik-Engine und einem mitgelieferten Editor mit vielen Werkzeugen zur Spieleentwicklung.
Die Implementierung eines Spiels kann entweder in C++ erfolgen oder mit Hilfe des Blueprint Visual Scriptings der Unreal Engine 4. Die Implementierung eines Spiels kann entweder in C++ oder mit Hilfe des Blueprint Visual Scriptings der Unreal Engine 4 erfolgen.
Diese Blueprints sind eine von Epic Games entwickelte grafische Benutzeroberfläche die es ermöglicht, objektorientiert zu arbeiten. Diese Blueprints sind eine von Epic Games entwickelte grafische Benutzeroberfläche, die es ermöglicht, objektorientiert zu arbeiten.
Die Programmierung erfolgt dabei durch einen Graphen, bei dem verschiedene Knoten (Methoden) per Drag and Drop verbunden werden. Die Programmierung erfolgt dabei durch einen Graphen, bei dem verschiedene Knoten (Methoden) per Drag and Drop verbunden werden.
Diese Blueprints werden automatisiert in C++ Code übersetzt. Diese Blueprints werden automatisiert in C++-Code übersetzt.
C++ und Blueprints können in einem Projekt kombiniert und parallel verwendet werden. C++ und Blueprints können in einem Projekt kombiniert und parallel verwendet werden.
Auch die Rendering-Engine \bzw{} das Unreal Material System lässt sich im Stil der Blueprints anpassen. Auch die Rendering-Engine \bzw{} das Unreal Material System lässt sich im Stil der Blueprints anpassen.
Die dabei entstehende Grafen werden anschließend zu passenden Grafik Shadern übersetzt. Die dabei entstehende Graphen werden anschließend zu passenden Grafik-Shadern übersetzt.
Eine direkte Anpassung der Shader ist nicht möglich. Eine direkte Anpassung der Shader ist nicht möglich.
In der Implementierung wurden Blueprints und C++ verwendet. Viele Funktionen sind einfach durch die visuelle Skriptsprache erreichbar und umsetzbar. In der Implementierung wurden Blueprints und C++ verwendet. Viele Funktionen sind einfach durch die visuelle Skriptsprache erreichbar und umsetzbar.
Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen in C++ implementiert. Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen in C++ implementiert.
...@@ -242,23 +242,23 @@ Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen ...@@ -242,23 +242,23 @@ Reicht die Funktionalität der Blueprints nicht aus, so wurden diese Funktionen
\subsection{Unity} \subsection{Unity}
Unity \cite{unity} ist wie die Unreal Engine eine der meißt genutzen Spieleplatformen. Unity \cite{unity} ist wie die Unreal Engine eine der meistgenutzten Spieleplatformen.
Sie verfügt über einen ähnlichen Funktionsumfang und die PRogrammierung erfolgt in C\#. Sie verfügt über einen ähnlichen Funktionsumfang und die Programmierung erfolgt in C\#.
Ein wichtige Unterschied ist das Unity die Entwicklung für die HoloLens und die Universal Windows PLattform (UWP) unterstützt. Ein wichtige Unterschied ist, dass Unity die Entwicklung für die HoloLens und die Universal Windows Plattform (UWP) unterstützt.
Deshalb wurde für die Entwicklung der HoloLens Anwendung Unity verwendet. Deshalb wurde für die Entwicklung der HoloLens-Anwendung Unity verwendet.
\subsection{Kinect} \subsection{Kinect}
Die Kinect \cite{Kinect} ist ein Hardware zur Steuerung der Videospielkonsolen Xbox360 und Xbox One. Die Kinect \cite{Kinect} ist eine Hardware zur Steuerung der Videospielkonsolen Xbox360 und Xbox One.
Spiler können damit anstelle des herkömmlichen Controllers alleine durch Körperbewegungen und Sprache die Software bedienen. Spieler können damit anstelle des herkömmlichen Controllers alleine durch Körperbewegungen und Sprache die Software bedienen.
Die erste Generation der Kinect wurde im November 2010 veröffentlicht und Anfang 2013 die 2. Generation. Die erste Generation der Kinect wurde im November 2010 veröffentlicht und Anfang 2013 die zweite Generation.
Als Sensoren ist eine Farbkamera, eine Tiefenkamera und ein Mikrofonarray verbaut. Als Sensoren sind eine Farbkamera, eine Tiefenkamera und ein Mikrofonarray verbaut.
Zu der Kinect wurde 2012 ein nicht Kommerzielles Software Development Kit veröffentlicht. Zu der Kinect wurde 2012 ein nichtkommerzielles Software Development Kit veröffentlicht.
Das SDK verfügte unter anderm über Treiber für Windows und bietet die Möglichkeit in C++, C\# oder Visual Baisc Applicationen auf die Kinect zuzugreifen. Das SDK verfügte unter anderem über Treiber für Windows und bietet die Möglichkeit in C++, C\# oder Visual Basic Applications auf die Kinect zuzugreifen.
Unter anderem können ungefilterte Sensordaten abgegriffen werden, aber auch das erkannte Skelett von Personendie sich im Sichtfeld befinden. Unter anderem können ungefilterte Sensordaten abgegriffen werden, aber auch das erkannte Skelett von Personen, die sich im Sichtfeld befinden.
Außerdem bietet das SDK die Möglichkeit ein Tiefenbild in eine Punktwolke umzuwandeln. Außerdem bietet das SDK die Möglichkeit, ein Tiefenbild in eine Punktwolke umzuwandeln.
Die Kienct wurde in vielen Forschungsprojekten verwendet. Es ist ein einheitlicher, günstiger Sensor der Tiefendaten aufnimmt. Die Kinect wurde in vielen Forschungsprojekten verwendet. Es ist ein einheitlicher, günstiger Sensor der Tiefendaten aufnimmt.
Außerdem werden viele benötigten Funktionen direkt im SDK mitgeliefert. Außerdem werden viele benötigten Funktionen direkt im SDK mitgeliefert.
In dieser Arbeit wurde eine Kienct 2 für das Aufnehmen einzelner Punktwolken verwendet. In dieser Arbeit wurde eine Kinect 2 für das Aufnehmen einzelner Punktwolken verwendet.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment