Catherine Holloway - Simplifying Computer Art in Python
Channel: EuroPython Conference
Date: 2016-08-04

Catherine Holloway - Simplifying Computer Art in Python
[EuroPython 2016]
[21 July 2016]
[Bilbao, Euskadi, Spain]
(https://ep2016.europython.eu//conference/talks/simplifying-computer-art-in-python)

The Processing project demonstrated that computer art can attract a
wider audience to programming. Python has a robust catalog of
libraries, including two interfaces to OpenGL. However, none of these
libraries replicate Processing’s simplicity when drawing to the
screen. I will present my solution to this problem: a re-
implementation of VPython’s visual module purely in python called
PygletHelper.

-----

Processing is a programming language originally developed by the MIT
media lab with the goal of allowing artists, educators, and many
others develop striking computer generated or assisted projects
without requiring deep knowledge of software engineering or computer
graphics. Like Processing, Python has become a favourite language of
users from diverse backgrounds, such as web development, education,
and science. Unlike Processing, python lacks a simple and easy to use
library for drawing shapes. Python’s existing libraries for scientific
computing and data analysis could be made even more awesome when
combined with a simple drawing library.

VPython contains a module called visual that established a simple API
and convention for drawing shapes, however it was written in C++,
prior to the development of pyglet, and thus is not entirely cross-
platform. In this talk, I will demonstrate my solution to this
problem: a re-implementation of visual purely in Python called
PygletHelper. Pyglet, an existing python library, provides a python
interface to OpenGL. PygletHelper is built on pyglet but obscures all
of the OpenGL calls, such that the user can draw simple geometric
shapes to the screen and animate them without needing to know about
computer graphics terminology, memory usage, or C data types.

I will also show some need visualizations of science and music in my
talk, as well as the graphical glitches encountered implementing the
library.