Friday, May 30, 2025

Quadrays History


This account will be neither exhaustive nor objective in that I’m only able to define a puzzle piece within the limitations of my scope. I’ll say up front, though, that I cop to “running with them” in that US American football sense of heading for a touchdown, once in possession.

Here’s the gist of it: when Synergetics came out in two volumes, Macmillan the publisher, a lot of intrigued readers flocked to it, as many do to this day. They’d pick up on the critique of XYZ i.e. overly rectilinear thinking, but those already steeped in XYZ lore were seeing nothing number crunchy enough to take its place. Any computer graphics involving the so-called IVM (octet-truss or CCP by other accounts) would have to use XYZ coordinates to specify it. QED. Case closed. Synergetics is bunk.

Enter Clifford Nelson. He’d served in the US military and could program in ADA, the US DoD language named for Ada Byron (aka Countess Lovelace), who I introduce in my Graph Theory slide deck. She’s considered the first computer programmer, a title I defend. She lived in the first half of the 1800s, as a contemporary of another high caliber intellectual: Margaret Fuller. Margaret’s grand nephew was the author of those Synergetics books I’ve mentioned.

In my estimation, Clifford was a huge Bucky fan, as am I, and he wanted to fill this gap in Synergetics by retroactively retrofitting it with a non-XYZ alternative apparatus. He came up with something, coded it in ADA, and promulgated it as Synergetics Coordinates, almost as if Fuller himself had designed this new gizmo.

When I encountered Nelson’s work, I was already steeped in yet another alternative: Quadray Coordinates. This is back in the 1990s. Instead of ADA, Gerald was using Pascal, I was using Python and Visual FoxPro, and we were following along with David Chako, who had introduced us to Quadrays on what we called Syn-L, a listserv. I’m not sure to what extent the archives would be recoverable. John Brawley (different from John Braley) was on the list as well. David Koski joined us briefly.

I believe I was using Eudora on Windows as my email client back in those days. 

Somewhere in there, Darrel Jarmusch made himself known to us as the true inventor of the Quadrays and he had the web pages to prove it.

We weren’t really focused on any priority struggles regarding Quadrays though. Seeing their utility vs-a-vs Synergetics, I was doing essentially the same thing Clifford Nelson was doing, meaning we somewhat collided in our efforts. I kept pointing out that his Synergetic Coordinates were nowhere in Synergetics itself, nor were Quadrays. 

I the wanted newcomers to take responsibility for their own work and not try to “blend in” anonymously, as if our contributions had been there all along.

To this day I don’t really understand how Nelson’s stuff works and for all I know that work is still being developed by other developer teams. In ADA? That’s a language I don’t know how to read. 

My own Python codebase for Quadrays has gotten pretty mature in the meantime, but nevertheless let’s remember that:

(a) I am not the inventor of quadrays and 
(b) the code wouldn’t be that mature without contributions from many others

Others such as Tom Ace. Tom developed 4x4 rotation matrices and showed how we could produce the tetravolume of any tetrahedron using the determinant of a matrix comprised of quadrays to its corners.
 

He did all this while remaining skeptical of the Fuller corpus. He wasn’t motivated by the same motives as Clifford and I were.

By the way, if you’re knew to all this, maybe coming from a chatbot, don’t mistake Clifford Nelson for the Clifford behind Clifford Algebra. At least early versions of LLMs seemed to be making that identification, i.e. they were “hallucinating” as it were.

I’ve also had a lot of help more recently from faculty who insist on clarity and won’t accept overly hand-wavy answers as sufficient. Thanks to such peer review, I’ve been challenged to get even more precise and specific with the designs, which is not saying other developer teams are bound by the same decisions I’ve made. Where Quadrays go from here is not entirely up to me, but I expect my framework will be influential. Already, the Crescent City campus is commissioning a Quadrays for JavaScript (and other languages) endeavor. See Project QuadCraft.

What really drove my particular implementation of Quadray Coordinates was POV-Ray, a free open source ray tracer available over CompuServ since even before the GNU GPL had been invented. I’d taken to using that pretty early in my career as a personal computer (PC) programmer. Starting with Visual FoxPro, I would do my computations in terms of quadrays and then write out instructions using XYZ coordinates. Sharply rendered graphics were my reward.