Transformações lineares Planas

Ens. Superior

Bordas arredondadas do menu

Aplicações dos conteúdos estudados são sempre bem vindos! Ao estudar transformações lineares planas, uma boa ideia é solicitar aos estudantes dos cursos das áreas exatas, a criação de figuras planas e algumas transformações das mesmas. Essa experiência de trabalho já venho desenvolvendo há alguns anos no Campus da UCS de Bento Gonçalves. A cada semestre, solicito projetos de trabalho a partir de um tema escolhido por mim ou pela turma. Os resultados são fantásticos! Além de compreender o conteúdo e visualizar uma aplicação bem interessante, os alunos aprendem a utilizar comandos básicos do Matlab e conhecem um pouco mais esse poderoso software.

Na disciplina de Álgebra Linear estudam-se matrizes, sistemas lineares, transformações lineares dentre outros tantos assuntos.

Uma transformação linear no plano nada mais é do que uma função que pode ser interpretada a partir da equação matricial Ax=b. Nesta equação a matriz A age, por multiplicação, sobre o vetor x transformando-o no vetor b.

Dessa forma, uma transformação linear  é uma lei que associa cada vetor x do Rn  um vetor T(x) do Rm , em que os conjuntos  Rn  e Rm  são, respectivamente, o domínio e contradomínio de T (LAY, 1999). As transformações lineares no plano podem ser estudadas de forma bem prática, sob uma abordagem geométrica, em que o aluno visualiza e manipula as diferentes transformações, com o auxílio do software MATLAB. As idéias-chave, para tal propósito, são três: uma transformação T transforma segmentos de reta em segmentos de reta, importantes propriedades de T estão relacionadas com propriedades da matriz A e pode-se determinar T observando sua ação nas colunas da matriz identidade. Seja, por exemplo, uma reflexão no eixo x e os vetores (1,0) e (0,1), colunas da matriz  identidade de ordem 2. Observa-se, na figura abaixo, que o vetor (1,0) permanece inalterado enquanto o vetor (0,1) é transformado no vetor (0,-1).

Assim sendo, a matriz canônica da transformação de reflexão no eixo x é dada pela matriz:

Da mesma forma, outras matrizes canônicas de transformações lineares no plano, tais como reflexão no eixo y, reflexão na origem, expansão ou contração horizontal, expansão ou contração vertical, cisalhamentos, etc., podem ser construídas também pela visualização, no plano, das transformações sofridas pelos vetores (1,0) e (0,1).

O projeto de trabalho

Inicialmente é escolhido um tema para o semestre e os alunos são apresentados ao Matlab.

Uma aula no laboratório de informática é suficiente para mostrar aos graduandos os principais comandos do Matlab, incluindo a inserção de matrizes e vetores, a plotagem de gráficos, a resolução de sistemas lineares dentre outros assuntos estudados em Álgebra Linear.

Depois desse primeiro contato e do estudo das transformações lineares planas, é hora de colocar a "mão na massa". Tudo começa com a escolha de uma imagem, que pode ser desenhada em um papel quadriculado ou milimetrado ou, ainda, copiada da internet. A figura deverá ser plotada no primeiro quadrante do plano cartesiano a partir da inserção dos pontos constituintes dos diferentes polígonos em que a figura poderá ser dividida.

Selecionando os pontos no geogebra

Para retirar os pontos da figura pode-se utilizar o software livre Geogebra - versão 5. Para tal, é necessário salvar a figura em um arquivo e depois inserí-la no Geogebra da seguinte forma:

  • Menu Editar
  • Inserir imagem de

Para posicionar a figura no primeiro quadrante do plano cartesiano basta arrastar o mouse. Observa-se, na imagem-exemplo abaixo, que os pontos A e B são criados pelo programa. Estes pontos podem ser ignorados caso não sejam adequados para a construção da figura.  

Em seguida, basta clicar no menu Ponto e clicar sobre vários pontos do contorno de uma parte da figura. Observe, que os pontos escolhidos aparecerão na janela à esquerda e serão nomeados com as letras do alfabeto.  

  Selecione, agora, o menu Mover e clique sobre o ponto C (primeiro ponto do pé do robô); segure a tecla shift e selecione o ponto P (último ponto do pé do robô). Essa ação selecionará todos os pontos de C a P. Clique em CTRL C para copiar os pontos selecionados.

Copiando os pontos para o Matlab

No Matlab, crie um novo script bastando, para isso, selecionar no menu NEW e Script. Vamos, agora, criar o pé do robô cujos pontos foram copiados do Geogebra. No novo script digite os comandos: axis([-12 12 -12 12]) hold on O comando axis fixa o tamanho dos eixos x e y sendo que os dois primeiros números são os limites do eixo x e os dois últimos os limites de y. Os limites dos eixos mudarão conforme o tamanho da figura escolhida. O comando hold on "congela" a janela gráfica, ou seja, mantém os eixos com os limites escolhidos e insere todas as partes da figura no mesmo plano. É suficiente apenas digitar o comando hold on uma única vez em todo o programa. Após estes dois comandos, é necessário pressionar as teclas CTRL V para colar os pontos copiados do Geogebra.

