Colisão Inelática

Queda Livre e Choque
1. Objetivo
1.1. Simular uma queda livre usando a linguagem de programação JavaScript.
1.2. Trabalhar com uma colisão entre uma bola e o  chão (coeficiente de restituição) e assimilar seu significado.
1.3. Trabalhar com o Movimento Retilíneo Uniformemente Variado e assimilar seu significado.
1.4. Demonstrar o relacionamento entre energia cinética e energica potencial.

2. Teoria
Uma colisão entre dois corpos pode ser classicada considerando-se a energia cinética total antes e depois da colisão. Se a energia cinética se conserva, a colisão é chamada totalmente elástica; se parte da energia cinética se transforma em outra forma de energia, a colisão é inelástica. Quando os dois corpos permanecem unidos após a colisão, esta é dita totalmente inelástica. Considere uma bola que, sendo solta do repouso da altura inicial Hi, chega ao chão com uma velocidade vi. Imediatamente após o contato com o chão, a bola se deforma e segue sofrendo uma compressão, até atingir o repouso (situação de compressão máxima). A partir desse instante, ela passa a se expandir e salta, deixando o chão com velocidade vf, indo até a altura Hf. Observe que, em geral, a bola sobe com uma velocidade menor que a velocidade que possuía quando atingiu o chão, visto que a altura Hf é menor que a altura Hi.
Com o choque no chão há perda de energia cinética na forma de som, calor e deformação, a perda de energia devido a resistência do ar na descida e subida é desprezada, considerado o sistema no vácuo.
A figura 1 ilustra esta situação.

Quando a bola está na altura Hi e Hf a energia potencial é máxima e a energia cinética é zero (parada).
Quando a bola toca no solo a energia potencial transforma-se em energia cinética e esta perde parte de sua energia devido ao choque com o chão; o chão empurra a bola para o sentido contrário, ao atingir a altura máxima, a energia cinética transformou-se em energia potencial e inicia-se um novo ciclo de queda que se repetirá até a bola permanecer no chão em repouso.

Coeficiente de Restiruição em Função da Velocidade
Pode-se denir o coeficiente de restituição, r, de uma colisão deste tipo através da razão entre os módulos das velocidades de saída do solo e de chegada ao solo, ou seja:
Definição:
r = vf/vi     (I)
vf e vi: módulos das velocidades
vf: velocidade de afastamento ou subida
vi: velocidade de aproximação ou descida
r: é considerada uma constante, portanto, sucessivas descidas e subidas, as velocidades de descida antes da colisão e subida após a colisão formam uma progressão geométrica de razão r:
vn: velocidade de descida antes da colisão
vn+1: velocidade de subida depois da colisão
v1 = r.vo
v2 = r².v1
v3 = r³.v2
...
vn+1 = rn+1.vn

O coeciente de restituição pode ser utilizado como um indicativo de quão elástico é o choque entre a bola e o chão.
A perda de energia cinética nessa colisão é dada pela diferença entre a energia cinética da bola ao colidir com o chão e a energia cinética da mesma ao deixar o chão, ou seja
∆K = (½).m.vf² - (½).m.vi²
vf/vi = r ⇒ vf = r.vi
que, em termos do coeciente de restituição, pode ser colocada na forma
∆K = (½).m.vi².(r² -1) (II)

Observe que esta variação de energia cinética é negativa, indicando uma perda de energia cinética. Na realidade, esta perda corresponde, fisicamente, a uma transformação de energia cinética em outras formas de energia durante a colisão. As equações (I) e (II) mostram que, numa colisão totalmente elástica r = 1 e a energia cinética é conservada durante a colisão. Numa colisão inelástica, devido a transformação de parte da energia cinética em outras formas de energia, a velocidade de saída do chão vf é menor do que a velocidade de chegada ao chão vi, o que dá r < 1 e, portanto, ∆K < 0.
vn+1 < vn: colisão eslática (há restituição de velocidade após o choque)
vn+1 = vn: colisão estástica total (há toda restituição da velocidade após o choque)
vn+1 = 0: colisão inelática (não há restituição da velocidade após o choque)

