Utilisation du mode Python dans le traitement

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

Utilisation du mode Python dans le traitement
Traitement multithread en python
Traitement de texte avec Python
Traitement des requêtes en Python
Traitement asynchrone (threading) en python
Collection de traitement d'image en Python
Programmation GUI en Python avec Appjar
Traitement du signal en Python (1): transformée de Fourier
Précautions lors de l'utilisation de Pit avec Python
100 Language Processing Knock Chapitre 1 en Python
Essayez d'utiliser LevelDB avec Python (plyvel)
Utilisation de variables globales dans les fonctions python
Voyons voir l'utilisation de l'entrée en python
Puissance totale en Python (en utilisant functools)
Reconnaissance de caractères manuscrits à l'aide de KNN en Python
Essayez d'utiliser LeapMotion avec Python
Recherche de priorité de profondeur à l'aide de la pile en Python
Lors de l'utilisation d'expressions régulières en Python
Création d'interface graphique en python avec tkinter 2
Traitement asynchrone avec LINE BOT: RQ (Redis Queue) en Python
Quadtree en Python --2
CURL en Python
Fonctionnement de la souris à l'aide de l'API Windows en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Essayez d'utiliser l'API Wunderlist en Python
Traitement d'exécution périodique lors de l'utilisation de tkinter [Python3]
traitement d'image python
[Python] Accélération du traitement à l'aide des outils de cache
Obtenir l'équilibre Suica en Python (en utilisant libpafe)
Pratique d'utilisation de ceci en Python (mauvais)
[Python] Temps de traitement de la multiplication de la matrice avec NumPy
Hachez lentement les mots de passe en utilisant bcrypt en Python
Méta-analyse en Python
Essayez d'utiliser l'API Kraken avec Python
Utilisation de venv dans un environnement Windows + Docker [Python]
Unittest en Python
Traitement asynchrone à l'aide de Linebot dans la file d'attente des travaux
[FX] Hit oanda-API avec Python en utilisant Docker
Tweet à l'aide de l'API Twitter en Python
Discord en Python
[Python] [Windows] Communication série en Python à l'aide de DLL
Commencez à utiliser Python
J'ai essayé d'utiliser l'optimisation bayésienne de Python
DCI en Python
Traitement de fichiers Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Plink en Python
Constante en Python
[Python] Divers traitements de données utilisant le tableau Numpy
Scraping de sites Web à l'aide de JavaScript en Python
Développement de slack bot avec python en utilisant chat.postMessage
Sqlite en Python