0% acharam este documento útil (0 voto)
5 visualizações28 páginas

Tutorial de Simulações com VPython

O tutorial do VPython visa demonstrar seu potencial no ensino de Ciências e Engenharias, apresentando ferramentas básicas e recursos para simulações. O VPython, que utiliza a linguagem Python, oferece uma interface amigável para criar animações 3D e interações, sendo acessível tanto para iniciantes quanto para programadores experientes. O GlowScript é destacado como uma plataforma online para rodar simulações, com instruções detalhadas sobre sua utilização.

Enviado por

rpegasusnake
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações28 páginas

Tutorial de Simulações com VPython

O tutorial do VPython visa demonstrar seu potencial no ensino de Ciências e Engenharias, apresentando ferramentas básicas e recursos para simulações. O VPython, que utiliza a linguagem Python, oferece uma interface amigável para criar animações 3D e interações, sendo acessível tanto para iniciantes quanto para programadores experientes. O GlowScript é destacado como uma plataforma online para rodar simulações, com instruções detalhadas sobre sua utilização.

Enviado por

rpegasusnake
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Tutorial do VPython

Objetivos
Objetivos gerais
• Mostrar o potencial que o Visual Python (VPython)
possui para o ensino de Ciências e Engenharias.
• A duração do tutorial não permite explorar todas as
ferramentas do VPython.
• Pretendemos, portanto, apresentar as ferramentas e
princípios básicos, indicando várias fontes de
consulta para quem quiser se aprofundar mais.
• Esperamos que o VPython possa ser uma porta de
entrada para o universo de ferramentas de
simulações, as quais são tão importantes para as
atividades científicas e para os processos de ensino
aprendizagem que envolvem fenómenos de mais
difícil visualização.
Objetivos específicos
• Apresentar a biblioteca de simulações Visual Python
(VPython) e suas principais utilidades.
• Apresentar a plataforma GlowScript que permite rodar
as simulações em VPython online.
• Explorar os elementos geométricos básicos do VPython
em modo estático.
• Produzir dinâmicas e simulações simples com o
VPython, visando principalmente o ensino e a
aprendizagem de Física (mas pode ser aplicado a
muitas outras ´áreas).
• Explorar os widgets que permitem a interação do
usuário.
• Mostrar as diferentes formas de compartilhar as
simulações.
A linguagem de Programação
Python
Principais Vantagens
• Linguagem de programação interpretada,
orientada a objeto e de código aberto, que
possibilita uma sintaxe mais amigável e
facilidade na depuração dos códigos.
• Extensa documentação: inúmeros livros,
tutoriais, cursos on-line e projetos comentados.
• Gigantesco conjunto de bibliotecas aplicadas
aos mais diversos escopos: e.g.: numpy para
cálculo numérico, sympy para matemática
simbólica, astropy para astronomia, selenium
para motores web, vpython para simulações
etc.
• Fortíssima comunidade engajada em abarcar
novas aplicações ainda inexploradas, aprimorar
e compartilhar seus códigos.
Desvantagens
• Lentidão em rodar códigos próprios que
contenham muitas execuções cíclicas
(loops).
• Para isso, existe a possibilidade de
escrever códigos em C e transformá-los
em Python ou transformar os códigos
em Python para a linguagem C.
• Por ter um desenvolvimento muito
dinâmico, pode deixar o usuário um
pouco perdido com relação as
diferentes versões.
Apresentação da
Biblioteca Visual
Python
Características gerais
• “Programação 3D para simples mortais”.
• “O VPython facilita a criação de animações e
displays 3D navegáveis, mesmo para aqueles com
pouca experiencia em programação.
• Por ser baseado em Python, também tem muito a
oferecer para programadores e pesquisadores
experientes.”
• Possui uma série de elementos geométricos
prontos.
• Possui várias ferramentas de interação com o
usuário.
• Permite a construção de gráficos dinâmicos de
vários tipos.
Utilização da Plataforma Glowscript
Para que serve?

• “O GlowScript é um ambiente poderoso e


fácil de usar para criar animações em 3D e
publicá-las na web.
• Em: [Link]
Como usar?
• Acesse o site do GlowScript: [Link]
• Clique em Sign In no canto superior direito.
• Use sua conta do Google para fazer log in. Caso
contrário, crie uma conta Google.
• Caso o log in tenha funcionado, dever´a aparecer a
informação Signed in as “seu login” (Sign out) no
canto superior direito da tela.
• Clique no “seu login” para acessar a sua ´área de
arquivos.
• Clique em Add Folder para criar uma pasta, de
forma a organizar melhor seus arquivos.
• Ao nomear a pasta, desmarque a opção Public caso
queira que os arquivos contidos nela sejam
mantidos privados.
• Clique em Create New Program para iniciar a escrita
do seu programa em VPython.
Geometrias e Operações Básicas do VPython
Criando Um Cubo e
Alterando a Visualização
da Cena Gerada

