Verwenden des Python-Modus in der Verarbeitung

Hi @all! :wave:

Here is Luiz.I'maback-endengineeratSQUEEZE. This is the 9th post for the Python Advent Calendar. I hope you guys don't mind a bit of English. :sweat_smile:

I have been working with Python only for 5 months, so there isn't much I can bring yet.

Last year I wrote a post about Creative Code with Processing.Ifyoudon'tknowProcessingorwhatiscreativecoding, I recommend you to check my previous post before proceeding on this one.

Processing is a language based on Java, but with a simple add-on, it's possible to write sketches in Python. Today, let's see how it works.

How to start

  1. Download Processing if you still don't have it.
  2. Install the Python mode, as described here.

Example: Cellular Automation

Cellular automationisadiscretemathematicalmodel,oftenusedinGenerativeArt.

Just as a demonstration, I adapted the example from this book, from the original Processing syntax to Python.

This is the result:

def setup():
    size(300, 300)
    colorMode(RGB)

    global generation
    generation = 0
    
    global memory
    memory = [[0 for x in range(width)] for y in range(height)] 
        
    for x in range(0, width):
        for y in range(0, height):
            if random(1) > 0.5:
                set(x, y, color(0, 0, 0))
            else:
                set(x, y, color(255, 255, 255))

def draw():
    global generation

    for x in range(1, width):
        for y in range(1, height):
            
            k = 0
            for i in range(-1, 2):
                for j in range(-1, 2):
                    if i == 0 and j == 0:
                        continue

                    c = get(x + i, y + j)
            
                    if red(c) == 0:
                        k += 1
            
            if k == 3:
                memory[x][y] = 0

            elif k >= 5:
                memory[x][y] = 255

    for x in range(0, width):
        for y in range(0, height):
            set(x, y, color(memory[x][y]))
    
    generation += 1
    print generation         

You are probably thinking that it doesn't really look like "real Python code" (what is that global?). Indeed, some workarounds are necessary to make it work. However, in general, it's the same Python you use every day. For more complex projects, it's possible to create classes, Python libraries and everything else.

This is how a basic cellular automata looks like:

celluar_automata

Change the values in the code and observe how they affect the result! Also, instead of only black and white, try to add some colors! :)

Check the Processing Language Reference for more information about functions you can use.

Conclusion

If you like Python and would like to play with creative coding or generative art, the Python Mode for Processing is definitely your best choice.

By the way, SQUEEZE IS HIRING!. Join us and make part of a international team in a fast growing Japanese startup! :muscle_tone3:

Recommended Posts

Verwenden des Python-Modus in der Verarbeitung
Multithread-Verarbeitung in Python
Textverarbeitung mit Python
Verarbeitung in Python beenden
Asynchrone Verarbeitung (Threading) in Python
Bildverarbeitungssammlung in Python
GUI-Programmierung in Python mit Appjar
Signalverarbeitung in Python (1): Fourier-Transformation
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
100 Sprachverarbeitung Knock Kapitel 1 in Python
Versuchen Sie es mit LevelDB mit Python (plyvel)
Verwendung globaler Variablen in Python-Funktionen
Mal sehen, wie man Eingaben in Python verwendet
Gesamtleistung in Python (mit Funktools)
Handschriftliche Zeichenerkennung mit KNN in Python
Versuchen Sie es mit LeapMotion mit Python
Suche nach Tiefenpriorität mit Stack in Python
Bei Verwendung regulärer Ausdrücke in Python
GUI-Erstellung in Python mit tkinter 2
Asynchrone Verarbeitung mit LINE BOT: RQ (Redis Queue) in Python
Quadtree in Python --2
CURL in Python
Mausbedienung mit Windows-API in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Versuchen Sie es mit der Wunderlist-API in Python
Periodische Ausführungsverarbeitung bei Verwendung von tkinter [Python3]
Python-Bildverarbeitung
[Python] Beschleunigung der Verarbeitung mit Cache-Tools
Holen Sie sich Suica Balance in Python (mit libpafe)
Übung, dies in Python zu verwenden (schlecht)
[Python] Matrix-Multiplikationsverarbeitungszeit mit NumPy
Hash-Passwörter langsam mit bcrypt in Python
Metaanalyse in Python
Versuchen Sie, die Kraken-API mit Python zu verwenden
Verwenden von venv in der Windows + Docker-Umgebung [Python]
Unittest in Python
Asynchrone Verarbeitung mit Linebot in der Jobwarteschlange
[FX] Hit oanda-API mit Python mit Docker
Tweet mit der Twitter-API in Python
Zwietracht in Python
[Python] [Windows] Serielle Kommunikation in Python über DLL
Starten Sie Python
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
DCI in Python
Python-Dateiverarbeitung
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Plink in Python
Konstante in Python
[Python] Verschiedene Datenverarbeitung mit Numpy-Array
Scraping von Websites mit JavaScript in Python
Entwicklung eines Slack Bot mit Python mit chat.postMessage
SQLite in Python