Hacker News new | ask | show | jobs
by magicalhippo 876 days ago
They give a brief statement in their previous post (see link at start of post), essentially it's a linear transformation also known as linear map[1].

[1]: https://en.wikipedia.org/wiki/Linear_map

1 comments

I read their previous post, and nowhere do they explicitly say "a transform is a...". One might assume that it is indeed a linear transformation, as you suggest, but it shouldn't be up to the reader to do detective work just to understand the objects the author is talking about.
What I meant was that based on what they said in their previous post ("[g]iven a transform T and a point x, we can find the transformed point with T∗x") and the interactive graphics, I felt certain they meant a linear map.

I agree it's sloppy, at least a reference or something should be given if one doesn't want to spend time on the full definition.

Maybe the author could have used a more general notion, then, if omission and brevity were going to be present? Like, instead of a linear map or transform, he could have said an operator or something.

I don't know what is the general form of a transform or linear map. I think it's something like operator, though.

True, however I don't know how well versed the author is. Back in my late teens when I was deep into 3D graphics and ray tracing, I knew a lot about that specific math but not much beyond it. To me, "transform" was crystal clear to mean some kind of linear transform, and I hadn't yet learned of the more general operator notion[1].

So I can see myself writing something similar thinking it was clear.

[1]: https://en.wikipedia.org/wiki/Operator_(mathematics)

Game developers, physicists, and other engineering-adjacent types don't know much higher math. If any.

It takes a special type of engineer to explore advanced abstractions and get familiar with them. An exceptional engineer, really.

Author here. My background is game development. Now I work on 3D modeling software. I wouldn't say I know "higher level math", because that seems like a very deep well...

What would be the best way to define "transform" here? What I mean is something that can be applied to a point, like a linear map. So translation, and/or rotation, and/or scaling, and/or skewing, are all things that can be done by this "transform" in 3D.

In computer graphics these are often expressed as 3x3 or 4x3 (or sometimes 4x4) matrices. But a "translation+quaternion" can also be a transform, or just a quaternion (a unit quaternion can be used to rotate points for example). So I'd be happy to use a better definition for "transform" than 'given a transform T that can be applied to a point' but I'm not quite sure what the best definition would be.

operators are usually defined as linear maps from spaces to themselves

    V -> V
so they are less general than a linear transformation