Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Ordem entre rotate e translate

Ao longo do enunciado do exercício sugere-se por meio das figuras que a rotação deve ser feita antes da translação, o que é inclusive ratificado ao final da resolução onde isso é dito de maneira explícita. Porém, contrariamente a ordem implementada foi "transform: translate(6.5754em, -2.4749em) rotate(45deg);", que, ao final das contas, provou-se ser a forma correta de se fazer. Por que exatamente essa contradição e por que a forma correta é esta última? Já que, pra mim, o mais lógico realmente seria rotacionar antes de transladar, como recomendou o enunciado. Grato!

1 resposta
solução!

Olá Edson,

Acho que o que gera a confusão aqui é a propriedade transform. Nessa propriedade, as operações são realizadas da direita para esquerda.

Uma forma de intuir isso vem do fato que essas operações são implementadas como multiplicação de matrizes de rotação e translação para cada ponto da imagem. De forma simplificada, as operações seriam aplicadas na seguinte sequência:

1. [matriz translação] * [matriz rotação] * [coordenada]
2. [matriz translação] * [coordenada rotacionada]
3. [coordenada rotacionada e transladada]