A very long time ago. I dug up some of the math from the internet, and implemented it.
Construct requires a different way of thinking from normal programming languages, and it takes some getting used to.
The lack of a line function posed a bit of a challenge, but otherwise it worked very nicely.