Autor: Sebastian Viereck
-
Einführung in C++ – Funktionen und Operatoren überladen (Overloading) – Teil4
Funktionen Überladen es ist möglich einen Funktionsnamen mehrmals zu verwenden, wenn die Übergabeparameter nicht gleich sind und damit für den Compiler klar ist, welche Funktion aufgerufen werden soll int a(int b); int a(double b); int a(char*); int x = a(5); //ist ok, 5 ist int, 5.0 wäre double nicht eindeutig ist: int a(int b); double…
-
Einführung in C++ – Datentypen, Casting, Klassen – Teil3
Datentypen Implizite Typumwandlung automatisches Casting bei Zahlen „von kleineren zu größeren“ Datentypen Rangfolge: unsigned long long („größter Wert“) long long long double double float unsigned long long unsigned (int) int short bool casting non const zu const, Referenzen T->T& T&->T T->const T T*->const T* T&->const T& Explzite Typumwandlung mit static_cast<> bei elementaren (einfachen) Datentypen bool…
-
Einführung in C++ – Zeiger, Pointer,Referenzen – Teil2
Ein Zeiger ist eine Variable, die die Speicheradresse (des RAMs) einer anderen Variablen enthält. int i = 100; int* pi = &i; cout << pi; //Speicheradresse: z.B. 0x000026 Dereferenzieren von Zeigern: *Operator auf den Wert zugreifen, auf den ein Zeiger(Pointer) zeigt int i = 100; int* pi = &i; cout << *pi; //100 cout <<…
-
Einführung in C++ – Vorteile, Compiler, Namespaces – Teil1
Vorteile von C++ sehr gute Performance, Code wird kompiliert und vom Betriebssystem ausgeführt wird. Keine Interpretation wie Java, Code kann nur von der JVM ausgeführt werden es kann auch C eingebaut werden, selber Compiler: GNU C-Compiler Vorteile von C++ gegenüber dem Vorgänger C strengere Typprüfung, zur Laufzeit/Late Binding Objektorientierung möglich verbessertes Speichermanagement Exceptions Handling Der…
-
Microsofts technische Entwicklungsgeschichte der Kinect
Die die Arbeit an der Kinect startete bei Microsoft nachdem Nintendo 2005 ihr Wii-Konsole mit der Wii Remote Steuerung herausgebracht hatte. An der eigentlichen Steuerung wurde aber schon seit 2003 gearbeitet: siehe Geschichte der NUI/Kinect. Die Entwicklung der Hardware Zu Beginn wurden 2 Teams gegründet, die auf Basis von 2 unterschiedlichen Technologien die Kinect bauen…
-
Die technische Geschichte der Xbox Kinect und NUI
sieh auch Microsofts technische Entwicklungsgeschichte der Kinect Put-That-There In den später 70er Jahren entwickelte Chris Schmandt am MIT das erste Projekt mit Sprach- und Gestenerkennung zur Bedienung graphischer Oberflächen namens „Put-That-There“. Der User hatte dafür einen magnetischen Würfel auf dem Handgelenk und ein am Kopf befestigtes Mikrofon anzulegen. Seine wissenschaftliche Arbeit über „Put-That-There“ kann man…
-
Javascript Zugriff auf Member Variablen in innerer Funktion
Wenn man in einer solchen Situation Zugriff auf Member Variablen benötigt aus einer inneren (z.B. anonymen) Funktion, kann man folgenden Trick anwenden: function Object() { this.memberVar= „foo“; this.memberFunction= function() { var self = this; this.innerFunction= function() { alert(self.memberVar) } } }
-
HTML5 Canvas Text auf Canvas schreiben richtiger Zeilenumbruch
Wenn man einen bestimmten Text auf einen Canvas schreiben will und dafür bestimmen will, wann ein Text umgebrochen werden muss, kann man die folgende Funktion benutzen, die aus einem Text in Array macht in Abhängigkeit des Canvas. Bsp: var canvas = document.createElement(„canvas“); var context = canvas.getContext(„2d“); //vorher muss Schriftgröße des Canvas gesetzt werden context.font =…
-
Canvas rotieren um 180 Grad
Zum rotieren eines Canvas um den Mittelpunkt um 180 oder 90 Grad, kann man folgende Funktion benutzen. 90 Grad = nach rechts drehen 180 Grad = auf den Kopf stellen 270 Grad/ -90 Grad = nach Links drehen var x = document.createElement(„canvas“); var context = x.getContext(„2d“); rotateCanvas(180, context) rotateCanvas= function(degree, context) { …
-
Cpp speichern und laden von Matrizen mittels Filestream Klasse
Eine Klasse zum Speichern von 4×4 Matrizen z.B: für Kinect Anwendungen. Die Klasse hat eine Kontrolle der gespeicherten Daten, für den Fall, dass etwas schief geht beim Speichern.