Thinking Outside the Box

Language Games in Mathematics

In my Friendly Fragments, also on Medium, I mention a certain philosopher of mathematics, one Ludwig Wittgenstein, as the inventor of “language games” as an important tool, for studying both philosophy and ethnography.

We may think of Ludwig as part of the famous “Vienna Circle” along with Karl Menger, the dimension theorist, also Jung and Freud. Donald Coxeter, the Canadian geometer, became Wittgenstein’s student in England for a spell. Both Karl and Donald feature elsewhere in my journals.

A good example of a “language game” would be the one we play with a “jack like” apparatus (six spokes), named the “XYZ coordinate system” with axes X, Y and Z.

My day job might involve using the raytracer POV-Ray (, which is all about specifying the (x, y, z) coordinates of this or that shape, such that when simulated light is bounced around, using a computer, a photo-realistic rendering develops.

I’m far from a master of Scene Description Language however I don’t need to be, in order to render purely geometric vistas.

rendering with POV-Ray

In contrast to “the jack” (XYZ), picture an apparatus with four spokes instead of six. You’ll find many images if you Google on “caltrop” in the Images tab. That could be the basis or a coordinate system as well, and we might find a lot of “family resemblance” (another Wittgenstein term) between these parallel “language games” (or namespaces).

Imagine attending a Quaker school in which 95% of the mathematics seems familiar, but then these “Quadray Coordinates” come out of the blue (check Wikipedia). In retrospect, the ethnographic explanation seems obvious: American Transcendentalism in the 1900s had a bleed-over, osmotic effect on some religious sects, Amigos among them.

The Wikipedia entry says specifically, that Quadrays are helpful in opening the door to a larger namespace of language games collectively known as Synergetics in the literature (Wikipedia will disambiguate regarding which one we mean, given book titles are not subject to copyright).

You can find out a lot more about Quadrays through the Math Forum. Typically a STEM or STEAM curriculum is about building out one’s personal workspace (PWS) with the requisite tool chain or “stack” (as in “full stack developer”).

We get a lot of our language from the code schools at this point, where you might go to learn Javascript and SQL (Structured Query Language).

Image for post
Image for post
searching on quadrays from Raspberry Pi

Mathematicians use tools just like every other profession and indeed mathematics itself may be considered operationally, as tool-use. You may want to use Python, with Numpy. I’m using Python 3.5, Anaconda distribution, a free download, to write my Scene Description Language for POV-Ray.

My Oregon Curriculum Network website has shared the details of this technique, especially through its cp4e web page. Computer Programming for Everyone was Guido van Rossum’s initiative, Guido being the inventor of Python.

CP4E served as inspiration for my own HP4E: “hexapents for everyone” meaning like buckyballs, or the typical soccer ball pattern introduced by Adidas.

One advantage of generating your own graphical content means not having to seek permission for using it. Raytracings work well in web pages, such as in Jupyter Notebooks.

By now you have likely concluded I must have working Quadrays (“caltrop coordinates”) coded in the Python computer language. That’s correct.

By wiring Quadrays to the Synergetics approach to volume (tetrahedron based) we get the alternative mathematics that ironically helps the more conventional stuff become more clear. We learn from contrasting and comparing things.

By thinking outside the XYZ box, as it were, we come to better appreciate the box we live in, most of the time. Here’s a link to some source code at Github.

Image for post
Image for post
getting spherical and quadray coordinates from two XYZ vectors

Quadrays divide space into only four sectors, whereas with XYZ, the mutually orthogonal planes slice space up into eight regions.

Thanks to three negative vectors, mirroring the three positives, yet not considered “basis vectors” in their own right, the origin (0, 0, 0) is symmetrically surrounded by the eight regions or neighborhoods, with these “zip codes”:

(+, +, +), (+, +, -), (+, -, -), (-, -, -),
(-, -, +), (-, +, +), (-, +, -), (+, -, +)

In Quadrays, the origin is at (0, 0, 0, 0) and a sum of only three of them are a sufficient basis with which to reach all addresses in any one section.

One spoke of the caltrop will remain dormant, at zero, as the others range from zero to positive (like RGB), creating region-spanning linear combinations. None of the four directions are considered “negative” although it does make sense to reverse a vector: -(1, 1, 0, 0) = (-1, -1, 0, 0) = (0, 0, 1, 1).

(2, 1, 1, 0), (1, 2, 1, 0), (0, 2, 1, 1) would be typical Q-ray addresses. All twelve permutations of these particular numbers would point to the corners of the cuboctahedron, its corners suggesting one way to fit twelve spheres around one.

Image for post
Image for post
twelve vectors to the corners of a cuboctahedron

The next layer of the cuboctahedron ball packing has 42 balls, then 92, then 162 and so on. We call this arrangement the CCP ball packing and depending on ethnicity, might refer to the scaffolding so generated as the IVM (isotropic vector matrix), in contrast to the XYZ scaffolding, of all cubes.

Image for post
Image for post
IVM or octet truss

All points in space have unique 4-tuples in this system, although just as 3/2 = 6/4 = 15/10, so may Quadrays have an equivalence class of addresses next to a canonical representation. Whew, fancy talk!

Yes, methods for going back and forth between XYZ 3-tuples and these more alien-seeming 4-tuples, have been coded.

Image for post
Image for post
concrete caltrops shared on Facebook

Neither language game, “jack-based” or “caltrop-based” need be advanced as “superior” to the other, though if we want to stage beauty contests we may. Lets talk about aesthetics when we need to, why not?

We already have spherical coordinates, pointing to any point in space with a length and two rotations. Having more than one way to address ordinary Euclidean space (if we call it that) is what contributes to overall fluency.

In the screen shot below I’m setting two vectors to the corners of a phi rectangle and then asking to see their spherical coordinates. Rotate 90 from initial Z direction, around Y, to point due X, then rotate in the Y plane about 30 degrees north and south, symmetric to the X axis.

These same Vectors are primed to drive POV-Ray, the free raytracer I often include in my tool chest within my PWS (personal workspace, or studio).

Image for post
Image for post
creating and querying two vector objects

Why on earth investing in outside-the-box thinking would make sense, might be a question for another day. From my Silicon Forest perspective, I see value in combining learning mathematics with learning to code.

We code “math objects” to learn object oriented Python or other computer language, which in turn helps us to comprehend the objects themselves. The synergies seem pretty real, judging from my own Oregon Curriculum Network pilot studies. I’ve kept journals about this work. Stay tuned.

Back Yard Jack

Written by

Lots online.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store