Coeficiente de Restiruição em Função das Alturas
Considerar o eixo-y positivo direcionado para baixo.
Ao soltar a bola a energia potencial Ep = m.g.Hi irá se transformar durante a queda em energia cinética tal que ao tocar ao solo a energia potencial se transformou em enercia cinética, portanto: m.g.Hi = (½).m.vi².
Ao subir de volta a energia cinética Ecf = (½).m.vf² se transformará em energia potencial, tal que: (½).m.vf² = m.g.Hf
Com isso:
vi² = 2.g.Hi
vf² = 2.g.Hf
vf²/vi² = Hf/Hi = r²

Coeficiente de Restiruição em Função dos Tempos
Considerar o eixo-y positivo direcionado para baixo, velocidade de descida positiva (vi > 0), velocidade de subida negativa (vf < 0).
vi = vo + g.∆tdescida = 0 + g.∆tdescida  = g.∆tdescida
  0 = vf + g.∆tsubida ⇒ vf =  -g.∆tsubida
r = vf/vi = -g.∆tsubida /g.∆tdescida = -∆tsubida/∆tdescida
∆tdescida = Tn
∆tsubida = Tn+1
Em valores absolutos tem-se:
r = Tn+1/Tn
Portanto, sucessivos intervalos de tempos de descida e subida formam uma progressão geométrica de razão r:
T1 = r.To
T2 = r².T1
T3 = r³.T2
...
Tn+1 = rn+1+.Tn

Cálculo do Coeficiente de Restituição Sucessivamente
Após a queda de um corpo de uma certa altura ele atinge o solo com uma determinada velocidade, o coeficiente de restituição é calculado com base nessa velocidade, obtém-se a velocidade de subida do corpo que pára e volta a cair num ciclo de descida e subida até parar no solo.
O coeficiente de restituição é aplicado a cada velocidade do corpo que atinge o solo.
Da mesma forma se procede com a altura.
Exemplo 1:
Um corpo tem coeficiente de restituição de 80% para uma primeira velocidade de queda no solo igual a 200 tem-se:
80% = 80/100 = 0.8
v1 = 200
v2 = 200*0.8
v3 = v2*0.8 = 200*0.8²
v4 = v3*0.8 = 200*0.8³
...
Em termos de programação, para uma velocidade v = 200 tem-se a cada ciclo:
v = 200
v = v*0.8
Outro forma:
80% = 100% - 20%
0.8 = 1 - 0.2
v = 200
v = v - 0.2*v

Exemplo 2:
Um corpo tem coeficiente de restituição de 80% e o mesmo está a 300 de altura do solo, a sequencia de cálculos é:
h1 = 300
h2 = 300*0.8
h3 = h2*0.8 = 200*0.8²
h4 = h3*0.8 = 200*0.8³
...
Em termos de programação tem-se a cada ciclo:
h= 200
h= h*0.8
Outro forma:
80% = 100% - 20%
0.8 = 1 - 0.2
h = 200
h = h - 0.2*h

Diferenção entre elático e elasticidade
A elasticidade é uma propriedade dos materiais muito importante para o coeficiente de restituição, não deve ser confundido com o mesmo, a elasticidade é a capacidade do material de se deformar e voltar a forma original. Por exemplo, um cubo de silicone, se jogado ao chão, não haverá restituição de velocidade e mesmo assim tem mais elasticidade que uma bola de ferro que pode dar um salto.

3. Estudo dos Sinas das Velocidades e Acelerações
3.1. Deslocamento Vertical e Horizontal
Pode-se padronizar o sitema de coordenadas e trabalhar com os valores no sistema de coordenadas cartesiano ou senão usar o sistema de coordenadas da tela, o importante é entender o que se está fazendo.
Aceleração significa soma de velocidade, aceleração positiva significa soma de velocidade positiva, aceleração negativa significa soma de velocidade negativa, essa dedução é fácil de interpretar observando a fórmula: v = vo + a.t, vo e a.t tem a mesma grandeza.
Deslocamento horizontal
v = ∆x/∆t
∆x = x - xo
deslocamento para esquerda:
x < xo ⇒ v < 0
se a > 0: v diminui, pára e vai para direita
se a < 0: v  aumenta e continua para esquerda
deslocamento para direita:
x > xo ⇒ v > 0
se a > 0: v aumenta e continua para direita
se a < 0: v diminui, pára e vai para esquerda

Deslocamento vertical
v = ∆y/∆t
∆y = y - yo


deslocamento para cima:
 y < yo ⇒ v < 0
se a > 0: v diminui, pára e vai para baixo
se a < 0: v  aumenta e continua para cima
deslocamento para baixo:
x > xo ⇒ v > 0
se a > 0: v aumenta e continua para baixo
se a < 0: v diminui, pára e vai para cima

