Interactive Computational Geometry in Python



This book is an interactive introduction to some of the fundamental algorithms of computational geometry. It is supplied as a set of interactive Jupyter Notebooks. 

Here are four sample chapters as non-interactive HTML pages. Because of limitations in Jupyter export to HTML, these chapters do not show the interactive demonstrations, they only show the text and a few figures:

Introduction (open this to view the TOC for the whole book)

Chapter 1: Points and lines

Chapter 2: Polygonal chains in two dimensions

Chapter 3: Triangles and the relationship of points to lines

The advantages of interactivity

In a conventional paper-based textbook computational geometry algorithms are either presented as narrative, in pseudo code or in a language such as C or Java. Often (but not always) there is a separate code base that the reader can download and use. However, in this book, the code base, which is Python 3, is integrated into the text, in a Jupyter Notebook and it is fully executable. With Jupyter Notebooks, we are no longer limited to a static description of algorithms, we present functioning, executing code that implements and demonstrates these algorithms.

There is nothing better than seeing an algorithm in action! We have found that a good interactive demonstration can replace an extraordinary amount of text. Furthermore, whereas a textual (and to a lesser extent, pseudo code) description of an algorithm may be subject to the ambiguity of natural language, the demonstration is unambiguous because it is the algorithm in action. 

Instructions for running the notebooks

This book is delivered as a set of interactive Jupyter Notebooks and, as you might expect, you will need to install some software (all free and open source) in order to run them. It is quite straightforward, and you can find full details of how to run the notebooks on Mac, Linux and Windows in the Introduction

Note: We have an experimental virtual machine available for running the notebooks. If you are interested, contact us for details.

© Clear View Training 2012