Pular para o conteúdo
Buscador da Pesquisa em Ensino de Física Busca em texto completo · v0.3.0

VISUALIZANDO O COMPORTAMENTO DO VETOR VELOCIDADE EM UM MOVIMENTO BIDIMENSIONAL ATRAVÉS DA SIMULAÇÃO COMPUTACIONAL

Vitor Cardoso Castro Brasil, Nelson De Oliveira Silva

Evento
Simpósio Nacional de Ensino de Física ↗ (SNEF)
Edição
XXII
Ano
2017
Data
25/01/2017
Linha de pesquisa
Materiais, Métodos E Estratégias De Ensino De Física
Tipo
Pôster

Abrir o PDF original ↗ Baixar referência .bib Ver todos do SNEF 2017

Texto completo

## VISUALIZANDO O COMPORTAMENTO DO VETOR VELOCIDADE EM UM MOVIMENTO BIDIMENSIONAL ATRAVÉS DA SIMULAÇÃO COMPUTACIONAL

## Vitor Cardoso Castro Brasil* Nelson de Oliveira Silva**

*Instituto Federal de Educação, Ciência e Tecnologia do Amazonas - IFAM / vitorcardoso.br@gmail.com

**Instituto Federal de Educação, Ciência e Tecnologia do Amazonas - IFAM / nelsonoliveiraslv@gmail.com

## RESUMO

Na física há muitas características fora do alcance dos sentidos humano, tais como: campos, partículas subatômicas, fenômenos quânticos, grandezas vetoriais, grandezas escalares, entre outros. Logo, a obscuridade de determinados fenômenos físicos e as dificuldades inerentes à percepção dos mesmos, torna complexo tanto ensinar como aprender determinado fenômeno. Por este motivo o presente trabalho fornece um guia para construir um programa que simule o movimento de um projétil destacando o comportamento das componentes do vetor velocidade (uma característica real e não visível). A simulação será construída utilizando a biblioteca visual do Python.

Palavras-Chave : Simulação computacional, Movimento Bidimensional, Vetores.

## INTRODUÇÃO

É notório que as simulações computacionais de sistemas físicos assumem uma acentuada importância no que diz respeito à aquisição de conhecimento, pois em muitos casos, torna-se complexo tanto ensinar como aprender determinado fenômeno físico, uma vez que este possui características não intuitivas e que muitas vezes foge a capacidade de percepção humana.

Possibilitar uma visualização detalhada de características não visíveis de um determinado fenômeno é proporcionalizar uma maior compreensão a respeito do comportamento em questão. Um grande exemplo são as grandezas vetoriais.

Estas são importantíssimas e indispensáveis para descrever os comportamentos de corpos em movimento. Além disto, esta característica vai além de uma simples aplicação matemática ou uma ferramenta encontrada para escrever as equações, como Resnick, Halliday e Krane escrevem em seu livro (Física 1, 2013, p. 86)

se uma grandeza física é um vetor seus aspectos direcionais (componentes) não podem ser ignorados e estes aspectos são tão reais e importantes quanto os produzidos por variações na sua intensidade.

As simulações computacionais são capazes de possibilitar um esclarecimento maior de certos atributos abstratos presente na física. Elas fornecem suporte tanto para os professores, que desta forma podem explorar melhor os conceitos, quanto para os alunos, que podem ter um contato mais visual com as muitas propriedades não intuitivas estudadas (MEDEIROS A. e MEDEIROS C., 2002). Por este motivo, o presente trabalho fornece um guia para construir um programa que simule o movimento de um projétil destacando o comportamento das componentes do vetor velocidade (seus aspectos direcionais).

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

A fim de fornecer dinamicidade ao trabalho, fornecemos a elaboração de um movimento retilíneo uniforme, e, partir deste será feita modificações necessárias transformando-o em um movimento bidimensional. A ideia é deixar a construção da simulação principal bastante intuitiva.

A simulação é feita utilizando a linguagem Python , que por ser uma linguagem de alto nível torna a construção de simulações para diversos fenômenos físicos relativamente mais simples. Para ser mais específico o programa será feito na biblioteca V isual Python , ou como é mais conhecida, VPython 1 .

## CARACTERÍSTICAS DA LINGUAGEM PYTHON E A BIBLIOTECA VPYTHON

Antes de apresentar a simulação, faz-se necessário uma breve exposição sobre a linguagem Python e o porquê de sua escolha, além de uma sucinta explicação sobre seu pacote Visual Python (que permite a construção dos objetos e cenários).

