• AlmightySnoo 🐢🇮🇱🇺🇦@lemmy.world
    link
    fedilink
    arrow-up
    7
    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 * θ)