Kepi-IMP

Processing - Bad Apple!! Video


Projekt im Rahmen des IMP-Profils am JKG Reutlingen


Sergiy Vasylenko, Klasse 10b


Gliederung

  1. Allgemeine Beschreibung
  2. Eigene Interesse am Projekt
  3. Umsetzung
  4. Probleme
  5. Lösung


Inhalt des Projekts / Thematischer Überblick


In diesem Projekt habe ich ein Programm erstellt, um das Video "Bad Apple!!" auf Processing abzuspielen und als Vektorgrafiken in eine pseudo Bitmap zu übertragen. Wobei man dieses Programm auch für andere Videos benutzen kann. Ich habe mich für dieses Thema entschieden, denn im Internet ist das Video "Bad Apple!!" dafür bekannt auf verschiedenen Geräten und Medien abgespielt zu werden. Die vielleicht nicht dazu gedacht waren, je ein Video darauf abzuspielen. Bad Apple!! ist ein relativ leichtes Video um es abzuspielen, da das ganze Video aus Grayscale besteht, wobei es zum größtem Teil aus nur schwarz und weiß besteht. Zuerst habe ich nachgedacht, wie ich überhaupt Bad Apple!! auf Processing abspielen würde. Das Video an sich selbst ist sehr leicht von Youtube zu bekommen. Aber ich hatte noch nie zuvor etwas mit Video Files in Processing gemacht. Ich habe ein Video Library für Processing gefunden und habe dieses schließlich für die Basis meines ganzen Projektes genutzt. Zunächt habe ich einen Weg gufunden, wie ich diese Abbildung in einer Vektorgrafik übertragen könnte. Mein erster Gedanke war, diese wie ein CRT Bildschrirm zu gestalten. Ein CRT funktioniert, indem er Lichtstrahlen auf ein Panel strahlt und das nämlich im Reihengang. Der Lichtstrahl fängt links an, geht nach rechts und am Ende der Spalte geht er eine Reihe nach unten und fängt wieder an der ersten Spalte an. Wenn man diesen Prozess sehr schnell macht, dann kommt das für das menschliche Auge so an, als ob das Bild flüssig wäre. Diese Logik habe ich auch für mein Programm angewendet. Ich habe die Koordination x und y. Jeden Frame überprüfe ich ob an dieser Koordinate die Farbe schwarz oder weiß ist. Dann zeichne ich diese Farbe als Quadrat auf und rücke mein Koordinate weiter vor. Jedes mal, wenn ich meine Koordinate vorrückt, male ich ein weißes Quadrat auf das nächst liegende Quadrat, sodass ich mein Bild neupixeln kann. Der Befehl, den ich benutze um die Farbe eines Pixels herauszufinden ist der get() Befehl. Dieser Befehl ist jedoch ziemlich langsam und um ein Bild zu generieren, braucht also viel Zeit. Deswegen habe ich mich dafür entschieden, stattdessen mich damit zu quälen ein Programm aufzustellen, welches eine vollkommen flüssige Abbildung generiert, die Abbildung aufzuzeichnet und danach in eine Zeitspule setzt. Dies ist auch, wie viele andere Leute es im Internet machen, die viel schlauer sind als ich. Und nebenbei habe ich auch die Aufzeichnung der Pixel im oberen und unteren Teil aufgeteilt. Ich weiß nicht warum, aber wegen dieser Aufteilung läuft das Program genau so schnell, wie vorher, obwohl ich zwei mal so viel im selben Frame mache. Am Ende ist ein Video raus entstanden, mit dem ich sehr zufrieden war.


Fazit


Als Ich das Projekt anfing, war es nicht als Projekt gedacht, da wir damals mit dem IMP-Projekt noch nicht angefangen hatten. ES war nur ein Leidenschaftprojekt. Jedoch hat es mir sehr gefallen dieses Projekt zu entwickeln und zu optimieren. Das Programm möge nicht sehr nützlich zu sein, aber ich habe viele zum Programieren dazugelernt und hatte Spaß daran.


Weiterführende Links