- O desenvolvimento inicial do Python começou no instituto de pesquisa em Amsterdam (Centro para Matemática e Ciência da Computação) iniciada por Guido van Rossum em 1990 2 . Esta linguagem é uma poderosa ferramenta de programação orientada a objetos, porém, não é a única. Entre as mais conhecidas estão os miniaplicativos em java, ou as diversas opções de visualizações que integram muitos pacotes numéricos como Matlab, Mathematica entre outros (CORZO, 2008). Então por que escolher Python para fazer as simulações?

Eis os principais motivos que merecem destaques:

- · O código é aberto, permitindo que os usuários façam modificações de acordo com suas necessidades.
- · Gratuito e apoiado por uma comunidade considerável de desenvolvedores.
- · Python é multi-plataforma, ou seja, roda em Windows, Mac e Linux.
- · Inclui bibliotecas ou módulos para cálculo numérico (Numpy), aplicações científicas (Scipy), e, para fazer aplicações interativas ou animações gráficas como os pacotes Tkinter, VPython , wxPython, cuja sintaxe é simples (como a linguagem, em geral). Além disso, para representar graficamente dados ou funções há pacotes como: visual.graph, matplotlib e matplotlib.pylab (DOWNEY, ELKNER, MEYERS, 2002).

Neste último tópico merece destaque a biblioteca VPython . É a mais recomenda para construir simulações físicas, pois a mesma conta com uma imensa quantidade de objetos (esferas, caixas, cilindro, entre outros), além da possibilidade de poder importar funções escritas nas linguagens C e Fortran, tudo isto somada à linguagem de alto nível do Python 3 .

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

