trajectória de um projéctil

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

Upload: uta-jarvis

Post on 31-Dec-2015

15 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Trajectória de um Projéctil

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

Page 2: Trajectória de um Projéctil

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

Page 3: Trajectória de um Projéctil

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.

Page 4: Trajectória de um Projéctil

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.

Page 5: Trajectória de um Projéctil

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

Page 6: Trajectória de um Projéctil

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

Page 7: Trajectória de um Projéctil

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.

Page 8: Trajectória de um Projéctil

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;

Page 9: Trajectória de um Projéctil

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

Page 10: Trajectória de um Projéctil

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

Page 11: Trajectória de um Projéctil

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

Page 12: Trajectória de um Projéctil

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

Page 13: Trajectória de um Projéctil

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);

Page 14: Trajectória de um Projéctil

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;

Page 15: Trajectória de um Projéctil

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);

Page 16: Trajectória de um Projéctil

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).