• Após criar um novo programa, digite:


box().
• Em seguida clique em Run this
program para executar o programa ou
clique Ctrl + 1.
• Para girar o ângulo de visão da cena,
mantenha o botão direito do mouse
apertado e arraste-o.
• Para alterar o zoom da cena, use o
botão de rolagem do mouse.
Criando Um Cubo e
Alterando a Visualização
da Cena Gerada

• Para deslocar lateralmente a


visão da cena, arraste o mouse
com o Shift e o botão esquerdo
apertados.
• Atente-se que todas essas
operações não deslocam nem
giram o objeto, mas apenas o
seu angulo de visão.
Alterando Propriedades
dos Objetos
• A visualização da cena é descrita pelo
sistema de coordenadas ao lado, em
que o eixo z aponta para fora da tela.
• Posições e deslocamentos são dados
pela função vec. Exemplo: v1 = vec(x,
y, z)
• Criemos um cubo, uma esfera e uma
seta ligando um ao outro:
Alterando Propriedades dos Objetos
Alterando Propriedades
dos Objetos

• Se quisermos alterar qualquer propriedade do


objeto criado basta usar:
• variavel [Link] = valor.
• Exemplo 1 - alterar a cor da seta: [Link] =
[Link]
• Exemplo 2 - alterar a posição do cubo:
[Link] = vector(-2.5,-1,-3)
• Se quiséssemos sempre vincular a seta ao
cubo e à bola, deveríamos ter criado a seta
como: seta = arrow(pos=[Link],
axis=[Link])
Algumas operações com vetores
• Criemos dois vetores:
Algumas operações com vetores
• Calculemos o produto vetorial entre eles:
Façamos a decomposição do vetor v1 nas
componentes paralela e perpendicular ao
vetor v2:
Animações com Movimentos Pré-
estabelecidos
Exemplo: sistema massa-mola amortecido
Inclusão de um gráfico para amostrar o
movimento
• Adicione ao início do programa:

• E ao final do laço while:


O código
completo do
sistema
massa-mola
fica:
Queda Livre
Queda Livre
# Constantes # Função para atualizar a posição da esfera
g = 9.81 # Aceleração devido à gravidade (m/s^2) def update_position():
initial_height = 10 # Altura inicial da esfera (metros) global t, v, y
# Configuração da cena rate(100) # taxa de atualização da cena
scene = canvas(title='Queda Livre', v = v + g * dt # Atualiza a velocidade
width=800, height=600,
center=vector(0, 0, 0), y = y - v * dt # Atualiza a posição
background=[Link]) if y <= 0: # Checa se a esfera tocou o solo
ground = box(pos=vector(0, 0, 0), size=vector(20, 0.1, 20), y=0
color=[Link]) v = -v # Inverte a velocidade
ball = sphere(pos=vector(0, initial_height, 0), radius=1, [Link].y = y
color=[Link])
#holder = cylinder(pos=vector(0, 20, 0), axis=vector(0, -20, 0), t += dt
radius=0.5, color=[Link]) [Link](y)
# Variáveis [Link](t)
t = 0 # Tempo inicial # Configuração do gráfico
dt = 0.01 # Incremento de tempo gd = graph(title='Altura versus Tempo', xtitle='Tempo (s)',
v = 0 # Velocidade inicial
y = initial_height # Altura inicial ytitle='Altura (m)')
# Lista para armazenar dados para o gráfico curve = gcurve(color=[Link])
altura = [initial_height] # Loop de simulação
tempo = [0] while [Link].y > 0:
update_position()
[Link](t, y)
Referências
• Associação Python Brasil. Introdução à Linguagem Python. [S.l.]: Associação Python
Brasil, [2023?]. Disponível em: [Link] Acesso em: 25 mar.
2023
• Python Software Foundation. Python. [S.l.]: Python Software Foundation, [2023?].
Disponível em: [Link] Acesso em: 25 mar. 2023.
• SOUSA, R. F. de. Minicurso - Simulações com VPython - Tutorial. [S.l.]: CAPES, 2014. 20 f.
Disponível em: [Link] Acesso em: 25 fev. 2024.
• Tutorials Point. Python Tutorial. [S.l.]: Tutorials Point, [2023?]. Disponível em:
[Link] Acesso em: 22 mar. 2023.
• WILLS, William. Canal do YouTube William Wills. [S.l.]: YouTube, [2023?]. Disponível
em: [Link] Acesso em: 02 mar. 2024.

Você também pode gostar