trajectória de um projéctil
DESCRIPTION
Trajectória de um Projéctil. Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2006/2007. f ( a ). h max. d max. a. Apresentação do Problema. y. - PowerPoint PPT PresentationTRANSCRIPT
22 Setembro de 2006 Trajectória de um Projéctil 1
Trajectória de um Projéctil
Jorge CruzDI/FCT/UNL
Introdução aos Computadores e à Programação1º Semestre 2006/2007
22 Setembro de 2006
Trajectória de um Projéctil 2
Apresentação do Problema• Um projéctil é lançado de uma altura de y0 metros, com um ângulo inicial de
lançamento de radianos e com uma velocidade inicial de v0 metros por segundo.
• A trajectória do projéctil em coordenadas (x,y) pode ser modelada através da seguinte equação:
02
2202
yx)θ(cosv
g)θtan(x)x(fy
v0
(0,0)x
y
y0
a
f(a)
• Problema: determinar a distância máxima (dmax) e a altura máxima (hmax) atingidas pelo projéctil.
dmax
hmax
22 Setembro de 2006
Trajectória de um Projéctil 3
Resolução Informal• Problema: determinar a distância máxima (dmax) e a altura
máxima (hmax) atingidas pelo projéctil.
• Pode-se simular a trajectória do projéctil usando a função f para calcular o valor de y correspondente a cada valor de x.
– Considera-se o ponto inicial da trajectória x0=0: (x0,y0)
– Considera-se uma sequência de valores de x (x1,x2,…) para os quais se calcula o respectivo valor de y usando a função f: (x1,f(x1)), (x2,f(x2)), …
– Termina-se o cálculo quando aparecer o primeiro ponto da trajectória com o valor de y negativo.
• Os valores da distância máxima e da altura máxima podem ser aproximados respectivamente pelos valores maximos de x e y obtidos nos pontos calculados da trajectória.
22 Setembro de 2006
Trajectória de um Projéctil 4
Resolução Informal• Graficamente a simulação da trajectória do projéctil corresponde a:
• O último ponto considerado é o x11 uma vez que é o primeiro a aparecer com y negativo: f(x11)<0
• A distância máxima (dmax) é aproximada pelo maior valor de x: dmax x11
• A altura máxima (hmax) é aproximada pelo maior valor de y: hmax f(x6)
(x0,y0)
x
y
(x1,f(x1))
(x2,f(x2))
(x11,f(x11))
(x6,f(x6))hmax^
dmax^
• A precisão das aproximações depende dos pontos da trajectória calculados: se a distância (em x) entre cada dois pontos consecutivos for dx então, em geral, a precisão aumenta quando dx diminui.
22 Setembro de 2006
Trajectória de um Projéctil 5
Especificação do Problema
Dada uma altura inicial (y0) uma velocidade inicial (v0) e um ângulo inicial de lançamento (), com base no modelo da trajectória apresentado e para uma dada precisão (dx), determinar a distância máxima (dmax) e a altura máxima (hmax) atingidas pelo projéctil.
Algoritmo de Simulação da Trajectória deum Projéctil
Entrada
Altura Inicial : y0
Velocidade Inicial : v0
Ângulo Inicial : Precisão : dx
Resultados
Distância Máxima : dmax
Altura Máxima : hmax
22 Setembro de 2006
Trajectória de um Projéctil 6
Variáveis Utilizadas
Em geral, na especificação de um algoritmo definem-se as variáveis e constantes que vão ser utilizadas, bem como o seu significado. Neste problema, apenas existe uma constante
• g = 9.8 : a aceleração da gravidade (na Terra)
As variáveis a utilizar são, naturalmente, as seguintes
• y0 : a altura inicial
• v0 : a velocidade inicial
: o ângulo inicial
• dx : a distância em x entre dois pontos consecutivos
• dmax : a distância máxima alcançada pela trajectória
• hmax : a altura máxima alcançada pela trajectória
22 Setembro de 2006
Trajectória de um Projéctil 7
Estrutura do Algoritmo
O algoritmo para simulação da trajectória de um projéctil pode ser decomposto em 3 “componentes”
1. Inicialização de Variáveis
2. Ciclo de Simulação da Trajectória
3. Apresentação de Resultados
Cada uma destas componentes pode ser considerada separadamente.
22 Setembro de 2006
Trajectória de um Projéctil 8
Inicialização de Variáveis
• Em qualquer algoritmo é necessário garantir que as variáveis são inicializadas e as constantes definidas antes de poderem ser referidas em expressões.
• O valor da constante de aceleração da gravidade é conhecido inicialmente e por isso pode ser logo atribuído por uma instrução de afectação:
g ← 9.8;
• Os valores da altura inicial, velocidade inicial, ângulo inicial de lançamento e distância em x entre dois pontos consecutivos são os parâmetros de entrada do problema, e portanto têm que ser pedidos ao utilizador através de instruções de entrada:
Entra y0; Entra v0; Entra ; Entra dx;
• Os valores de distância e altura máximas alcançados pela trajectória são os resultados que têm que ser calculados e portanto são desconhecidos inicialmente podendo ser inicializados a 0 por uma instrução de afectação:
dmax ← 0; hmax ← 0;
22 Setembro de 2006
Trajectória de um Projéctil 9
Inicialização de Variáveis
1. Inicialização de Variáveis
g 9.8; % aceleração da gravidadeEntra y0; % altura inicialEntra v0; % velocidade inicialEntra ; % ângulo inicial Entra dx; % precisãodmax 0; % distância máxima da trajectóriahmax 0; % altura máxima da trajectória
22 Setembro de 2006
Trajectória de um Projéctil 10
Ciclo de Simulação• A parte fundamental do algoritmo é um ciclo em que se vão calculando os sucessivos valores da trajectória do projéctil para pontos espaçados em x de um valor dx.
• Vamos usar duas novas variáveis, x e y, para representar cada ponto da trajectória.
• O primeiro ponto é: (x, y) = (0,y0)
x 0;y y0;enquanto ... fazer x x + dx; y x*tan()-(g*x^2)/(2*v0^2*cos()^2)+y0;fim enquanto
22 Setembro de 2006
Trajectória de um Projéctil 11
Condições de Entrada no Ciclo
• Em qualquer ciclo é necessário especificar em que condições é que o ciclo é executado.
• Neste caso, estamos interessados em estudar a trajectória até se atingir o solo (y = 0). A condição de controle do ciclo é pois
y > 0,
donde
x 0;y y0;enquanto y > 0 fazer x x + dx; y x*tan()-(g*x^2)/(2*v0^2*cos()^2)+y0;fim enquanto
22 Setembro de 2006
Trajectória de um Projéctil 12
Ciclo de Simulação
2. Ciclo de Simulação
x 0;y y0;enquanto y > 0 fazer x x + dx; y x*tan()-(g*x^2)/(2*v0^2*cos()^2)+y0;fim enquanto
22 Setembro de 2006
Trajectória de um Projéctil 13
Apresentação de Resultados
• A distância máxima da trajectória é simplesmente o valor de x no final do ciclo.
• Para apresentar esse valor basta:
dmax x;Sai dmax;
• A altura máxima da trajectória é o maior valor de y obtido durante o ciclo.• Mas no final do ciclo esse valor não está em nenhuma variável !
• Temos que acrescentar uma instrução ao ciclo de simulação para actualizar hmax
sempre que for encontrado um valor de y maior:
hmax max(hmax,y);
22 Setembro de 2006
Trajectória de um Projéctil 14
Algoritmo Completo% Inicialização de Variáveis
g 9.8; % aceleração da gravidadeEntra y0; % altura inicialEntra v0; % velocidade inicialEntra ; % ângulo inicial Entra dx; % precisãodmax 0; % distância máxima da trajectóriahmax 0; % altura máxima da trajectória
% Ciclo de Simulaçãox 0;y y0;enquanto y > 0 fazer
x x + dx; y x*tan()-(g*x^2)/(2*v0^2*cos()^2)+y0;
hmax max(hmax,y);fim enquanto
% Apresentação de Resultadosdmax x;Sai dmax; Sai hmax;
22 Setembro de 2006
Trajectória de um Projéctil 15
Programa Octave% Inicialização de Variáveis
g = 9.8; % aceleração da gravidadey0 = input(" Qual a altura inicial (m)? ");v0 = input(" Qual a velocidade inicial (m/s)? ");
tet = input(" Qual o angulo inicial (rad)? ");dx = input(" Qual a precisao (m)? ");dmax = 0; % distância máxima da trajectóriahmax = 0; % altura máxima da trajectória
% Ciclo de Simulaçãox = 0;y = y0;while y > 0
x = x + dx; y = x*tan(tet)-(g*x^2)/(2*v0^2*cos(tet)^2)+y0;
hmax = max(hmax,y);endwhile
% Apresentação de Resultadosdmax = x;disp("Distância maxima da trajectoria (m):"); disp(dmax);disp("Altura maxima da trajectoria (m):"); disp(hmax);
22 Setembro de 2006
Trajectória de um Projéctil 16
Programa Octave
• O programa pode ser testado com vários valores dos parâmetros de entrada (y0, v0, tet e dx).
• Os valores de y0 e v0 devem ser positivos (o y0 pode ser zero).
• O valores de tet devem estar entre 0 e /2.• Verificar a importância de dx tomar valores
pequenos, de forma a garantir que erros cometidos pelas aproximações não sejam muito significativos (dx 0.1 m).