PyCon 2016 in Portland, Or
hills next to breadcrumb illustration

Sunday 1:20 p.m.–4:40 p.m.

Computational Geometry in Python

Tyler Reddy

Audience level:


Computational geometry deals with the algorithms used to solve a diverse set of problems in geometry. Applications range from robotics (visibility) and geographic information systems to game development (collision detection) and medical research. This tutorial will introduce computational geometry, the related tools available in the Python ecosystem, and identify areas for improvement.


Computational geometry emerged in the 1970s and remains an active field of theoretical research and applied usage. Applications include robotics (visibility), geographic information systems, medical research / epidemiology, astrophysics, search and rescue operations, network building, game development (i.e., collision detection), and many others. My aim is to introduce basic concepts and algorithms in computational geometry and demonstrate their application using currently available Python libraries--especially scipy.spatial. Python users can expect to gain practical skills handling computational geometry problems and an introduction to the vocabulary used in the field. Computational geometers may already be familiar with the algorithms discussed, but may benefit from an overview of the Python tools available. Major topics covered will include convex hulls, triangulations, and Voronoi diagrams in Python. In addition to developing hands on experience with these calculations in Python, my hope is to share my passion for this field of mathematics and identify / encourage open source contribution opportunities for sharpening the Python computational geometry tool kit with your new-found knowledge.

Student Handout

No handouts have been provided yet for this tutorial