Assuma o DirectX como plataforma, se isso for importante. (Certeza que não é)
Supondo que possuo uma matriz de escala, rotação e translação adequada, em que ordem as multiplico para resultar em uma matriz mundial adequada e por quê?
Por "adequado", quero dizer "eu poderia jogá-los diretamente no DirectX e obter o quadro 3D mais usado".
Respostas:
Geralmente é escala, rotação e, finalmente, tradução. Com a denotação da matriz (ou seja, T para a matriz de translação, R para a matriz de rotação e S para a matriz de escala), seria:
T * R * S
No entanto, se você deseja girar um objeto em torno de um determinado ponto, são escala, conversão de pontos, rotação e, finalmente, conversão de objetos.
Motivo: primeiro você deseja dimensionar o objeto para que as traduções funcionem corretamente. Em seguida, você gira os eixos para que a translação ocorra nos eixos ajustados. Finalmente, você traduz o objeto para sua posição.
No OpenGL, você pode usar o gluLookAt para obter uma transformação completa da câmera em uma chamada. Provavelmente, existe uma chamada semelhante para o DirectX.
fonte
rotação e escala de conversão é a sequência para executar a operação
fonte
Eu acredito que é Rotação e Discagem de Tradução
fonte