So far in my code I only dealt with transform matrices that I fed to OpenGL (the 4x4 float matrices), and had a class that was used to do transformations on the CPU side and generate the OpenGL matrices. This was 3 axes and an origin point. I called it "Transform3D".

Now I want to understand things better, I looked into proper terminology and it's not very clear to me. People use terms like "local space", "coordinate system", "local coordinate system / LCS", "transform orientation", "transform axes", "transformation matrix", "pivot". Some treat a coordinate system as 3 axes, and others 3 axes + an origin point.

So what is the proper terminology? how do you call the classes in your code that represent these concepts? How would you call a "distorted" coordinate system that allows non-unit-length and/or non-perpendicular axes?

  • 1
    \$\begingroup\$ They say there are only two hard problems in computer science: cache invalidation and naming things. If you find that there's a diversity of ways of talking about a concept, that's a good sign there's no one "proper" naming convention that all code is required to use. \$\endgroup\$
    – DMGregory
    Jan 12 at 12:22
  • \$\begingroup\$ Does basis work for you? \$\endgroup\$
    – Theraot
    Jan 12 at 18:55
  • \$\begingroup\$ Definitely Not LCS. Spell it out at the very least \$\endgroup\$
    – Adam B
    Jan 13 at 1:23


You must log in to answer this question.

Browse other questions tagged .