AW: [SEMINARFACHPROJEKT]- MultitouchTable „fantasTABLE“-->Der Tisch steht!!!!
Also mit Framework meinte ich:
Das Programm, das die Eingaben aus dem Kamerabild herausließt. Und evtl. auch schon die Oberfläche bereit stellt, weil ich hab nach ein bisschen googeln herausgefunden, dass es da mehrere gibt.
Okay, ich nehme an du meinst den Tracker. Wie du schon fast richtig sagtest, is der Tracker das Programm, dass das Kamerabild einliest, über Kontrastverhältnisse auffällige Flecken im Kamerabild ausfindig macht, von diesen Flecken den Mittelpunkt berechnet, diesem Mittelpunkt ein MainEvent zuordnet und dem Client bereitstellt.
Also vom Finger/Objekt (in der Fachsprache Blob genannt) aufsetzen bis zur Aktion im Client läuft es ja so ab:
->Finger aufsetzen
->Streuung der Totalreflexion
->Aufnahme des Lichtfleckes ,welcher durch die Streuung erzeugt wird, mithilfe der Kamera
->Tracker sucht (trackt) nach auffälligen Flecken im Kamerabild
->Tracker berechnet Mittelpunkt dieser Flecken und gibt diesen Punkten eine ID, eine eindeutige Koordinate auf dem Bildschirm und ein Event (release,move oder scale) -->das alles wird MainEvent genannt,
WAS IST EIN MAINEVENT??
Also ein MainEvent sieht wie folgt aus:
"TUIO(000;640,512;release)"
Auf deutsch:
-->wir geben dem Punkt die ID 000, das heißt es ist der erste FInger/Objekt/Blob den wir aufsetzen/erzeugen
-->wir setzen den Finger/Obekt/Blob in die Mitte des Bildschirms (vorrausgesetzt man hat wie ich ne Auflösung von 1280*1024

)
-->Der Finger wurde gerade erst aufgesetzt, zu sehen an dem Event "release"
Das ganze wird nun über TUIO übertragen. Das ist ein Netzwekrprotokoll, wie http, ftp, smtp, pop3,...Die Übertragung der Blobs funktioniert einzig und alleine über lokale Server, da diese am stabielsten und unabhängig arbeiten. D.h. es ist Systemunabhängig. Es geht sowohl auf Windows, Linux als auch auf Mac.
Es wird also im Hintergrund des Trackers eine Serversoftware gestartet, ich nehme an ne abgespeckte Version von Apache. Die Serversoftware erzeugt einen Server auf dem lokalen Computer auf dem die Daten bereitgestellt werden. Nun kann ein Client auf diese Daten zugreifen.
Das ganze funktioniert eigentlich wie das Internet. Es gibt einen Sever auf dem eine Serversoftware läuft. Nehmen wir mal PCGH. Wenn diese einen eigenen Server betreibe sollten dann haben die bestimmt auch Apache am laufen. Dieser Sever stellt Daten/Informationen bereit (z.B. Forum). Nun gibt es einen CLienten (wir, oder eher gesagt unsere Browser) welche sich die Informatioenen von dem Server abholen können. Der einzige Unterschied zum Tracker is, dass er Tracker über TUIO kommuniziert und über Port 3333. Der Webbrowser geht über Port 80 und per http und für Dateidownloads vielleicht auch über ftp.
Bis hier ist alles fertig, da müssen wir kaum noch eingreifen. Jetzt kommt das interessante: Wir müssen einen Clienten machen der auf den lokalen Server per TUIO und über Port 3333 zugreift und diese als Benutzerinteraktion erkennt. Außerdem muss der Eingabestrom im Betriebssystem/ oder eher der EIngabetreiber so manipuliert werden, dass die Daten über TUIO auch z.B: im Explorer als Benutzereingabe erkannt werden. Ansonsten müsste man ja diesen Algorythmus zum zugriff auf lokalen Server und Erkennung als Eingabe in jedes einzelne Programm einbinden. Wenn das einmal im System ist, geht es mit allen Programmen.
Wir nutzen übrigens den bisher besten und zuverlässigsten Tracker, touchlib. Es gibt schönere und komfortablere, aber touchlib is einfach mal am besten.
Wenn ich das richtig gelesen habe, habt ihr da also paar python dateien gefunden, die euch die Daten wo berührt wurde bereitstellen. Und dann wird ne eigene Oberfläche geschreiben. Gibts zu den Dateien auch ne Webseite? Weil ich plane ja auch so einen Table, sobald ich mal Zeit habe und da ich python schon einigermaßen beherrsche würde sich das anbieten^^
Nee da hast du was falsch verstanden. Das in Python nimmt die Daten vom Tracker auf und macht was damit. Alsp in Python wird das gemacht was man dann später sehen kann. In Python wird sozusagen dass Endbenutzerprogramm gemacht. Die Bibliotheken die es da gibt stellen einem die Funktionen zum Zugriff auf dem Server und zum einbinden der touches in das eigene Programm bereit. Man muss nur Wissen wie man sie einbindet!

GLaub nicht dass das so einfach ist. Außerdem beinhaltet es noch ein Framework mit dem du dir dann halt eigene Programm erstellen kannst. Das Problem ist das das ganze Framework schlecht dokumentiert ist, also das meiste muss man selbst rausfinden wozu es da ist.
Ich suche mal die Dateien oder eher den Link der Seite raus für dich.
LG
Oliver