9 Poster
Transcrição
9 Poster
Projekt 16: Wie orientiert sich eine Fledermaus? Patrick Lustenberger, Michael Fisler (MNG Rämibühl, ZH) Tutor: Steven Rose Einleitung g Der Mensch versuchte schon immer, die Natur zu imitieren und seinen Nutzen daraus zu ziehen. Z.B. orientiert sich eine Fledermaus in der Nacht mit Hilfe Ultraschalls. Sie findet ihren Weg zielsicher ohne etwas zu sehen. Einfach ist das nicht! Um dieses Verhalten zu erreichen, muss man simpel beginnen (2D). Was wäre da geeigneter, als ein Labyrinth? Aufgabe g Unsere Aufgabe war es, einen Roboter zu programmieren, welcher sich mit Hilfe von Ultraschallsensoren durch ein Labyrinth bewegen kann. Der Roboter wurde mit „Lego Mindstorms“ konstruiert und mit Java programmiert. Der Frontsensor registriert eine Wand und leitet eine Drehung um 90 Grad ein, bei weiterer Blockierung eine 180 Grad Drehung. Ist der Weg noch immer versperrt, fährt der Roboter zurück. Wenn der Seitensensor einen Weg erkennt, dreht sich der Roboter nach rechts und fährt in diese Richtung weiter. Bewegung des Roboters Schlussfolgerungen Zwei Sensoren erfassen Wände an der Front und der rechten Seite des Roboters, wodurch er Kreuzungen und Sackgassen erkennen kann. Der Roboter biegt bei Kreuzungen immer nach rechts ab. Dies bewirkt, dass er zielsicher aus einem einfachen Labyrinth herausfindet, solange es nie in sich geschlossen ist. Die Aufgabe liess sich durch geschickte Kombination von selbstentwickelten Verhaltensweisen elegant lösen. Projekt 12: Baukasten Programmieren Jean-Claude Neff (Baden AG), Adrian Stauffer (Baden AG) Tutor: Michael Fischer Einleitung Webseiten, Bilder, Programme und Weiteres sind auf HTML basiert. HTML-Dokumente sind somit die Grundlage des World Wide Web. + + = Aufgabe f Javascript Wir haben eine Webseite per html programmiert, d.h. manuell und nicht ueber ein Programm und dabei noch viele verschiedene Extras hinzugefuegt, z.B. ein spekzieller Cursor oder ein Besucherzaehler. Ebenfalls haben wir ein Gaestebuch und ein Mitgliederbereich eingebaut. Natuerlich sind auf der Homepage auch einige Bilder und Videos, welche wir zuerst auf YouTube hochgeladen haben, zum Anschauen verfuegbar. Schlussfolgerungen Wir haben in dieser Woche die Grundkenntnisse im Umgang mit verschiedenen Programmiersprachen, wie z.B. HTML, CSS, und Javascript erlernt, womit wir nun in der Lage sind eine einfache Homepage zu erstellen und zu bearbeiten. Spezieller Cursor Projekt 19: Gemeinsam sind wir stärker! Andri Mani (Uster ZH), Luca Zehnder (Künten AG) Tutor: Florian Lindoerfer Einleitung g Durch das Simulationsprogramm Netlogo wurden verschiedene Gruppenverhalten von Tieren erprobt. Aufgabe Unsere Aufgabe war es, mit der einfach zu lernenden Programmiersprache von Netlogo verschiedene Situationen von Tieren in Gruppen zu erstellen und auszuprobieren. Die schlichte 2D-Darstellung erlaubt, auch grosse Mengen an Schafen, Schildkröten oder Änlichem zu kontrollieren und zu beinflussen. Die e Resultate esu tate zuu uunserem se e Sc Schildkrötenprojekt d ö e p oje * : - Vergleicht man eine organisierte Gruppe mit einer Horde zielloser Einzelkämpfern, ist die Horde klar benachteiligt. - Vergleicht man zwei organisierte Gruppen, überleben beide lange. (siehe r. Bild) - Gibt es überhaupt keine Gruppenbildung, haben beide nur eine kurze Ü Überlebensdauer. * sjf.ch.vu Projekt 11: Augmented Reality Valentin Scherer (Erlinsbach SO), Dennis Bruhin (Wolhusen LU) Tutor: Florian Müller Einleitung Wir wollten eine bestehende Verkehrssimulation erweiteren und verbessern. Wie laesst sich eine Simulation auf einem Stadtplan darstellen? Google Maps Programmierskript Simulation Endversion Aufgabe Google Streetview Wir haben am ersten Tag ein Skript erhalten, erhalten welches eine Verkehrssimulation enthielt und mussten uns in dieses zuerst einarbeiten, um sie dann spaeter selbst erweitern zu koennen. Die Simulation ist an einer Strassenkreuzung mit vier zufuehrenden Strassen und unser Ziel war es, eine annaehernd realistische Situation zu programmieren. Das Ganze haben wir auf eine Stadtkarte von Basel projeziert, damit es noch besser wirkt. Schlussfolgerungen Wuerde man die ganze Simulation in 3D setzen, braeuchte man mehr Javakenntnisse und laenger Zeit am Projekt zu arbeiten. arbeiten Die urspruengliche Idee, die Simulation in 3D zu setzen, waere zu kompliziert geworden. Projekt 17: NanoWebVis David Schlebusch (Wetzikon ZH) Tutor: Tim Nüchel 3D Nano Visualisierung der Welt des Kleinen Raster-Tunnel-Mikroskop Reliefdaten Als 3D Map Als einzelne 3D Körper Das Raster-Tunnel-Mikroskop erstellt ein Graustufen Bild. Schwarz zeigt die tiefsten stellen Weis die höchsten. Dieses Bild wird von POV-Ray eingelesen und in 3D als Höhenkarte dargestellt. Danach wird die obere Hälfte der Höhenkarte abgeschnitten, gespiegelt und man erhält einzelne 3D Objekte. Aufgabe Die Idee war es, es die 2D Daten die von dem Raster Raster-Tunnel-Mikroskop Tunnel Mikroskop kommen zu verarbeiten und in 3D darzustellen, damit sie besser erfasst werden können und auch für die Öffentlichkeit interessanter werden. Ich habe dabei das Programm POV-Ray verwendet, welches fotorealistische Bilder liefert. In diesem Programm kann man die Beleuchtung, die Lage der Objekte und die Kamera einstellen. Auch die einzelnen Moleküle habe ich freigestellt. Somit lassen sich auch mehrere Schichten von Aufnahmen übereinander legen legen. Schlussfolgerungen Ich finde es sehr sinnvoll die Reliefdaten in 3D darzustellen. Dadurch werden sie viel übersichtlicher und besser begreifbar. Ich denke das es sinnvoll ist in diesem Bereich weiter zu forschen, so dass die Mikroskopdaten direkt in 3D Körper umgewandelt werden. d Das Programm POV-Ray Am Anfang war das Nichts Partikel einblenden nd mit Be eg ng ersehen Partikel einblenden und mit Bewegung versehen Grenzen hinzufügen Grenzen hinzufügen Schwerkraft und Kollisionserkennung Projekt 13: Bessere Simulation mit Grafikkarten Samuel Zimmermann (Stans NW), Michael Liem (Hergiswil NW), Roman Käslin (Beckenried NW), Sandro Kalbermatter (Brig-Glis VS) Tutor: Tobias Maier Einleitung Moderne Grafikkarten bieten mittlerweile mehr Leistung als Prozessoren. Wir wurden vor die Herausforderung gestellt, innerhalb einer Woche ein selbst geschriebenes Simulationsprogramm herzustellen und auf einer Grafikkarte auszufüren. #include <stdlib.h>#include <stdio.h>#include <time.h>#include <math.h>#include <iostream>#include <GL/glut.h>#include <GL/gl.h>#include <GL/glu.h>#include <unistd.h>#include "particle.h"using namespace std;struct float3 { double x; double y; double z;};struct Particle { struct float3 pos; struct float3 v; GLfloat color[3];};// Particles#define N 100 // Anzahl Kugeln#define T 0.05 // Zeit: Entspricht der Geschwindigkeit#define D 0.75 // Dämpfung: Restenergie nach Kollision#define G 100 // Gravitationskonstantestruct Particle particle[N];/* The main drawing function. */void display(){ size_t i, j; glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); glLoadIdentity(); // Draw box glTranslatef(0.0f,0.0f,-50.0f); glRotatef(psi,0.0,1.0,0.0); glRotatef(theta,1.0,0.0,0.0); glMaterialfv(GL_FRONT, GL_DIFFUSE, white); glMaterialfv(GL_FRONT, GL_EMISSION, white); glutWireCube(20.4f); for(i = 0; i < N; i++) { struct Particle* p = &particle[i]; glPushMatrix(); glTranslatef(p->pos.x, p>pos.y, p->pos.z); glMaterialfv(GL_FRONT, GL_AMBIENT, black); glMaterialfv(GL_FRONT, GL DIFFUSE, p GL_DIFFUSE, p->color); >color); glMaterialfv(GL FRONT, GL_EMISSION, glMaterialfv(GL_FRONT, GL EMISSION, p p->color); >color); glMaterialfv(GL FRONT, glMaterialfv(GL_FRONT, GL_SPECULAR, white); glMaterialf(GL_FRONT, GL_SHININESS, 50.0f); glCallList(theSphere); glPopMatrix(); } // Swap the buffers to display, since double buffering is used. glutSwapBuffers();}void simulate(){ // TODO: simulation code (update velocity, position, collision detection, ...) // display the current state for(int i=0;i<N;i++) { GBDATA->X &3 8 *38 Aufgabe Ziel war, ein Programm zu schreiben, welches die Bewegung von virtuellen Partikeln möglichst physikalisch korrekt in einem definierten, definierten dreidimensionalen Raum simuliert und das direkt auf einer Grafikkarte läuft. Konkret heisst das, dass wir einen 3D-Würfel vorgegeben hatten und dann kleine Kügelchen dazu bringen mussten, sich möglichst naturgetreu und echt im Würfel zu bewegen, ohne dass sie diesen verlassen. Eine Hauptschwierigkeit bestand darin, dass das Programm nicht wie normal auf einem Prozessor, sondern direkt auf einer Grafikkarte läuft. Dadurch wird zwar mehr Leistung g erzielt, aber die Grafikkarte „kennt“ weniger Befehle als der Prozessor. Schlussfolgerungen -Naturgetreues Verhalten der Partikel erwies sich als sehr schwierig -Fehler haben Fantasie -Das Überschreiben auf die Grafikkarte ist sehr zeitaufwendig -Zum Programmieren ist sehr viel mathematisches und vor allem logisches Verständnis notwendig Projekt 18: Schlaue Reiseplanung – Packe deinen Koffer Robert Simpson (Fischbach LU), Desiree Scheidt (Wetzikon ZH) Tutor: Marcel Buechner Unser Projekt: Mögliche Wir hatten das Thema “ Schlaue Reiseplanung – Packe deinen Gegenstände: Koffer! “ In unserem Projekt, im Bereich der Theoretischen Informatik, ging es darum, einen Rucksack optimal mit gegebenen Gegenstaenden zu fuellen. Fehler ! Herausforderungen: Da wir beide noch kaum Erfahrungen mit der Programmiersprache Java hatten, hatten war das Programmieren anspruchsvoll. Was wir gelernt haben: Wir haben gelernt; 1.dass wie man in Java objekte j und Listen p programmiert. g 2.dass die theoretisch Informatik viele schwierige Probleme hat,welche man nicht so einfach loesen kann auch wenn es sich so einfach anhoert. 3.dass man viel geduld braucht um etwas zu programmieren. 4.Projekte systematisch an zu gehen. Rucksack Projekt 19: Simulation des Tierverhaltens htt // http://www.youtube.com/watch?v=nIKTGlIIZeM t b / t h? IKTGlIIZ M Robert Simpson (Aarau AG), Adrian Aregger (Winterthur ZH) Tutor: Florian Lindörfer Einleitung Um die komplexen Vorgänge in der Natur zu verstehen bietet es sich an, diese in abstrakten Simulationen abzubilden. So kann man zum Beispiel auf einfache Weise zeigen, dass es nicht immer einen Unfall braucht, damit ein Stau entsteht, oder wie die Population eines Jägers mit der seiner Opfer zusammenhängt. Aufgabe Die Aufgabenstellung bestand darin, eine solche Tiersimulation selbst zu programmieren. Als erstes musste in der Gruppe entschieden werden, was überhaupt simuliert werden sollte. Die Wahl fiel auf eine Verbesserte Wolf-vsSchaf Simulation, da hier nach Meinung der Gruppe komplexes Verhalten eine sehr grosse Rolle spielt. spielt Die der Simulation zu Grunde liegende Programmiersprache, genannt NetLogo, unterscheidet sich in einigen Punkten von Sprachen wie VB oder C, was eine gewisse Einarbeitungszeit erforderlich machte. Schlussfolgerungen Sehr schnell konnten wir feststellen, dass ein korrekt angewandtes Verhaltensmuster u.U. enorme Auswirkungen auf die Populationsgrössen hat. Leider steigt mit der Komplexität der Verhaltend diejenige des Programmcodes, was uns zwang, unsere hohen Ziele zurückzustecken. D haben Das h b wir i erreicht: i ht - Fress- / Trinkverhalten - Jagd- / Fluchtverhalten - Vermehrung