Eukleides extension for Numbas

This extension for Numbas contains a port of the Eukleides geometrical drawing language by Christian Obrecht, with extensions to make diagrams interactive and accessibility improvements.


There’s documentation on how the extension works and a full function reference.

See the demo page for a gallery of examples, and the interactive playground to draw your own diagrams.


The extension is written using ES6 syntax and features. This is compiled with babeljs to ES5, which is supported by lots more browsers.

dev_demo.html and dev_playground.html load the source scripts directly, on browsers which support ES6.

To install the babeljs tools, first install nodejs and then run:

npm install

Then, when you make a change to the source, run


to compile the scripts in the dist folder.

You might need to set the environment variable NUMBAS_RUNTIME_PATH to the location of your Numbas compiler directory.


© 2019 Christian Lawson-Perfect for Newcastle University.

The original Eukleides is © 2004-2010 Christian Obrecht.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

Some code is taken from g9, and used under the terms of the MIT license.

Data from ColorBrewer2 is used under the terms of the Apache 2.0 license.