Movimento
O deslocamento é um movimento retilíneo e uniformemente variado, ou seja, com aceleração gravitacional constante, conhecido como queda livre.

Movimento Retilíneo Uniformemente Variado

Velocidade Média
É a taxa média de variação do deslocamento em função da variação de tempo.
Δx = x - xo
Δt = t - to
v = Δx/Δt

v = (vo + v)/2

Substituindo v = vo + at na fórmla anterior, tem-se:
v =  vo +  ½ at

Velocidade Instantânea
É o limite da taxa média de variação do deslocamento em função da variação de tempo que tende a zero. Também pode-se expressar a velocidade instantânea como a derivada do deslocamento em função do tempo.
v = limitΔt→0Δx/Δt
v = dx/dt

Aceleração Média
É a taxa média de variação da velocidade em função da variação de tempo.
a = Δv/Δt
Δv = v - vo
Δt = t - to

Aceleração Instantânea
É o limite da taxa média de variação da velocidade em função da variação de tempo que tende a zero. Também pode-se expressar a aceleração instantânea como a derivada da velocidade em função do tempo.
a = limitΔt→0Δv/Δt
a = dv/dt

Aceleração Constante
Quando a aceleração é constante a aceleração média e a aceleração instantânea são iguais.
a = Δv/Δt
to = 0 ⇒ vo
a = (v - vo)/(t-0)
v = vo + at

Deslocamento
Com a fórmula da velocidade média e da aceleração chega-se a fórmula do deslocamento.
v = vo + at      (I)

v = Δx/Δt
Δx = x - xo
Δt = t - to
to = 0 ⇒ xo
x = xo + vt  (II)

v = (vo + v)/2    (III)

v = ½ (vo + v) = ½ (vo + vo + at)  (I)  e  (II)
v = (x - xo)/t = vo + ½ at   
x = xo + vot + ½ at²

Equação de Torricelli
v = vo + at  ⇒ t = (v -vo)/a    (I)
x = xo + vot + ½ at²    (II)
x - xo = vot + ½ at²     (II)
Substituindo o tempo em (II) tem-se:
v² = vo² + 2a(x - xo)

Grandezas Envolvidas
Para facilitar a escolha da fórmula a tabela abaixo relaciona a grandeza faltante, são seis as grandezas: v, vo, x, xo, t, a.
Na na primeira coluna da tabela abaixo estão relacionados as fórmulas para o movimento retilíneo uniformemente variado e na segunda coluna estão as grandezas faltantes.
Relação
Grandeza que Falta
v = vo +at x - xo
x = xo + vot + at²/2 v
 v² = vo² + 2a(x - xo) t (equação de torricelli)
x - xo = vt - ½ at²
vo
x - xo = ½ (vo + v)t
a

Queda Livre
Trata-se de movimento retilíneo uniformemente variado, o movimento é vertical, perpendicular ao solo. Um corpo ao ser abandonado de uma certa altura ficará sugeito a aceleração da gravidade. É dito queda livre porque o corpo está sugeito apenas a aceleração gravitacional, despreza-se a resistência do ar. O deslocamento vertical de queda livre não depende da massa (x = xo + vot + ½ at²).

Deslocamento Vertical
Será adotado aceleração gravitacional negativa quando o objeto sobe, porque a velocidade final será menor que a inicial e será adotado aceleração gravitacional positiva quando o objeto desce de uma certa altura porque a velocidade final será maior que a inicial.
Será adotado eixo-y positivo para baixo na descida e eixo-y positivo para cima na subida, creio que assim seja mais próximo do fenômeno físico, caso fosse adotado apenas um eixo-y positivo para cima, a aceleração gravitacional teria que ser negativa tanto para subida quanto para descida, isso não corresponde com o fenômeno físico em questão.

y = yo + vo.t + g.t²/2
yo: posição vertical inicial igual a zero, início do deslocamento, eixo-y voltado para baixo.
vo:  velocidade inicial igual a zero, o objeto encontra-se em repouso.
Massa da bola: 1 kg (não será utilizado).
Aceleração gravitacional: g = 10 m/s², esse é o valor considerado para o exercício.
Altura inicial: 80 metros
Coeficiente de restituição: 80%, ou seja, 0.8
Raio da bola: 0.1 metros



