Hacker News new | ask | show | jobs
by c32c33429009ed6 872 days ago
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.
1 comments

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.

Honestly, this is a chance to be creative and informative, here. You could have provided a background and motivation for transforms. A "why we are here in the first place." There's actually no need to be formal or a need for a worry about good definitions.

You could have provided your own perspective for why transforms exist and why they need to be used. That would have involved explaining why a point or a vector needs to be transformed into another vector, in the context of 3D graphics.

Or why transformations in 3D space work so well and reliably.

You basically elaborated on the how, like a simple technician, while neglecting the fundamental context of your study. That's great for recording some notes and for helping to reinforce a memorization requirement and routine. But going down the deep wells of abstract subjects like the intimidating ideas of advanced mathematics calls for some unusual approaches to looking at things standing in front of you.

Engineers know how things work. And mathematicians know why those things work. The smarter person sees through the black boxes.

operators are usually defined as linear maps from spaces to themselves

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