Ir para o conteúdo
PoweronPT

[Resolvido]Programa: Lançamento Vertical

Mensagens Recomendadas

PoweronPT    0
PoweronPT

Boa Noite,

Tenho um trabalho para entregar em Phyton mas percebo pouco ou nada do assunto. O objectivo é o utilizador escolher uma velocidade inicial para uma bola que se irá mover verticalmente até a sua velocidade ser 0 e depois descer e quando y for igual a 0 o programa para. Até agora programei este pequeno programa, no entanto a bola não tem qualquer movimento....

from visual import *

v0=0
a=9.8
y0=0
dt=0.01

while int(v0)<=0:
    v0=input("Velocidade inicial (m/s):")    
    if int(v0)<0:
        print("O valor escolhido não permitido")
    if int(v0)==0:
        print("O valor escolhido não permitido")

Solo= box(pos=(0,0,0), length=20, height=0.5, width=20, color=color.white) 

Bola= sphere(pos=(0,2.25,0), radius=2, color=color.red)

while 1:
    rate(100)
    v=v0+a*dt
    y=y0+v*dt+0.5*a*dt**2
    v0=v
    y=y0
    
    if x<=0:
        break

   

Obrigado desde já

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
PoweronPT    0
PoweronPT

Detectei alguns erros e corrigi-os, agora aparentemente está tudo a funcionar bem, obrigado na mesma.

Aqui fica o código final

from visual import *

#Variáveis
v0=0
a=-9.8
y0=0
dt=0.001

#Escolha da velocidade incial
while int(v0)<=0:
    v0=int(input("Velocidade inicial (m/s):"))
    if int(v0)<0:
        print("O valor escolhido não permitido")
    if int(v0)==0:
        print("O valor escolhido não permitido")


#Objectos
Solo= box(pos=(0,0,0), length=20, height=0.5, width=20, color=color.white) 

Bola= sphere(pos=(0,2.25,0), radius=2, color=color.red)

#Movimento
while 1:
    rate(1000)
    v=v0+a*dt 
    y=y0+v0*dt+0.5*a*dt**2
    dy=y-y0
    dv=v-v0
    y0=y
    v0=v
    if Bola.y<=Bola.radius:
        break
    
    Bola.y=Bola.y+dy

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade