Resources for Kiwi PyCon XI presentation, Generative Art with Python (using py5 and bpy)
Session slides: ./slides.pdf
Tens of thousands of students, artists, designers, researchers, and hobbyists, use Processing for programming art and prototyping. py5 is a new version of Processing for Python 3.8+ that makes Processing available to the CPython interpreter (using JPype). py5 can do just about everything Processing can, except with Python (instead of Java code), with the added bonus of incorporating popular Python libraries such as numpy and Pillow, and a notebook interface. This session will provide an overview of the py5 coding environment, and examples of the type of artwork one can create.
py5 examples: ./part_01_examples_py5
- Four py5 modes
- py5 cheatsheet
- py5 examples
- py5 reference
- py5 website
- GitHub discussions (forum)
- GitHub issues (bugs)
- Processing forum
- thonny-py5mode (Thonny plug-in)
- Demystifying the Python-Processing Landscape: An Overview of Tools Combining Python and Processing
- Villares' comprehensive list of resources for teaching programming for artists, designers, and architects
Blender is open-source software for 3D modelling and animation that can also handle compositing, video editing, and 2D animation. Artists and animators operate Blender using a graphic user interface, but it also features a Python API (via bpy) that can do everything the GUI can and more. That means you can use Python code to draw, animate, and manipulate 3D objects, with a powerful render engine to output your code-generated creations in high-resolution image and video formats. This session includes an introduction to using Blender's code editor, info editor, Python console, developer extras, and assistive scripting features to address 3D objects, spawn, and manipulate them via different attributes and methods.
bpy examples: ./part_02_examples_bpy
- Blender 2.93 LTS Python API Documentation
- Jeremy Behreandt's primer on creative coding in blender
- Nikolai Janakiev's collection of blender scripts
- tabreturn's quick intro to Blender creative coding
- "scripting"-tagged questions on Blenders' StackExchange
- https://blog.lightprocesses.com
- https://gfycat.com/@selonus
- https://github.com/a1studmuffin/SpaceshipGenerator
A few handy Python utilities for working with plotter art files:
- vpype
the Swiss-Army-knife command-line tool for plotter vector graphics - vpype-occult
vpype plug-in to remove lines occulted by polygons from SVG files - vsketch
a Python generative art toolkit for plotters