Experimental Geometer was an hackathon idea by my friend Aaron1: GeoGebra but 3D and using VR because it’s really hard to work with 3D on a 2D screen. So, we teamed up and won Bluetooth speakers at the hackathon. The GitHub page for this project is pretty sad. As with most hackathon projects, development stopped as soon as the hackathon was over.
One really good idea I had for the project was writing a geometry-based scripting language so we wouldn’t have to code a bunch of different drawing tools using coordinate geometry. We called the language Euclid, but it turns out that name was already taken. Anyway, our Euclid had only a few basic constructs:
- Every value is a “figure,” i.e. a set of points in 3D space.
line a breturns the line that contains points
plane a b creturns the plane that contains points
sphere a breturns the sphere with center
spacereturns all of 3D space.
intersection a breturns the intersection of
point_on areturns a point on
- User-defined constructions (what we decided to call functions).
I think there was a plan to add in something like
if a b c, which
a is nonempty or
c otherwise, but we never got around
to it. Anyway, this allows us to define straightedge-and-compass
constructions, which is basically all we could want in a drawing tool.
Also, since user-defined constructions can be recursive, Euclid is
Doing this project also left me fascinated with Euclid’s Elements. I remember I read that textbook in art history class for one or two months.
Although, the name was my idea. ↩