Remix.run Logo
andrewla 2 days ago

> Perhaps from graphics -- translation, rotation, reflection

Maybe ... but the fact that you included translation in the list of linear operations seems like a big red flag. Translation feels very linear but it is emphatically not [1]. This is not intended to be a personal jab; just that the intuitions of linear algebra are not easy to internalize.

Adding linear transformations is similarly scary territory. You can multiply rotations to your heart's content but adding two rotations gives you a pretty funky object that does not have any obvious intuition in graphics.

[1] I wouldn't jump into projective or affine spaces until you have the linear algebra tools to deal with them in a sane way, so this strikes me as a bit scary to approach it this way.

srean 2 days ago | parent | next [-]

Mea culpa about translation.

For a moment I was thinking in homogeneous coordinates - that's not the right thing to do in the introductory phase.

Thanks for catching the error and making an important point. I am letting my original comment stand unedited so that your point stands.

About rotations though, one need not let the cat out of the bag and explain what addition of rotation is *.

One simply defines addition of two linear operators as the addition of the vectors that each would have individually produced. This can be demonstrated geometrically with arrows, without fixing coordinates.

* In 2D it's a scaled rotation.

dreamcompiler 2 days ago | parent | prev | next [-]

To me the fact that translation in n dimensions is nonlinear but it becomes linear if you embed your system in n+1 dimensions is one of the coolest results from linear algebra, and it's why you need 4x4 matrices to express the full set of transformations possible in 3-space.

ferfumarma 2 days ago | parent | prev [-]

Can you elaborate on your point that translation is not linear? The OP agrees with you, so clearly your point is correct, but I personally just don't understand it. Isn't it true that translation is linear within the coordinate space of your model, even if the final distance traveled within a projected camera view is not?

edit to add: (I think your point relates only to the projection system, and not a pure, unprojected model; I just want to make sure I understand because it seems like an important point)

srean 2 days ago | parent | next [-]

All linear operators map origin to origin. But translation applied to the origin will shift it. So translation cannot be linear.

Let's take another approach.

Take a point p that's sum of vectors a and b, that is

p = a + b.

Now, if translation was a linear transformation, then translating p (say along x-axis by 1 unit) is equivalent to applying same translation to a and b separately and then summing them. But the latter ends up translating by twice the amount. Or in other words

p +t ≠ (a +t) + (b +t) = p + 2t.

So translation is not a linear operators in this vector space.

andrewla a day ago | parent | prev [-]

No, with projective geometry or affine geometry you can make translation into a linear operation. But in ordinary Euclidean space translation is not a linear operation.

Most obvious case that it fails is that it doesn't map zero to itself, and you can see the contradiction there:

    T(0 + 0) = T(0) = t
    T(0) + T(0) = t + t = 2 * t