Portfolio

Daniel Schmidt

Wetter-Uhr

Dies ist eine Website, die das Wetter am Standort des Besuchers anzeigt. Jedoch nicht im klassischen Sinn, sondern in der abgebildeten Szene herrscht immer das gleiche Wetter, wie gerade beim Besucher.

Den Minutenzeiger der Uhr kann man mit dem Mauszeiger drehen und somit das Wetter in den vergangenen Stunden/Tagen bzw. die Wettervorhersage der kommenden Stunden/Tage sehen.

Hier habe ich mit JavaScript, HTML, CSS, einigen JavaScript Bibliotheken, einer Wetter API und Adobe Illustrator gearbeitet.

Es werden sehr viele Aspekte des Wetters visualisiert, unter anderem die exakte Zeit von Sonnenauf- und Untergang, die Temperatur (durch wärmere/kältere Farbfilter), die Menge an Wolken, die Windstärke und die Regenwahrscheinlichkeit. Beispielsweise beeinflusst die Windstärke die Geschwindigkeit, mit der sich die Wolken bewegen, sowie den Winkel in dem der Regen zu Boden fällt.

Live-Demonstration

Download Quellcode

Screenshot Wetter

Environment Console

Im Kontext des Projektes "Virtual Traffic Simulator", in dem das Straßennetz von Borgfeld in einer virtuellen Umgebung nachgebaut wurde, habe ich in alleiniger Arbeit ein Tool zum Kontrollieren der Umgebung entwickelt.

Dieses in Python geschriebene Programm kann den aktuellen Sonnenstand (Tag/Nacht Rythmus) und vielerlei Eigenschaften des Wetters mit Hilfe von Buttons und Schiebereglern beeinflussen. Zudem können auch mehrere Szenarios gestartet werden, die dann in der Simulation ablaufen. (Die Szenarios selbst wurden nicht von mir geschrieben)

Ein Highlight der Environment Console ist der automatisch ablaufende Tag/Nacht Rythmus und der automatische Wetterzyklus, der zwischen verschiedenen Wetterlagen variiert.

In diesem Projekt habe ich mit Python, multithreading, multiprocessing sowie der GUI Library Kivy gearbeitet.

Video-Demonstration

Download Quellcode (Environment Console)

Download Quellcode (Gesamtes Projekt, 6.5GB [entpackt 14.6GB])

Environment Console

Paper: Implementation of Real Time Traffic Data Visualization Techniques Using Data from a Virtual Environment

Dies ist ein Paper, dass am Ende des Gruppenprojektes "Virtual Traffic Simulator" (siehe Environment Console oben) entstanden ist. Es beschäftigt sich mit der Implementation von Visualisierungstechniken für Verkehrsdaten aus einer Simulation in Echtzeit. Die Daten dafür stammen aus oben genannter Simulation des Straßennetzes von Borgfeld.

Ich hatte Anteil am gesamten Prozess der Recherche und Themenfindung. Mein spezifischer Beitrag zu diesem Paper sind die Kapitel 2.1 (Data provided by CARLA), wo die aus der Simulation zur Verfügung stehenden Daten erläutert werden, Teile von Kapitel 2.2 (Required Preprocessing), Kapitel 3.1 (Simulation) wo über den ersten Teil unseres Analyse-Tools berichtet wird, sowie Kapitel 4.2 (Interactive and Web-based Visualization) in dem ein Ansatz aus einer ähnlichen Arbeit aufgegriffen wird.

Download Paper

Angry Fish

Im Rahmen des Kurses "Entertainment Computing" sollten wir einen Klon des bekannten Klassikers "Angry Birds" erstellen und eine beliebige Änderung oder Erweiterung vornehmen. Dies war nicht das finale Projekt des Kurses, sondern eine Übung.

