---
title: "Ivory: Secure, Contain, Project"
---

> Point of view is worth eighty IQ points
— <cite>Alan Kay</cite>

TODO:
 - Basic intro to projective geometry and homogeneous coordinates
 - Build up a library for PGA on top of raw GA units
 - Can we remain agnostic about the number of dimensions?
   - Should work, since it's like "the" Clifford Algebra
   - If not, parameterise it.
   - Might be relevant for taking duals.
 - Try to remain interoperable with conformal geometric algebra:
   - If we can use the same underlying representation then great
   - If not, can we parameterise the operations?
 - Is it worth adding synonyms for the first few dimensions?
   - 2D is nice:
     - `→` and `↑` for the first two non-ideal GA units
     - `←` and `↓` for the negative of each
     - Bivector (pseudoscalar) is `↺`, negative is `↻`
   - 3D is harder to represent:
     - Arrow pointing into `⨂` (fletches) and out-of `⨀` (tip) the screen
     - Make sure to pick the positive/negative for whatever the customary
       orientation is!

We should probably have a projective "point at infinity" in our rational level,
since
