The three most common 2D transformations. - eviltoast
  • thanks_shakey_snake@lemmy.ca
    link
    fedilink
    arrow-up
    19
    arrow-down
    3
    ·
    1 year ago

    I’m irrationally agitated about Scale and Rotation involving a translation and that this is not called out in the meme.

    Like it looks like “translation” is just “nothing happens” and this is going to bother me all day please help.

    • betamark@lemmy.world
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      1 year ago

      Translation just means all the coordinates of the points of the rectangle are moved the same increments. So the rectangle is the same length, width , and area, but the location of all of its vertices are different after translation. There’s should be an x y plot to show this.

    • AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world
      link
      fedilink
      arrow-up
      9
      arrow-down
      2
      ·
      edit-2
      1 year ago

      I’m irrationally agitated about Scale and Rotation involving a translation and that this is not called out in the meme.

      Akshually

      It’s not entirely inaccurate in the case of rotation, since the composition of a rotation (with angle not a multiple of 2pi) and a translation is also a rotation with a new center.

        • AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 year ago

          There are many ways to prove it but my preferred one is by using complex numbers. In what follows we identify 2D points and vectors with their complex representation so that we won’t have to deal with too many notations.

          Let there be three points z, z' and z'', and assume that:

          • z' is obtained from z by applying a rotation of angle θ and center u;
          • z'' is obtained from z' by applying a translation by v.

          That means that we have:

          • z' - u = (z - u) * exp(i * θ)
          • z'' = z' + v

          In particular, we have:

          z'' = u + v + (z - u) * exp(i * θ)

          It kinda looks like a rotation is there, since we have a exp(i * θ), so we’d ideally like to have the right-hand side in the above equality be in the form w + (z - w) * exp(i * θ).

          Let’s see if we can achieve that, we’ll look for w such that:

          w + (z - w) * exp(i * θ) = u + v + (z - u) * exp(i * θ)

          Which after some simplifications becomes:

          w * (1 - exp(i * θ)) = u * (1 - exp(i * θ)) + v

          And assuming that θ is not a multiple of 2 * pi, we can divide both sides by 1 - exp(i * θ) and we get:

          w = u + v / (1 - exp(i * θ)) (from here you can easily further simplify to get the explicit 2D coordinates of w)

          So what we’ve shown is that there indeed exists a unique center w such that z'' is obtained from z by applying a rotation of angle θ around w, ie:

          z'' - w = (z - w) * exp(i * θ)