1 / 16

Trajectória de um Projéctil

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.

uta-jarvis
Download Presentation

Trajectória de um Projéctil

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trajectória de um Projéctil Jorge Cruz DI/FCT/UNL Introdução aos Computadores e à Programação 1º Semestre 2006/2007 Trajectória de um Projéctil

  2. f(a) hmax dmax a Apresentação do Problema y • 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: v0  y0 (0,0) x • Problema:determinar a distância máxima (dmax) e a altura máxima (hmax) atingidas pelo projéctil. 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. Trajectória de um Projéctil

  4. ^ (x6,f(x6)) y (x2,f(x2)) (x1,f(x1)) ^ hmax dmax (x0,y0) x (x11,f(x11)) 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) • 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. Trajectória de um Projéctil

  5. Algoritmo de Simulação da Trajectória de um Projéctil 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. Entrada Altura Inicial :y0 Velocidade Inicial :v0 Ângulo Inicial : Precisão : dx Resultados Distância Máxima : dmax Altura Máxima : hmax 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 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. 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; Trajectória de um Projéctil

  9. Inicialização de Variáveis 1. Inicialização de Variáveis g 9.8; % aceleração da gravidade Entra y0; % altura inicial Entra v0; % velocidade inicial Entra ; % ângulo inicial Entra dx; % precisão dmax 0; % distância máxima da trajectória hmax 0; % altura máxima da trajectória 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 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 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 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); Trajectória de um Projéctil

  14. Algoritmo Completo % Inicialização de Variáveis g 9.8; % aceleração da gravidade Entra y0; % altura inicial Entra v0; % velocidade inicial Entra ; % ângulo inicial Entra dx; % precisão dmax 0; % distância máxima da trajectória hmax 0; % altura máxima da trajectória % 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; hmax max(hmax,y); fim enquanto % Apresentação de Resultados dmaxx; Sai dmax; Sai hmax; Trajectória de um Projéctil

  15. Programa Octave % Inicialização de Variáveis g = 9.8; % aceleração da gravidade y0 = 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ória hmax = 0; % altura máxima da trajectória % Ciclo de Simulação x = 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 Resultados dmax = x; disp("Distância maxima da trajectoria (m):"); disp(dmax); disp("Altura maxima da trajectoria (m):"); disp(hmax); 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). Trajectória de um Projéctil

More Related