Refine
Year of publication
- 2009 (11) (remove)
Document Type
- Diploma Thesis (6)
- Bachelor Thesis (4)
- Doctoral Thesis (1)
Has Fulltext
- yes (11) (remove)
Is part of the Bibliography
- no (11)
Institute
- Informatik (11)
Algorithms and data structures constitute the theoretical foundations of computer science and are an integral part of any classical computer science curriculum. Due to their high level of abstraction, the understanding of algorithms is of crucial concern to the vast majority of novice students. To facilitate the understanding and teaching of algorithms, a new research field termed "algorithm visualisation" evolved in the early 1980's. This field is concerned with innovating techniques and concepts for the development of effective algorithm visualisations for teaching, study, and research purposes. Due to the large number of requirements that high-quality algorithm visualisations need to meet, developing and deploying effective algorithm visualisations from scratch is often deemed to be an arduous, time-consuming task, which necessitates high-level skills in didactics, design, programming and evaluation. A substantial part of this thesis is devoted to the problems and solutions related to the automation of three-dimensional visual simulation of algorithms. The scientific contribution of the research presented in this work lies in addressing three concerns: - Identifying and investigating the issues related to the full automation of visual simulations. - Developing an automation-based approach to minimising the effort required for creating effective visual simulations. - Designing and implementing a rich environment for the visualisation of arbitrary algorithms and data structures in 3D. The presented research in this thesis is of considerable interest to (1) researchers anxious to facilitate the development process of algorithm visualisations, (2) educators concerned with adopting algorithm visualisations as a teaching aid and (3) students interested in developing their own algorithm animations.
Diese Arbeit beschäftigt sich mit der konkreten Erzeugung von 2-3D Visualisierung. Im Fokus steht der notwendige Prozess zur Erzeugung von Computergrafik.
Da die Computergrafik heut zu Tage wichtiger Bestandteil vieler Aufgabengebiete ist, sollte deren Nutzung auch allen Menschen zugänglich sein. In den vergangen Jahren blieb dies meist nur Leuten aus den Fachgebieten vorbehalten, aufgrund der Komplexität und des notwendigen „Know-how“ über die Thematik. Mittlerweile gilt diese Tatsache als überholt. Viele Erneuerung im Bereich von Hardware und Software haben es ermöglicht, dass selbst ungeübte Anwender in der Lage sind, ansehnliche 3D Grafiken an ihren PCs bei der Arbeit oder zu Hause zu erzeugen. Dies soll ebenfalls das Ziel dieser Arbeit sein. Dazu wird in eine Applikation erstellt die die Visualisierung von graphischen Primitiven unter der Verwendug von Microsofts DirectX leicht und schnell ermöglichen soll. Als Basis dient ein Rendering-Framework, welches auf einheitliches Schnittstellenkonzept setzt, um die strikte Trennung zwischen Anwender- und Fachwissen zu vollziehen.
Weitere Schwerpunkte dieser Arbeit liegen im Bereich der Modellierung von graphischen Primtiven und der Nutzung von Shadern. Dazu wird in der Modellierung der Import von archivierten Modellen umgesetzt. Die Nutzung von Shadern soll soweit vereinfacht werden, dass Anwender auf Shader beleibig zugreifen können. Dies soll durch eine Verknüpfung zwischen Shadern und Modellen erfolgen, die ebenfalls im Bereich der Modellierung erfolgt.
Klassische Bildmanipulation spielt sich meist im Zweidimensionalen, also in der reinen Bild-ebene ab. So werden beispielsweise Objekte aus Fotos entfernt, indem die dahinterliegende Struktur nachgezeichnet wird, oder es werden mehrere Teilbilder zu einem neuen, verfälschten Motiv zusammengesetzt. Bei der sogenannten Bildretuschierung werden unschöne Bereiche übermalt, um einen besseren Gesamteindruck zu erreichen. All diese Manipulationen haben im Grunde das gleiche Ziel: Das Erstellen einer möglichst realistischen Verfälschung der darge-stellten Szene indem die eigentlich dreidimensionalen Elemente in 2D imitiert werden.
Ziel dieser Arbeit ist es, von der reinen Zweidimensionalität eines Bildes Abstand zu nehmen und ein neues Verfahren zu entwickeln, Manipulationen im wirklichen 3D-Inhalt des Fotogra-fierten vorzunehmen. Dazu wird die klassische Bildmanipulation mit aktuellen Verfahren aus dem Bereich Multi View Stereo verknüpft. In einem ersten Schritt wird aus einer Fotoserie ein 3D-Modell mit passenden Texturen erstellt, welches anschließend nach Belieben manipuliert werden kann. Diese Veränderungen werden schließlich wieder in die Originalbilder übertragen, wodurch eine 3D-unterstützte Bildmanipulation realisiert wird.
Die praktische Umsetzung des vorgestellten Verfahrens basiert teilweise auf bereits vorhan-dener Software, die mit dem Ziel der Bildmanipulation neu kombiniert und durch eigene Um-setzungen ergänzt wird. So entsteht eine funktionierende Implementierung, die den kompletten Weg vom Original bis hin zum manipulierten Bild abdeckt.
Jede erfolgreiche Software muss in einer geeigneten Art und Weise mit der Person, die sie benutzt, in Verbindung treten. Diese Schnittstelle zwischen Mensch und Maschine ist ein zentraler Baustein in der Softwareentwicklung. Eine noch so mächtige und ausgereifte Software kann ihr Potential nicht ausschöpfen, wenn Probleme und Missverständnisse bei der Kommunikation mit dem Anwender auftreten.
Bei graphischen Benutzeroberflächen erfolgt die Interaktion zwischen Benutzer und technischem System mittels graphischer Symbole, die am Bildschirm dargestellt werden. Die Oberfläche setzt sich aus verschiedenen Menüs und Steuerelementen mit dem Ziel zusammen, die zugrunde liegende Software für den Anwender bedienbar zu machen. Als Eingabegeräte dienen vor allem Maus und Tastatur. Für die Human Computer Interaction oder abgekürzt HCI (Mensch-Computer Interaktion) sind spezielle Normierungen und Anforderungen erstellt worden, die den Entwicklungsprozess unterstützten.
In dieser Arbeit wird eine graphische Benutzeroberfläche für einen Shader Viewer entworfen und implementiert. Beginnend bei ersten Skizzen und Prototypen wird der Entwicklungsprozess bis zur fertigen graphischen Oberfläche dargestellt. Probleme bei der Erstellung werden aufgezeigt und Lösungsstrategien entwickelt. Vor allem spielen Design und Usablity eine entscheidende Rolle. Verschiedene Aspekte und Alternativen, die im Entwicklungsprozess zu beachten sind, werden näher beleuchtet.
Shader zur Bildbearbeitung
(2009)
In den letzten Jahren haben Grafikkarten eine starke Veränderung erfahren. Anfangs war lediglich die Darstellung vorberechneter Primitive möglich, mittlerweile lassen sich Vertex- und Pixelshader komplett frei programmieren. Die Spezialisierung auf den Rendervorgang hat die GPUs (Graphics Processing Units) zu massiv-parallelen Prozessoren wachsen lassen, die unter optimaler Ausnutzung ein Vielfaches der Rechenleistung aktueller CPUs erreichen. Die programmierbaren Shader haben Grafikkarten in der letzten Zeit vermehrt als weiteren Prozessor für General Purpose-Programmierung werden lassen.
Aktuelle Bildbearbeitungsprogramme zeigen, dass sich die Tendenz Richtung GPU bewegt, so wird sich auch in dieser Arbeit die enorme Rechenleistung der GPU für die Bildbearbeitung zu nutzen gemacht. Bildfilter lassen sich als Pixelshader realisieren und ermöglichen so die Ausführung direkt auf der GPU. Das vorgestellte Framework SForge wurde mit dem Ziel entwickelt, zu einem bestehenden Framework kompatibel zu sein. Als bestehendes Framework wurde auf AForge zurückgegriffen. Mit SForge können bestehende und eigene Bildfilter direkt auf der GPU ausgeführt werden, aber auch die Konvertierung von Farbräumen und Farbsystemen wurden realisiert. Das Framework arbeitet floatbasierend. Somit können auch HDR-Daten verarbeitet werden, um beispielsweise Tonemapping anzuwenden. Filter mit Parametern lassen sich über einen optionalen Dialog interaktiv ändern und modifizieren das Resultat in Echtzeit.
Diese Diplomarbeit hatte das Ziel ein Konzept zu erstellen, welches es ermöglicht, interessante und weniger interessante Artikel innerhalb eines Wikis zu erkennen und diese Informationen in verständlicher Form zur Recherche visuell bereitzustellen.
Dabei sollte das Konzept möglichst offen sein, so dass theoretisch jedes Wiki an die Visualisierung hätte angebunden werden können. Hier lag bereits das erste Problem, zum Zeitpunkt der Arbeit existieren bereits mehr als 100 unterschiedliche Wikis mit unterschiedlichen Architekturen. Wegen der Unterschiede der jeweiligen Wikisysteme entschloss man sich daher zwei Konzepte zu erarbeiten, ein allgemeines, welches wie in der gestellten Zielsetzung, das Einbinden jedes Wikis ermöglicht und ein Spezialfall, der die Vorteile einer API nutzt. Der Spezialfall wurde in ähnlicher Form in einer Implementierung umgesetzt.
Zu Beginn der Diplomarbeit mussten die unterschiedlichen Möglichkeiten der Extraktion von Informationen aus einem Wiki untersucht werden. Es hatte sich ziemlich früh herausgestellt das Links, Backlinks sowie Kategorien wichtige Indikatoren zur Bewertung eines Artikels darstellen. Damit die Bewertung der Informationen nicht nur alleine auf der Struktur eines Wikis beruht, wurde ein Thesaurus zur unterstützenden Bewertung miteinbezogen. Dieser lieferte durchgehend gute Ergebnisse, wobei - wie erwartet - der Thesaurus sehr schnell an seine Grenzen gekommen war, insbesondere wenn man die Anzahl der Artikel eines großen Wikis mit der Anzahl der Wörter die im Thesaurus gespeichert sind vergleicht.
Die extrahierten und gewichteten Informationen wurden im zweiten Schritt visualisiert, dabei hatte sich der Radial-Graph als eine gute Lösung zur Darstellung der Informationen herausgestellt. Neben einem Graphen mit gewichteten Knoten wurden in der Visualisierung unterschiedliche Ansichten der extrahierten Daten bereitgestellt: eine Autorenansicht, die zum gesuchten Artikel die Autoren darstellt, eine semantische Ansicht, die Wortbeziehungen veranschaulicht sowie eine Artikelansicht, die den Nutzer neben den gewichteten Artikeln auch wie gewohnt in einer Wiki lesen lässt.
Lernplattformen sind E-Learning-Systeme, deren Kernfunktionalität die Verwaltung und Verteilung von Lernmaterialien über das World Wide Web ist. In dieser Arbeit wurde untersucht, wie durch Aufzeichnung (Tracking), Auswertung und Visualisierung von Lernaktivitäten in Lernplattformen eine Verbesserung der Lernqualität erreicht werden kann. Der Ansatzpunkt dafür war, Informationen zu Lernaktivitäten in geeigneter Weise Lehrenden und Lernenden zu präsentieren, so dass diese Rückschlüsse ziehen können, um Lernprozesse eigenständig zu optimieren. Viele Lernplattformen verfolgen bereits diesen Ansatz und verfügen deshalb über entsprechende Funktionalität.
Es mussten zwei wesentliche Fragen beantwortet werden:
1. Was müssen Lernende und Lehrende über erfolgte Lernaktivitäten wissen?
2. Wie werden Lernaktivitäten in geeigneter Weise präsentiert?
Diese Fragen wurden durch Betrachtung existierender Lernplattformen (State of the Art) sowie Befragung von Experten in Form von Interviews beantwortet. Zur Beantwortung der 2. Frage wurden außerdem allgemeine Grundlagen der Auswertung und Visualisierung von Daten verwendet sowie (zu einem geringen Teil) Auswertungs- und Visualisierungsverfahren von Systemen, die keine Lernplattformen sind. Besondere Aufmerksamkeit wurde auch dem
Datenschutz gewidmet.
Beruhend auf den gewonnenen Erkenntnissen wurde dann ein Konzept für ein Auswertungs-/Visualisierungssystem entwickelt das in verschiedenen Punkten eine Verbesserung des State of the Art darstellt.
Teile des Konzepts wurden schließlich für das webbasierte Softwaresystem LernBar, das über einen Großteil der Funktionalität einer Lernplattform verfügt, prototypisch implementiert. Durch die Implementierung soll es ermöglicht werden, das Konzept im praktischen Einsatz zu evaluieren, was im Rahmen dieser Arbeit nicht möglich war.
Konzeption und Implementierung einer Kommunikation zwischen Second Life und Web 2.0 Anwendungen
(2009)
Im Rahmen dieser Arbeit haben wir ein Konzept und einen Prototypen zur Kommunikation zwischen Second Life und Web 2.0 entwickelt.
Im Rahmen dieser Diplomarbeit wird ein Konzept und ein Prototyp zur Kommunikation zwischen Second Life und Web 2.0-Anwendungen entwickelt. In der Übung zur Veranstaltung "Einführung in das Projektmanagement" wurden Meetings in Second Life abgehalten. Dabei haben die Studierenden im Rahmen der Übung Protokolle erstellt, die sie im Internet veröffentlichten. Die Protokollierung musste immer manuell durchgeführt werden und war dadurch fehleranfällig und nicht ausfallsicher. Hier entstand der Wunsch, die Protokollierung zu automatisieren und somit den administrativen Aufwand zu reduzieren.
Im Kapitel 2 werden die Grundlagen behandelt, die für das Verständnis der Arbeit notwendig sind. Hierbei werden Second Life, sowie Blog und Wiki als Repräsentanten von Web 2.0 vorgestellt. Außerdem wird eine klare Abgrenzung zwischen diesen Technologien aufgezeigt.
Die Analyse dieser Diplomarbeit umfaÿt unter anderem die verschiedenen Möglichkeiten der Übertragung der Informationen zwischen Second Life und den Web 2.0-Anwendungen.
Im Konzept ist die Gesamtarchitektur zur Kommunikation zwischen Second Life und den Web 2.0 Anwendungen enthalten. Die Hauptsystemkomponenten, die dafür notwendig sind, stellen eine Ansammlung aus Second Life Skripten, dem HTTP Supervisor und den Wiki Bot Skripten dar. Die Second Life und die Wiki Bot Skripten sind eine Ansammlung von Unterprogrammen, die jeweils auf eine Aufgabe spezialisiert sind. Die genaue Erklärung wird im Kapitel 4 Aufgrund der Unterschiede der Web 2.0 Anwendungen wurde ein Bot eingesetzt, der eine Web 2.0 Anwendung bedient. Der HTTP Supervisor dient der Vermittlung dient der Vermittlung der Daten zwischen Second Life und der Web 2.0 Anwendung. Auÿerdem speichert er die Daten in temporäre Dateien. Der Second Life Teil des Programms dient der Steuerung des gesamten Systes.
Durch die prototypische Umsetzung ist die Durchführbarkeit bewiesen, die Daten aus Second Life herauszuführen und im MediaWiki zu speichern.
Trotz eines umfangreichen Angebots an Literatur und Ratgebern im Bereich des Projektmanagements scheitern auch heute noch viele IT-Projekte. Ursache sind oft Probleme im Projektteam oder Fehleinschätzungen in der Planung des Projektes und Überwachung des Projektstatus. Insbesondere durch neue Technologien und Globalisierung entstandene Arbeitsweisen wie das virtuelle Team sind davon betroffen. In dieser Arbeit wird auf die Frage eingegangen, was virtuelle Teams sind und welche Probleme die Arbeit von virtuellen Teams belastet. Dafür werden aktuell existierende Tools aus dem Bereich des Web 2.0 analysiert und aus dem Stand der angebotenen Tools vermeidbare Schwächen der Helfer herausgearbeitet. Anschließend wird ein mittels einer Anforderungsanalyse und eines Konzepts, welches neue Methoden zur Darstellung von Projektstatus und Verknüpfung mit Dokumentation und Kommunikation nutzt, das Tool „TeamVision“ erstellt, welches versucht, virtuelle Teams möglichst effizient zu managenen, Probleme schnell zu erkennen und somit die Arbeit innerhalb des Teams zu beschleunigen. Hierbei wird insbesondere das Ergebnis der Analyse benutzt, dass viele Tools einzelne Verwaltungsaufgaben getrennt durchführen. Informationen müssen vom Nutzer selbst aus den verschiedenen Grafiken, Listen oder anderen Darstellungen gesammelt und selbst assoziiert werden. Die prototypische Implementierung von TeamVision versucht den Informationsfluss beherrschbar zu machen, indem Übersichten in einem Projektbaum zusammengefasst werden, der mittels Zoomfunktionen und visueller Hilfsmitel wie Farbgebung versucht, die Informationsbeschaffung zu erleichtern.