[PYTHON] Ich habe es mit der Verarbeitung "Der lebende Othello-Typ von Sakanaction" geschafft.

Einführung

サカナクションのライブのオセロのやつ "Sakanaction's lebender Othello-Typ" ist das oben. Dies ist ein Bild des 2013 lebenden Aldebaran. Es mag schwer zu sehen sein, weil es nicht klar ist, aber Die Figur des Sängers Ichiro Yamaguchi wird auf der Rückseite mit der Vorder- und Rückseite von Othello ausgedrückt. Dieses Mal werde ich das Verfahren vorstellen, um dies mit der Verarbeitung zu machen!

Das fertige Produkt funktioniert übrigens wie unten! OthelloScreen

Othello dreht sich so! demo OthelloScreen

Was ist übrigens Verarbeitung?

Die Verarbeitung ist eine programmatische Zeichnung. (Hinweis: Auch Anfänger in der Programmierung sind in Ordnung! Lassen Sie uns mit Processing digitale Kunst machen) Wenn Sie den Modus auswählen, können Sie in Java, Javascript, Python usw. schreiben, was praktisch ist!

Codebeschreibung

[Github] OthelloScreen Ich habe dieses Verarbeitungsprojekt auf Github gepostet. Den gesamten Code finden Sie hier! In diesem Artikel möchte ich die Punkte zusammenfassen. Übrigens habe ich diesmal den Modus in Java geschrieben. Es ist ziemlich einfach, also zögern Sie nicht, es zu benutzen, wenn Sie frei sind!

・ Gesamtverarbeitung

Der Verarbeitungsablauf ist (1) Invertieren Sie das Kamerabild nur in horizontaler Richtung (die standardmäßig in der Verarbeitung als Spiegel bezeichnet wird). ② Machen Sie das Pixel des angegebenen Bildes hell und dunkel ③ Zeichnen Sie Othello, indem Sie die hellen und dunklen Werte durch die Neigung von Othello ersetzen. ist.

・ Einstellen der Größe des Ausführungsbildschirms und von Othello

int screenWidth = 1280;//checked 640, 1280
int screenHeight = screenWidth*3/4;
int cellSize = 20;

Geben Sie hier die Bildschirmgröße mit screenWidth (horizontal) und screenHeight (vertikal) an. Die Größe von Othello kann durch Ändern des Werts von cellSize geändert werden. Wenn der Wert jedoch zu klein ist, ist die Verarbeitung schwer und es wird ruckartig.

・ Sie können die Richtung ändern, indem Sie ...

    if(isMouseDragged){
      translate(width/2,height/2,0);
      rotateX(-(mouseY-height/2) / 150.0);
      rotateY((mouseX-width/2) / 200.0);
      translate(-width/2,-height/2,0);
    }

Sie können die Blickrichtung durch Ziehen ändern. Dies ist wahrscheinlich cool, wenn Sie die Bibliothek besser nutzen.

-Welche Pixelinformationen des Kamerabildes verarbeitet werden und das Kamerabild spiegeln

int loc = (video.width - x - 1) + y*video.width; // Reversing x to mirror the image

Die Werte von Spalten und Zeilen werden durch die Größe des Ausführungsbildschirms und von Othello bestimmt. Das Pixel, das sich auf hell und dunkel bezieht, wird loc zugewiesen. Zu diesem Zeitpunkt wird das Kamerabild horizontal gespiegelt (es scheint sich um einen Prozess zu handeln, der als Spiegel bezeichnet wird). Wenn Sie Ihren Körper mit einem Spiegel nach links neigen, Aus meiner Sicht ist der Körper des Bildes nach links geneigt (aus meiner Sicht des Bildes ist der Körper nach rechts geneigt), also Sie können das Video ohne Beschwerden sehen.

- Geben Sie den Hell / Dunkel-Wert des Bildes in die Methode draw_othello ein

othellos.get(i*(rows) + j).draw_othello(brightness(video.pixels[loc]));

Machen Sie die Farbinformationen im Pixel nur hell und dunkel mit Helligkeit, Ich habe helle und dunkle Werte in die draw_othello-Methode für jedes Element der Arrayliste der Othello-Klasse eingefügt.

-Draw_othello-Methode der Othello-Klasse

Vor der Methode draw_othello_shape Geben Sie Schwarz oder Weiß an und drehen Sie das Othello.

-Draw_othello_shape Methode der Othello Klasse

Da es in der Grundzahl der Verarbeitung keine Spalte gibt, Es wird lange dauern, aber schreiben Sie es so, wie es in dieser Methode ist.

・ Drücken Sie Matrix und Pop Matrix

Es ist eine Methode, die ich überall verwende, Speichern Sie die aktuellen Koordinaten mit pushMatrix, Die von popMatrix gespeicherten Koordinaten werden erneut erweitert.

das Ende!

Dies ist das Ende der Erklärung der Hauptpunkte von Othello Screen! habe Spaß!

Recommended Posts

Ich habe es mit der Verarbeitung "Der lebende Othello-Typ von Sakanaction" geschafft.
Ich habe einen Blackjack mit Python gemacht!
Ich habe COVID19_simulator mit JupyterLab erstellt
Ich habe Word2Vec mit Pytorch gemacht
Ich habe Wordcloud mit Python gemacht.
[Ich habe es mit Python gemacht] Tool für die Stapelausgabe von XML-Daten
Lebensspiel mit Python [ich habe es geschafft] (auf Terminal & Tkinter)
W3C-Validatoren haben mit Sublime Text3 nicht funktioniert, also habe ich es zum Laufen gebracht
Ich habe mit Python eine Lotterie gemacht.
Ich habe mit Python einen Daemon erstellt
Ich habe einen Chat-Chat-Bot mit Tensor2Tensor erstellt und diesmal hat es funktioniert
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (4)
HTTP Split Download Typ mit Python gemacht
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (2)
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (5)
Ich habe mit Python eine Hex-Map erstellt
Ich habe ein Lebensspiel mit Numpy gemacht
Ich habe einen Hanko-Generator mit GAN gemacht
Ich habe versucht, natürliche Sprache mit Transformatoren zu verarbeiten.
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe Othello dazu gebracht, Kindern Python3 beizubringen (3)
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe mit Python einen Neuronensimulator erstellt
Othello App (iOS App) erstellt mit Python (Kivy)
Ich habe einen Stempelersatzbot mit Linie gemacht
Ich habe mit Python eine Bot-Wettervorhersage gemacht.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Ich habe meinen Hund "Monaka Bot" mit Line Bot gemacht
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
Ich habe versucht, Python-ähnliche Schleifen mit BigQuery Scripting zu verarbeiten
[Python] Ich habe mit der Verarbeitung natürlicher Sprache ~ Transformatoren ~ gespielt
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
Ich habe eine einfache Brieftasche aus Bitcoin mit Pycoin gemacht
Ich habe einen LINE Bot mit Serverless Framework erstellt!
Ich habe mit Numpy eine Grafik mit Zufallszahlen erstellt
Ich habe mit Python ein Bin-Picking-Spiel gemacht
Mattermost Bot mit Python gemacht (+ Flask)
Erstellt eine Web-App, die IT-Ereignisinformationen mit Vue und Flask abbildet
Bildverarbeitung mit Python (ich habe versucht, es in 0 und 1 Mosaikkunst zu binarisieren)