Com os pontos copiados, vamos organizar uma matriz. Esta matriz deverá ter na primeira linha os valores de x e na segunda os valores de y. Uma forma de fazer isso consiste em separar cada par ordenado com um ponto e vírgula e, ao fechar a matriz, colocar uma aspa simples para indicar a transposta da mesma.

Os pontos vão sendo selecionados para dentro da matriz e, nessa ação, vão sendo apagados as letras, os sinais de igualdade e os parênteses que separam os pares. O uso de reticências permite a continuidade da inserção dos pares em novas linhas.

  O comando fill(A(1,:),A(2,:),'r') desenha e preenche o pé do robô com a cor vermelha (red). Esse comando solicita ao Matlab que tome os pares ordenados, sendo que as abscissas estão na primeira linha de A e as ordenadas na segunda linha da matriz. Após salvar o arquivo com um nome pode-se executá-lo clicando na seta verde do menu. O resultado é o seguinte:

  Para fazer uma transformação linear do pé do robô vamos inserir a matriz de transformação reflexão no eixo x e, depois, multiplicar esta matriz pela matriz A. A matriz T=M*A é a transformação de A. Depois, basta mandar plotar e pintar o pé do robô transformado com o comando fill.

A figura produzida segue abaixo: Procedendo de forma análoga, todas as partes do robô podem ser construídas e transformadas, uma a uma.

A parte mais trabalhosa desse projeto é a criação da figura original. Depois dela estar concluída, fica muito simples e fácil fazer diferentes transformações lineares, tais como, cisalhamentos, rotações, ampliações, reduções, etc.

Plotando um círculo

Para plotar e pintar um círculo com raio r e centro em (xc,yc) podem ser utilizadas as equações paramétricas do círculo, conforme pode ser visto abaixo, devendo-se definir o intervalo de variação da variável t.

t=0:0.01:2*pi;

x=cos(t)*r+xc;

y=sin(t)*r+yc;

Segue, abaixo, a plotagem de um círculo de raio 1 e centro em (6,6) na cor verde (green) e, na sequência uma reflexão dele em relação ao eixo x. Vejamos como se faz a plotagem de um círculo e uma transformação do mesmo através de um exemplo:

Traçando os eixos

Para traçar os eixos pode-se complementar a rotina com o que segue:

x=[-10 10]; y=[0 0];

plot(x,y)

hold on

x=[0 0]; y=[-10 10];

plot(x,y)

Caso a extensão dos eixos seja diferente desta exemplificada, basta trocar os números no vetor x=[-10 10] e          y=[-10 10]

Plotando um polígono com linha mais espessa

  Para fazer uma plotagem com linha mais espessa, basta acrescentar no comando fill ou plot o comando linewidth acompanhado da espessura da linha, conforme mostra o comando abaixo que toma o exemplo do círculo criado anteriormente:

fill(x2,y2,'g','linewidth',6)

Colorindo

Uma cor é codificada por uma letra, tal como r (red/vermelho), g(green/verde), (yeltow/amarelo), etc. ou por um vetor com três números, variando de 0 a 1, segundo o padrão VGA. Por exemlo:

Amarelo  -  y   -   [1 1 0]

Branco – w -  [1 1 1]

Preto  -  k   - [ 0 0 0]

Cinza médio  -  [0.5 0.5 0.5]

Em http://shdo.com.br/blog/online/tabela-de-cores-rgb/ é possível acessar uma tabela de cores RGB. Neste documento, é necessário tomar a segunda coluna e dividir todos os valores por 255. Por exemplo, a cor Snow (primeira da tabela), no matlab é representada pelo vetor [1, 0.98, 0.98]. Segue, abaixo, como inserir um vetor de cores no círculo transformado mostrado como exemplo (acima):

fill(x2,y2,[0.5 0.25 0])

Trabalhos dos alunos

Seguem, abaixo, alguns trabalhos de acadêmicos das Engenharias da UCS, Campus de Bento Gonçalves:

OBS: Para copiar a figura em um documento de texto, basta gerá-la no Matlab e clicar em: edit - copy figure do menu dessa janela.

Referências Bibliográficas

LAY, David. Álgebra linear e suas aplicações. 2. ed. Rio de Janeiro: LTC, 1999. PARMEGIANI, Roselice. Explorando as transformações lineares no plano com o uso do MATLAB. Cobenge 2011. Disponível em: .  

Foto da autora do post - Roselice Parmegiani

Roselice Parmegiani

21/10/2017

0 comentários sobre este material



Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Entrar em contato WhatsApp

Ícone do WhatsApp

Este site usa cookies para proporcionar uma melhor experiência para você. Ao prosseguir, você concorda com nossas Políticas de Cookies e de Privacidade. Saiba mais