If you're seeing this message, it means we're having trouble loading external resources on our website.

Se você está atrás de um filtro da Web, certifique-se que os domínios *.kastatic.org e *.kasandbox.org estão desbloqueados.

Conteúdo principal

Transformação de polígonos usando matrizes

Neste vídeo, transformamos um triângulo usando uma matriz 2x2. Versão original criada por Sal Khan.

Quer participar da conversa?

Nenhuma postagem por enquanto.
Você entende inglês? Clique aqui para ver mais debates na versão em inglês do site da Khan Academy.

Transcrição de vídeo

[RKA13MC] - Nós já usamos matriz de transformação para transformar um ponto. O que eu quero fazer neste vídeo é transformar uma série de pontos. Nós temos aqui estes três vetores posição: p₁, p₂ e p₃. Eu representei o ponto de cada um deles aqui no plano. Você pode mais ou menos imaginar que estes 3 pontos são vértices de um triângulo. Olha só, eu posso ter um lado do triângulo aqui, outro lado bem aqui e outro lado bem aqui. O que eu estou curiosa é: o que será que vai acontecer se eu transformar esses pontos aqui? Como no último vídeo, eu poderia aplicar em uma matriz de transformação separadamente para cada um desses pontos e ver em que pontos eles serão transformados. Ou, ao invés disso, poderia tomar essa matriz de transformação e multiplicá-la por uma outra matriz composta por esses vetores posição aqui. Então vou fazer isso. Então vamos lá, vou pegar minha ferramenta de copiar e colar, vou copiar minha matriz de transformação aqui e vou colar lá embaixo porque eu quero multiplicá-la por uma outra matriz, e essa outra matriz, que vai ser multiplicada pela matriz de transformação, ela vai ser composto de três colunas, e cada uma dessas colunas vai ser um desses vetores posição aqui. A primeira coluna vai ser os elementos 2, 1. A segunda coluna vai ser composta pelos elementos -2, 0. E a terceira coluna vai ser composta pelos elementos 0, 2. Basicamente o que eu fiz foi pegar nossa matriz de transformação e multiplicá-la por uma outra matriz, onde as três colunas dessa outra matriz foram os meus vetores posição aqui. A primeira coluna foi o meu vetor p₁, a segunda coluna foi o meu vetor p₂ e a terceira coluna foi o meu vetor p₃. E agora eu quero saber, o que isso vai nos dar? Vamos, então, analisar essa multiplicação aqui. A gente sabe que tem uma matriz de transformação, uma matriz 2 por 2. Aqui a gente tem uma matriz 2 por 2. Aqui nós temos uma matriz 2 por 3: 2 linhas, 3 colunas. Uma matriz 2 por 3. A gente consegue perceber que essa multiplicação está definida, porque o número de colunas desta matriz aqui é igual o número de linhas desta matriz aqui, então é uma multiplicação definida. A matriz resultante vai ser uma matriz de 2 por 3. Olha só: uma matriz de 2 linhas e 3 colunas. Então nós vamos ter como matriz resultante uma matriz 2 por 3. Então vamos fazer uma matriz 2 por 3, onde a gente já pode perceber que cada uma dessas colunas vai estar representando um novo vetor posição, né? Então vamos fazer essa multiplicação passo a passo. Vamos ver como fica essa primeira entrada aqui, que vai ser a multiplicação dessa linha por essa coluna. Então: 2 x 2 = 4, mais 1 x 1 = 1, 4 + 1 = 5. Aqui nós teremos essa primeira entrada: 5. Nesta segunda entrada aqui, nós teremos: -1 x 2 = -2, mais 2 x 1 = 2, -2 + 2 = zero. Então o que aconteceu com o vetor posição 1 é que ele foi transformado de "2, 1" para "5, 0". Vamos colocá-lo aqui 1, 2, 3, 4... "5, 0" vai estar bem aqui. Se nós chamarmos esse vetor posição aqui de vetor posição 1, nós podemos chamar este vetor aqui de vetor posição 1'. Vamos agora para o vetor posição 2. Vamos multiplicá-lo: 2 x -2 = -4 mais 1 x 0 = 0, -4 + 0 = -4. Então aqui nós teremos: -4. E agora teremos -1 e 2 multiplicando -2 e zero. -1 x -2 = 2, 2 x 0 = 0, 2 + 0 = 2. Então o vetor posição 2 foi transformado em "-4, 2". Vamos colocá-lo aqui no plano: 1, 2, 3, 4... aqui teremos: -4. Subindo até o 2. Aqui nós teremos o novo vetor posição. Se nós chamarmos este vetor aqui de p₂, este aqui nós podemos dizer que é o nosso vetor posição 2'. Por último, o vetor 3. Vetor posição 3. Multiplicaremos: 2 x 0 = 0, mais 1 x 2 = 2, 0 + 2 = 2. E, a última entrada, -1 x 0 = 0, mais 2 x 2 = 4, 0 + 4 = 4. E o último vetor, vetor de posição 3, foi transformado no vetor "2, 4". Vamos colocá-lo aqui: "x" valendo 2. 1, 2... Subindo até o 4. 1, 2, 3, 4... Este é o novo vetor posição. Se nós chamarmos este vetor de posição de "vetor posição 3", o nosso novo vetor vai ser o nosso vetor posição 3'. E aí gente pode perceber que algo interessante aconteceu aqui. Nós temos, como nesses 3 novos vetores de posição, 3 novos vértices que podem formar um novo triângulo. Algo parecido com isto aqui, olha. A gente pode ter aqui o novo vértice, aqui também. Vamos fazer aqui o primeiro lado deste triângulo. Aqui temos mais um lado. E aqui nós temos mais um lado deste novo triângulo. Então o que nós conseguimos fazer? Nós saímos de um triângulo menor, deste triângulo menor aqui, olha, para este triângulo maior aqui. Então transformamos este triângulo menor neste triângulo maior aqui. E uma outra maneira de você pensar sobre isso é perceber que este triângulo inteiro foi transformado, não apenas os vértices, como parece. Eu não estou provando isso, mas se você tomasse qualquer ponto deste triângulo menor, você teria transformado este ponto em um correspondente no triângulo maior. O legal disso é que eu espero que você esteja começando a apreciar o poder da matriz de transformação. Eu espero que você comece a gostar e apreciar, porque isso é muito útil quando você começa a pensar sobre coisas como games de computador e animações. As matrizes de transformação nos permitem fazer isso, e é o que esses programas de computador fazem, eles veem as coisas com perspectivas diferentes. Eles estão usando matrizes de transformação, multiplicando as coordenadas com a finalidade de obter novas coordenadas com base na posição, ou no ponto de vista do jogador, ou na posição ou ponto de vista da câmera, ou na câmera virtual em um mundo de computação gráfica. Assim, eu consegui tirar várias coisas legais daqui, nós não apenas transformamos um ponto, como transformamos três pontos que poderiam representar os vértices de um triângulo. E você pode ver como esse tipo de extensão, ou esse tipo de rotação ocorre quando usamos matriz de transformação. Se usássemos uma matriz de transformação diferente, teríamos uma transformação diferente. Nós não só vimos como fazer essa transformação, mas vimos como podemos fazer isso com múltiplos vetores de posição e, ao mesmo tempo, eu poderia ter feito isso de forma independente e obteria o mesmo resultado. Isso mostra o poder da matriz de transformação da computação gráfica, animação e coisas desse tipo. É isso, pessoal! Até um próximo vídeo!