A instruções para instalação pode ser obtida de forma mais concisa através do site do próprio VPython (http://vpython.org). O site fornece todos os procedimentos necessários para instalação em Windows, Linux e Mac. Vale ressaltar que no Linux, geralmente o pacote VPython é integrado nos repositórios da maioria das versões.

## SIMULANDO MOVIMENTO RETILÍNEO UNIFORME (M.R.U)

Embora este caso seja bastante simples de simular e compreender, ele possui certo grau de importância, pois, geralmente é o ponto de partida ao iniciar os estudos sobre física tanto no ensino médio, quanto no ensino superior, e a partir dele os sistemas começam a adquirir outras características pouco triviais (principalmente no ensino superior).

A construção desta simulação é bastante simples e intuitiva. Observe as linhas abaixo:

```
(1) from visual import * (2) pos=vector(-17,0,0) (3) vel=vector(15,0,0) (4) chão = box(size=(35,0.5,4)) (5) bola = sphere(radius=0.5 , pos=pos, color=color.cyan)
```

Nas linhas acima constam os objetos (dependendo do caso é necessário construir o cenário a ser trabalhado) e alguns vetores que logo farão sentido.

O que deve ser feito é fazer a máquina reproduzir basicamente:

Nada mais que posição inicial mais as posições seguintes. Trazendo para a linguagem em questão esta equação fica:

Para reproduzir um movimento compatível com a realidade, o atributo dt deve possuir um valor bem pequeno, pois, a única coisa que a máquina fará é multiplicar um escalar (dt) por um vetor (vel) e somar com outro vetor (pos). Logo, se dt possuir um valor muito grande, os valores calculados pela máquina irão variar muito rápido.

Portanto, mais duas linhas devem ser adicionadas ao programa.

```
(6) pos= pos+vel*dt (7) dt=0.005
```

Ao tentar rodar esta simulação nada acontecerá. Serão visualizados apenas os objetos criados, porém, estáticos. Isto acontece porquê não foi dado o comando while . Este por sua vez, força tudo o que está escrito após ficar repetindo.

Outro comando que se faz essencial em qualquer simulação é o comando rate. Este dita à frequência com que os movimentos da simulação acontecerão (ou melhor, quantos quadros por segundo devem ser rodados).

Portanto a linha [6] e o comando rate deve vir na verdade depois de while ser chamado. Sendo assim a simulação fica escrita da seguinte maneira:

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

```
(1) from visual import * (2) pos=vector(-17,0,0) (3) vel=vector(15,0,0) (4) chao = box(size=(35,0.5,4) , pos=(0,-0.75,0)) (5) bola = sphere(radius=0.5 , pos=pos, color=color.cyan) (6) dt=0.0005 (7) while pos =>0: (8) pos=pos+vel*dt (9) bola.pos=pos (10) rate(100)
```

Na figura 1 apresentamos o resultado das linhas acima. É possível observar claramente os comandos sendo executados. Na figura 1 (a) a esfera parte da posição (-17,0,0) exatamente como foi escrito na linha 2. Já na figura 1 (b) constatase que o objeto move-se no sentido em que foi exigido na linha 3. Experimente trocar os valores para familiarizar-se mais com o programa.

Outro fator extremamente relevante tanto nesta simulação como na seguinte, é a linha 7. Experimente escrever, while pos=<0, sua simulação permanecerá estática. O motivo é que a informação passada ao programa (while pos=<0) orienta que as próximas linhas só devem ser obedecidas se, as posições seguintes do objeto forem menor ou igual a zero, e isto obviamente não acontecerá (a não ser que seja alterado o sinal do vetor velocidade).

Figura 1: Simulação 1 - Movimento Retilíneo Uniforme

<!-- image -->

## SIMULANDO LANÇAMENTO DE PROJÉTIL

Em geral ao estudar movimentos unidimensionais pouca atenção é dada as características vetoriais existentes no problema, entretanto quando os movimentos passam a ser bidimensionais é impossível descartar as propriedades vetoriais em questão.

A fim de tornar o trabalho um tanto intuitivo, vamos utilizar a simulação anterior e transformá-la em um movimento bidimensional.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

```
(1) from visual import * (2) pos=vector(-17,0,0) (3) vel=vector(13,13,0) (4) grav=-9.8 (5) acel=vector(0,grav,0) (6) chao = box(size=(35,0.5 ,4), pos=(0,-0.75,0)) (7) bola = sphere(radius=0.5 , pos=pos ,color=color.cyan) (8) dt=0.005
```

Até agora a única novidade é que o vetor velocidade possui uma componente y diferente de zero e a criação do vetor acel que simulará a gravidade da Terra.

```
(9) trajetoria=curve(color=color.white) (10) velocidadetotal=arrow(color=color.blue, pos=bola.pos, axis=vel/3.) (11) velocidadex=arrow(color=color.red, pos=bola.pos, axis=(vel.x/3.,0,0)) (12) velocidadey=arrow(color=color.red, pos=bola.pos, axis=(0,vel.y/3.,0))
```

A linha (9) é responsável por fazer a esfera deixar seu rastro (é um recurso do próprio VPython ), já às linhas (10), (11) e (12) são setas que irão simular o comportamento do vetor velocidade no decorrer do movimento . Experimente rodar 4 a simulação somente com estas linhas, você verá algo semelhante à Figura 2.

Figura 2: Resultado final do programa até a linha (12)

<!-- image -->

A seta em azul representa o vetor velocidade resultante, já as setas em vermelho representam as componentes do vetor velocidade. Para que haja movimento é necessário escrever as equações, e, da mesma forma que a simulação anterior, as equações devem vir depois do comando while (esta instrução é válida para qualquer simulação), desta forma a simulação ganhará dinâmica.

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

```
(13) while pos.y >= 0: (14) pos=pos+vel*dt (15) vel=vel+acel*dt (16) bola.pos=pos (17) trajetoria.append(pos) (18) velocidadetotal.pos=pos (19) velocidadex.pos=pos (20) velocidadey.pos=pos (21) velocidadetotal.axis=vel/3. (22) velocidadex.axis=vector(vel.x/3.,0,0) (23) velocidadey.axis=vector(0,vel.y/3.,0) (24) rate (100)
```

Na linha (13) o comando while está novamente acompanhado de uma restrição ( pos.y&gt;=0 ). As linhas (14) e (15) são as equações do sistema, note que elas estão acopladas através de vel . A linha (16) diz para a máquina que a posição da bola vai seguir as ordens da linha (14). Já as linhas (17) a (23) dizem para as setas seguirem a posição da bola. A figura 3 mostra o resultado final da simulação.

Figura 3: Simulação 2 - Simulação do lançamento de projétil.

<!-- image -->

É possível simular o movimento do projétil como se o mesmo estivesse movendo-se em um meio resistivo. A ideia é observar o comportamento das componentes do vetor velocidade, além de poder constatar o fato da trajetória desviar-se de uma parábola quando houver outras forças envolvidas no movimento.

- O procedimento é bastante simples. Vá até o vetor acel (linha (5)) e altere a componente x deste vetor. A figura 4 mostra resultados para alguns valores.

<!-- image -->

<!-- image -->

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

<!-- image -->

Figura 4: Simulação 3. Fig. (a): resultado para x= -3; Fig. (b): resultado para x= -5; Fig. (c): resultado para x= -7; Fig. (d): resultado para x= -11;

<!-- image -->

## CONCLUSÃO

É fato que o movimento de um projetil por si só não é novidade para ninguém, porém, a dificuldade entra em compreender fisicamente o motivo da trajetória ser uma parábola e explicar matematicamente o fenômeno (principalmente para alunos que estão tendo o primeiro contato com movimentos bidimensionais), entretanto, as simulações acima auxiliam a responder estes questionamentos.

A simulação 2 deixa bastante claro o que acontece com as componentes do vetor velocidade. A componente horizontal do vetor mantém-se sempre com a mesma magnitude, obedecendo à primeira lei de Newton: todo corpo tende a manter-se em m.r.u ou em repouso a não ser que uma força lhe seja aplicada. Ora na direção horizontal não há nenhuma força que implique em uma desaceleração, logo a componente nesta direção nada deverá sofrer e a velocidade conserva-se 5 constante na horizontal. Portanto, o objeto desloca-se em relação a horizontal, realizando um movimento retilíneo uniforme que é governado pela seguinte equação:

<!-- formula-not-decoded -->

Entretanto não é isto o que acontece com a componente na vertical. Há uma aceleração que aponta em direção ao centro da Terra (gravidade). E pela segunda lei de Newton temos, , logo este corpo é empurrado para baixo enquanto move-se com velocidade constante para frente . Esta é a razão pela qual o membro 6 vertical do vetor velocidade varia em intensidade e sentido . Sendo assim, em 7 relação a vertical, o objeto desloca-se realizando um movimento uniformemente variado, este por sua vez é governado pela seguinte equação:

<!-- formula-not-decoded -->

que caracteriza uma trajetória parabólica.

Desta forma fica claro que é uma composição de movimentos : um parabólico (equação 2) e um retilíneo (equação 1). Por conseguinte, a equação

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

completa do movimento é simplesmente a combinação da equação 1 mais a equação 2.

<!-- formula-not-decoded -->

<!-- image -->

Já na simulação 3, a trajetória do projétil é bastante diferente devido ao fato de termos acrescentado uma desaceleração constante na componente x. Desta forma, o movimento horizontal torna-se uniformemente variado e a equação passa a ser escrita como:

<!-- formula-not-decoded -->

<!-- image -->

A ideia é simular a presença de outras forças contrárias ao movimento além da força gravitacional, como se houvesse, por exemplo, a ação do vento agindo somente na horizontal. Porém, atente ao fato de que neste programa não acrescentamos nenhuma característica resistiva ao movimento. Entretanto, esta simulação caracteriza muito bem o movimento de um projetil em meio resistivo, e é possível usá-la para analisar o comportamento das componentes do vetor velocidade e confrontar com o caso anterior (simulação 2).

Por fim, acreditamos que fornecer a visualização do comportamento das componentes do vetor velocidade é possibilitar uma compreensão mais completa e detalhada de um movimento simples, porém, com uma riqueza de detalhes físicos. Além disso, esperamos incentivar a produção de mais simulações que visem (entre os muitos propósitos possíveis para uma simulação) contribuir para a clareza dos mais diversos fenômenos físicos.

## REFERÊNCIAS BIBLIOGRÁFICAS

[1] CORZO, Pablo M. García. Proyecto Physthones. 1. ed. Disponível em: http://docplayer.es/4522397-Pablo-m-garcia-corzo-libro-abierto-serie-manualesproyecto-physthones-simulaciones-fisicas-en-visual-python-0-1-un-libro-libre-dealqua.html. Acessado em 20/12/2015.

[2] DOWNEY A., JEFFREY E., CHRIS M. Como pensar como um cientista da computação usando Python. 1. ed. Virginia: Green Tea Press, 2002. Tradução de: Equipe do projeto http://pensarpython.incubadora.fapesp.br.

[3] Informações sobre Python disponível em: http://vpython.org/contents/overview.html. Acessado em: 25/06/2015.

- [4] Informações sobre VPython disponível em: http://vpython.org/contents/docs/index.html. Acessado em: 25/06/2015

[5] KINDER JESSE M., NELSON PHILIP. A Students Guide to Python Physical Modeling . 1. ed. EUA: Princeton University Press, 2015.

- [6] NEWMAN M. Computacional Physics. 1. ed. EUA: Createspace, 2012.

[7] RESNICK, Robert; HALLIDAY, David; KRANE, Kenneth. Física 1. 5. ed. Rio de Janeiro: Ltc, 2013. 367 p. Tradução de: Pedro Manuel Calas Lopes Pacheco [et al].

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

[8] MEDEIROS, Alexandre; MEDEIROS, Cleide Farias. Possibilidades e limitações das simulações computacionais no ensino de física. Revista Brasileira de Ensino de Física, vol. 24, n. 2, p. 77-86, Junho 2002.

Texto extraído automaticamente do PDF: podem existir erros de conversão, especialmente em fórmulas, tabelas e figuras.