Dieses Spiel wurde in der Unity Game-Engine entwickelt. Meine Änderung gegenüber dem klassischen "Angry Birds" war zum einen das Design des Spiels mit Fischen und unter Wasser zu gestalten und zum anderen als Projektil keinen Vogel, sondern einen Kugelfisch zu nehmen. Diesen kann man nach dem abschießen mit einem drücken der Leertaste aufblasen, wodurch er größer wird und anfängt hoch zu fliegen, anstatt zu fallen.

Hier habe ich mit Unity, C#, Adobe Photoshop und Adobe Illustrator gearbeitet.

Download Quellcode

Screenshot invertierte Website

Psychoacoustical Audio Analyzer

In dem Kurs "Psychoacoustical Audio Programming" haben wir in Gruppenarbeit einen psychoakustischen Audioanalysator implementiert und evaluiert. Dafür haben wir verschiedene Modelle auf Grundlage wissenschaftlicher Arbeiten programmiert und anschließend bewertet, wie gut sie in realen Szenarien funktionieren.

Mein Anteil in dieser Gruppenarbeit liegt neben allgemeiner Recherche und Evaluation vor allem beim Lautheitsmodell. Dieses Modell analysiert einen gegebenen Input und berechnet daraus die vom menschlichen Gehör wahrgenommene Lautstärke. Was erstmal einfach klingt, wird schnell kompliziert, wenn man sich mit den Eigenarten des menschlichen Gehörs beschäftigt. Unterschiedliche Frequenzen werden unterschiedlich laut wahrgenommen. Abhängig von der Gesamtlautstärke variiert die Empfindlichkeit gegenüber einzelnen Frequenzen. Hinzu kommt, dass sehr laute Töne andere Geräusche in benachbarten Frequenzen übertönen. Ein Ton übertönt vor allem höhere Töne, aber fast gar nicht tiefere. All dies muss in der Berechnung der empfundenen Lautstärke berücksichtigt werden.

Hier habe ich mit Python und vielen verschiedenen mathematischen Formeln gearbeitet. Die Ergebnisse unserer Arbeit sind in einem von uns verfassten Paper festgehalten.

Download Paper

Download Quellcode

ImageDoc

Im Kurs "Mobile App Development" haben wir in Gruppenarbeit eine Flutter App zur Unterstützung von Content Creators entwickelt.

Die App hat mehrere Funktionen: sie kann einen Weißabgleich durchführen bzw. die Lichttemperatur in Kelvin messen, die Hauptfarben in einem Bild identifizieren und ausgeben, sowie verschiedene Farbfilter auf Fotos anwenden.

Meine Arbeit war vor allem die Berechnung der Farbtemperatur, testen und sicherstellen der Kompatibilität zu iOS, Erstellung von Logo und SplashScreen, Mitarbeit bei zahlreichen Nebenfunktionen wie z.B. der Gallerie und Smartphone-Zugriffsberechtigungen und das Erstellen des finalen Präsentationsvideos.

Hier habe ich mit Flutter, Dart und Android Studio gearbeitet.

Download Quellcode

Invertierte Website

Diese Website ist im Rahmen eines Kurses an der HfK entstanden. Ziel war es sich den Konventionen von modernen Webseiten in irgendeiner Form zu widersetzen. Mein Ansatz war, mich der Konvention eine Seite von oben nach unten zu lesen, zu widersetzen.

Dafür habe ich nicht nur den Lesefluss invertiert, sodass der Footer oben und der Header unten ist, sondern auch viele weitere Elemente. Zum Beispiel ist die Bewegung des Mauszeigers vertauscht und die Scrollrichtung invertiert. Alle Texte sind rechtsbündig und die Überschriften grundsätzlich unter dem zugehörigen Abschnitt. Da auf dieser Website oben unten ist, habe ich mich bei dem Inhalt für Australien entschieden.

Highlight ist der blaue Button im Header der Seite (unten). Durch ihn lässt sich die komplette Website invertieren, sodass sie wie normal erscheint.

Hier habe ich mit CSS, JavaScript und HTML gearbeitet.

Live-Demonstration

Download Quellcode

Screenshot invertierte Website