Ponto A:
Descida
vo = 0, yo = 0
y1 = 80 = yo + vo.t + g.t²/2
y1 = 10.t²/2 = 80 ⇒ t = 4 s
t = Math.sqrt(y1*2/10)
vap = vo +g.t = 0 + 10.4 = 40

Ponto B:
Subida
r = 80% = 0,8
vo = vaf = -32, yo = 80
y2 = 80 - 32.t + g.t²/2
v = vo + gt
0 = -32 + 10.t t = 3,2 s
y2 = 28,8
Comprovação:
y1-y2: corresponte a altura do solo
(y1-y2/y1) = r²
51,2/80 = 0,8² = 0,64

Obs:
vaf < 0, pois a posição final é menor que a inicial.
g > 0, a velocidade gravitacional é positiva, caso tenha dúvida, consulte o estudo dos sinais da velocidade e da acelerração.


Animação
Tempo em JavaScript
Para trabalhar com tempo em JavaScript utiliza-se a função setInterval(namefun,tempo) que torna possível o deslocamento de uma figura com uma certa velocidade ou aceleração, o primeiro parâmetro é o nome da função e o segunto parâmento é o tempo que levará para executar a função tal tempo é um numero inteiro em milissegundo.
O tempo é medido em milissegundos, a função deve ser repetida várias vezes em um intervalo de tempo para que se possa perceber o movimento, essa função comporta se como um loop e repete a execução da função a cada tempo.
A animação é conseguida com um intervalo de tempo pequeno, exemplo dt = 0.02 segundos que no metodo setInterval() deve ser multiplicado por mil, pois o segundo parâmento está em milissegundos, para um parâmetro igual a 1 significa 0.001 segundos, portanto, para um dt = 0.02 seguntos tem-se ; setInterval(function, dt*1000), ou seja, 20 na função significa 0.02 segundos, esse 0.02 segundos é utilizado nas fórmulas do deslocamento.

Código 1:
<!DOCTYPE html>
<html lang="pt_BR">
<head><title>Queda Livre</title>
<meta charset="utf-8">
<style>
canvas {
    margin:10px auto;
    border:1px solid #999;
}
</style>
</head>
<body>
<canvas id="canvas" height="400" width="400"></canvas>
<script>
var canvas = document.getElementById('canvas'),
    ctx = canvas.getContext('2d'),
    height = 400,
    width = 400,
    x = 200,
    y = 20,
    vy = 0,
    r = 20,    
    dt = 0.02, 
    e = 0.8,  
    g=9.8;

function init() {
  return setInterval(loop, dt*1000);
}

function loop()
{
    dy = vy * dt + (0.5 * g * dt * dt);
    y += dy * 100;
    vy += g * dt;
   
    if (y + r > height && vy > 0)
    {
        vy *= -e;
        y = height - r;                       
    }
   
    draw();
}

function draw()
{
    ctx.clearRect(0, 0, width, height);
    ctx.beginPath();
    ctx.fillStyle="#0000ff";
    ctx.arc(x, y, r, 0, Math.PI * 2, true);
    ctx.fill();
    ctx.closePath();
}
init();

</script>
<form action="queda2.html" method="post">
<input type="submit" value="Reiniciar">
</form>
</body>
</html>

Link para o arquivo

Código 2:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML5 Bouncing Ball</title>
<style type="text/css">

canvas {
    border:1px solid #999;
}

</style>

</head>
<body>
<canvas id="myCanvas" width="300" height="300"></canvas>
<script type="text/javascript">
var context;
var y = 0;
var x=150;
var dt = 0.02;
var g = 9.8;
var r = 20;
var vy=0;

function init() {

  return setInterval(loop, dt*1000);
}
  var myCanvas=document.getElementById("myCanvas");
  context= myCanvas.getContext('2d');
  
     function loop(){
    vy += g*dt;
    dy =  vy * dt + (0.5 * g * dt * dt);
    y+=dy*100;

    height = y*0.2;
    if( y>279 || y<height){
           vy = -vy*0.8;
        y=279;         
    }
      draw();
    }
      
function draw(){
    context.clearRect(0,0,300,300);
    context.beginPath();
    context.fillStyle="#0000ff";
    context.arc(x,y,r,0,Math.PI*2,true);
    context.closePath();
    context.fill();
   
}

init();
</script>
<form action="queda3.html" method="post">
<input type="submit" value="Reiniciar">
</form>
</body>
</html>

Link para o arquivo