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

Documentos relacionados