Original Article: VPython
Author: vpython.org

O VPython facilita a criação de displays e animações 3D navegáveis, mesmo para aqueles com experiência de programação limitada. Porque é baseado em Python, também tem muito a oferecer para programadores e pesquisadores experientes. Clique aqui para ver uma variedade de exemplos.

Para uma introdução rápida, veja os seguintes vídeos do YouTube, mas esteja ciente de que Para a versão atual do VPython 7 do VPython, o nome do módulo é "vpython", não "visual", e a exibição gráfica é exibida em uma guia do navegador em vez de em uma janela nua.

Objetos 3D

Atribuição variável

Loops iniciais

Loops e Animação

Fatores de escala

Erros de sinagoga de depuração

Listas, Parte 1

Listas, Parte 2

Como começar a usar o VPython

Novo para Python e / ou VPython? GlowScript VPython é um bom lugar para começar:

·         Vamos para glowscript.org e crie uma conta.   

o   Você deve ver a frase "Você iniciou sessão como e seus programas estão aqui". Clique em "aqui".

o   Clique em "Criar novo programa". Nomeie "caixa". Você verá esta linha:
     Glowscript 2.6 VPython
Adicione esta declaração na próxima linha:
     box()

·         Em seguida, clique em "Executar este programa". Você verá uma caixa branca em um fundo preto.

o   Use o botão direito (ou o botão CTRL-arrastar para a esquerda) do mouse para girar a câmera para ver a cena de diferentes ângulos.

o   Para ampliar e reduzir, use dois botões, ou ALT / OPTION-arraste, ou a roda de rolagem do mouse.
Tela sensível ao toque: deslize ou gire dois dedos; Aperte / estenda para ampliar.

o   Clique em Ajuda para ver quais objetos gráficos estão disponíveis. Fontes adicionais de informação são fornecidos abaixo.

Usuário experiente Python / VPython? Precisa de acesso a todos os módulos Python? Experimente o VPython 7:

·         Instale a distribuição de Python Continuous Anaconda (ou Enthought Canopy). Recomendamos escolher o Python 3.5 ou posterior, especialmente se você já possui "Classic" VPython / Python 2.7 instalado em sua máquina. Se você é um usuário Python experiente e deseja usar notebooks Jupyter, você pode instalar os módulos IPython e Jupyter em sua instalação atual do Python; Vejo jupyter.org.

 

·         Em um Power Shell ou Command Prompt (Windows) ou Terminal (Mac / Linux), execute este comando, que irá instalar o VPython 7 para Python 2.7, 3.4, 3.5 ou 3.6:
pip install vpython

      Or se estiver usando Anaconda, conda install -c vpython vpython

 

     Haverá atualizações frequentes para este módulo. Você pode obter a versão mais recente dessa maneira:
pip install vpython --upgrade

      Ou se estiver usando Anaconda, conda update -c vpython vpython


Você pode executar a partir do Spyder editor/launcher com Python 3.5 (3.5.3 ou superior) ou 3.6
, mas o mais novo Spyder 3.2 não suporta o uso do vpython. Os desenvolvedores da Spyder estão conscientes do problema e ofereceram abordar o problema em uma versão posterior. Aqui estão os detalhes sobre o problema, com informações sobre soluções alternativas. Uma opção simples é instalar o Spyder 3.1.4 mais antigo, executando isso em um terminal:

     conda install spyder=3.1.4

 

      Você pode começar o Spyder clicando no ícone Spyder que está instalado com Anaconda, ou você pode iniciar o Spyder a partir de um prompt de comando digitando "spyder". Em Spyder você deve ir para Executar > Configure e especifique "Execute em um novo console dedicado do Python".


Se você ler ou escrever arquivos de dados, e você quer por padrão para eles entrar int
o a mesma pasta do seu programa Python, vá para Ferramentas > Preferências > Executar e escolha o "Diretório de trabalho padrão" vai ser "o diretório de script". Você também pode desejar em Ferramentas > Preferências > Diretório de trabalho global para especificar o diretório que o Spyder procura em primeiro lugar para os programas.

 

      Alguns usuários de Mac relataram que o funcionamento da Spyder não funciona. A seguinte solução, criação e invocação de um novo ambiente funciona:

      conda create -n vpclean -c vpython vpython python=3
      source activate vpclean

 

      Para usar um notebook Jupyter (Python 2.7, 3.4, 3.5, 3.6): Existem duas maneiras de iniciar um caderno Jupyter. Em um terminal, execute "notebook jupyter". Ou (dependendo do sistema operacional que você está usando), clique duas vezes no ícone "Jupyter Notebook" que é mostrado como uma das ferramentas relacionadas à Anaconda. À direita, há um menu suspenso para criar um novo caderno, e se você escolher "VPython", você receberá a seguinte importação, que, se o uso do Python 3 for desnecessário (você pode alterar o tipo de caderno no menu Kernel> Alterar kernel) :
from __future__ import division, print_function


Se você tiver um lançamento recente do sistema operacional Mac
, Para iniciar o caderno do Jupyter você pode precisar executar isso:
jupyter notebook --browser=Chrome

Com ou sem um caderno Jupyter, "de vpython import *" também importa todas as funções de matemática, clock(), random(),
e arange(). Isso simplifica a movimentação de programas entre GlowScript VPython e VPython 7.

 

