Algoritimo que simula um pulo (lançamento vertical)!

to querendo criar um algoritimo que simule um objeto pulando. Das diversas formas que implementei esta foi a última:

void pula(){ while(velocidade>0){ this.y =(int) velocidade * tempo ; super.repaint(); try{Thread.sleep(90);}catch(Exception e){} velocidade -= 3.2; } }

Mais especificamente ocorre o lançamento vertical mas sem a queda livre! Como a velocidade vai decrementando era p o objeto printado subir menos valores em y até a velocidade tornar-se nula. Só que simplesmente quando peço para o metodo ser executado o objeto sobe sem dar a sençassão de estar pulando. Queria que ele começasse rápido e a medida que ele se aproxima da altura máxima ele se desloca vagarozamente.

Alguem pode me auxiliar? Obrigado!

A fórmula que você usou está errada. Ela descreve um movimento linear uniforme; você precisa de um movimento que seja influenciado pela aceleração da gravidade.

Consulte seu professor de física.

Posso dar uma sugestão na parte de Java!

Se você puder usar JavaFX, faça-o! :idea:

A classe Timeline do JavaFX é perfeita para aplicações com animações, não Swing…

procure sobre funções polinomiais de 2º grau, to aprendendo isso na facul agora, e essas funções servem para criar uma parábola, o que pode ser usado para fazer a trajetória de um pulo por exemplo. só não sei como fazer isso em java =/

bom, nao sei bem o que vc ta fazendo, se é um jogo, ou apenas quer guardar os valore, ou se ta fazendo gui… Teria que adaptar a “coisa” abaixo pro que vc quer.

int posy = 0;
yccel = 10;
int GRAVITY = 3;

//enquanto o objeto estiver subindo (aceleracao > 0) ou se nao estiver no chao (caso aceleracao negativa)
while (yaccel > 0 || posy > 0) {
    posy += yaccel; //cai ou sobe, dependendo se a aceleracao é positiva ou negativ
    yaccess -= GRAVITY; //aumenta ou diminui a aceleracao
}

O que o AndreBan postou é exatamente o que se deve fazer para simular a lei da física que rege o movimento de um corpo submetido à gravidade. Essa é a forma “discreta” (ou seja, adequada para usar em computação gráfica) da equação matemática de segundo grau.

Dá uma lida no artigo em anexo. Foi escrito para programadores, não para matemáticos (por isso, em muitos pontos, deixo de lado parte do rigor científico).