·         Escreva um programa de teste: Este programa curto exibirá uma caixa branca em um fundo preto:
from vpython import *
box()


Execução de um programa VPython em um notebook Jupyter: Clique na primeira célula (contendo o vpython import declaração), em seguida, clique no ícone de execução, aquele que é um triângulo virado para a direita que toca uma linha vertical. Atualmente, para re-executar um programa VPython, você precisa clicar no ícone da seta circular para "reinicie o kernel" e, em seguida, clique no botão vermelho-destacado e, em seguida, clique na primeira célula e, em seguida, clique no ícone de execução.

Alguns usuários acham conveniente incluir na primeira célula apenas essas declarações:
from vpython import*
scene = canvas()

Em seguida, coloque o resto do programa em células posteriores. O resultado é que a exibição 3D será exibida logo abaixo da primeira célula em vez de no final da última célula. Ele também garante que o módulo vpython tenha sido totalmente inicializado antes de continuar. Além disso, você pode voltar a executar o programa com mais facilidade.

·         Girar e ampliar a câmera é o mesmo que o GlowScript VPython; Veja acima.

 

·         Documentação: Veja o GlowScript VPython Help para documentação. O único recurso GlowScript ainda não implementado é interações de teclado, pendente de uma compreensão do relacionamento com as entradas de teclado processadas pelo notebook Jupyter.

·         Programas de demonstração: Existe um conjunto de programas de demonstração para notebooks Jupyter (arquivo zip) e para uso sem um caderno Jupyter (arquivo zip).

·         Execute programas de demonstração remotamente: Existe um Pacote de pasta de alguns programas de demonstração, que permitem executar programas Jupyter VPython mesmo em computadores ou dispositivos móveis que não possuem o Python instalado. Aqui está uma explicação do mecanismo Binder. Como os servidores Binder são compartilhados entre um grande número de pessoas, o desempenho pode variar um ótimo dia a dia e de uma hora a outra.

·         Aqueles que têm o Classic VPython instalado e querem mantê-lo, devem criar um novo ambiente no qual tentar o novo VPython: "conda create -c vpython -n vpython_jup_env vpython python". Aqueles que têm o clássico VPython instalado e querem-lo-lo, deve criar um novo ambiente sem qualificar o novo VPython:

Como GlowScript VPython e VPython 7 diferem do Classic VPython 6

·         Os vetores devem ser representados como vector(x,y,z) ou vec(x,y,z), não como (x,y,z).

·         O nome display foi alterado para canvas (por razões técnicas).

·         O nomegdisplay foi alterado para graph.

·         curve objetos e pontos os objetos têm um novo conjunto de métodos.

Na ajuda do VPython no glowscript.org é um programa de conversão para converter da sintaxe Clínica para GlowScript; Faz um trabalho imperfeito mas útil de lidar com as principais diferenças.

Planos para desenvolvimentos futuros

·         Aqui está uma descrição do plano de desenvolvimento futuro do VPython.

 

O antigo clássico do VPython 6

·         Aqui está a documentação no anterior VPython 6, que ainda está disponível, mas não é mais suportado.

Fontes adicionais de informação

Documentação: Visão geral, tutoriais e documentação detalhada

Fórum de usuários. (Até fevereiro de 2013, havia uma lista de endereços cujos arquivos podem ser encontrados em https://sourceforge.net/mailarchive/forum.php?forum_name=visualpython -users. Não escreva para essa lista; em vez disso, postar no Fórum de usuários.)

VPython no estouro de pilha: Um site de perguntas e respostas de terceiros para os usuários compartilhar sobre o VPython. Nós encorajamos as pessoas a publicar no Fórum de usuários, uma vez que há um número maior de usuários experientes lá.

Site da Python: A linguagem de programação Python, na qual o VPython é baseado

Usando ferramentas em trinket.io é fácil adicionar a edição e a execução do GlowScript VPython às suas próprias páginas da web. Rhett Allain em seu blog de física para a revista Wired mostrou exemplos disso.

Jay Wang postou uma galeria de fotos e videos de uma variedade de programas interessantes de VPython.

Uma entrevista podcast com Ruth Chabay e Bruce Sherwood sobre o história de VPython.

Um artigo de blog sobre Uma linha de tempo para o desenvolvimento de Python por Bruce Sherwood.

Um cartaz sobre a relação entre GlowScript VPython e Jupyter VPython

Uma apresentação técnica sobre a relação entre GlowScript VPython e VPython 7.

Matter & Interactions: Física introdutória usando VPython

Alguns livros didáticos de nível avançado em que o VPython é usado:

Física computacional: resolução de problemas com Python, Rubin H. Landau, Manuel J. Páez, Cristian Bordeianu (2015)

Física Computacional com Python Mark Newman (2012)

Introdução à Mecânica Estatística e à Termodinâmica Robert H. Swendsen (2012)

Física estatística de equilíbrio com simulações de computador em Python Leonard M. Sander (2013)

Física do Solo com Python: Transporte no Sistema de Águas Térmicas
Marco Bittelli, Gaylon S. Campbell, e Fausto Tomei (2015)

Modelagem computacional e visualização de sistemas físicos com Python Jay Wang (2016)