\( \newcommand{\nPr}[2]{{}^{#1}A_{#2} } \newcommand{\combin}[2]{{}^{#1}C_{#2} } \newcommand{\cmod}[3]{#1 \equiv #2\left(\bmod {}{#3}\right)} \newcommand{\frc}[2]{\displaystyle\frac{#1}{#2}} \newcommand{\mdc}[2]{\left( {#1},{#2}\right)} \newcommand{\mmc}[2]{\left[ {#1},{#2}\right]} \newcommand{\cis}{\mathop{\rm cis}} \newcommand{\ImP}{\mathop{\rm Im}} \newcommand{\ReP}{\mathop{\rm Re}} \newcommand{\sen}{\mathop{\rm sen}} \newcommand{\tg}{\mathop{\rm tg}} \newcommand{\cotg}{\mathop{\rm cotg}} \newcommand{\cosec}{\mathop{\rm cosec}} \newcommand{\cotgh}{\mathop{\rm cotgh}} \newcommand{\cosech}{\mathop{\rm cosech}} \newcommand{\sech}{\mathop{\rm sech}} \newcommand{\sh}{\mathop{\rm sh}} \newcommand{\ch}{\mathop{\rm ch}} \newcommand{\th}{\mathop{\rm th}} \newcommand{\senEL}[1]{\mathop{\rm sen}^{#1}} \newcommand{\tgEL}[1]{\mathop{\rm tg}^{#1}} \newcommand{\cotgEL}[1]{\mathop{\rm cotg}^{#1}} \newcommand{\cosecEL}[1]{\mathop{\rm cosec}^{#1}} \newcommand{\shEL}[1]{\mathop{\rm sh^{#1}}} \newcommand{\chEL}[1]{\mathop{\rm ch^{#1}}} \newcommand{\thEL}[1]{\mathop{\rm th^{#1}}} \newcommand{\cotghEL}[1]{\mathop{\rm cotgh^{#1}}} \newcommand{\cosechEL}[1]{\mathop{\rm cosech^{#1}}} \newcommand{\sechEL}[1]{\mathop{\rm sech^{#1}}} \newcommand{\senq}{\senEL{2}} \newcommand{\tgq}{\tgEL{2}} \newcommand{\cotgq}{\cotgEL{2}} \newcommand{\cosecq}{\cosecEL{2}} \newcommand{\cotghq}{\cotghEL{2}} \newcommand{\cosechq}{\cosechEL{2}} \newcommand{\sechq}{\sechEL{2}} \newcommand{\shq}{\shEL{2}} \newcommand{\chq}{\chEL{2}} \newcommand{\arctg}{\mathop{\rm arctg}} \newcommand{\arcsen}{\mathop{\rm arcsen}} \newcommand{\argsh}{\mathop{\rm argsh}} \newcommand{\argch}{\mathop{\rm argch}} \newcommand{\argth}{\mathop{\rm argth}} \newcommand{\Var}{\mathop{\rm Var}} \newcommand{\vect}[1]{\overrightarrow{#1}} \newcommand{\tr}[1]{ \textnormal{Tr}\left({#1}\right)} \newcommand{\C}{\mathbb{C}} \newcommand{\E}{\mathbb{E}} \newcommand{\H}{\mathbb{H}} \newcommand{\I}{\mathbb{I}} \newcommand{\N}{\mathbb{N}} \newcommand{\P}{\mathbb{P}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\til}{\sim} \newcommand{\mdc}{\mathop{\rm m.d.c.}} \newcommand{\mmc}{\mathop{\rm m.m.c.}} \newcommand{\vect}[1]{\overrightarrow{#1}} \newcommand{\dfrc}{\displaystyle\frac} \newcommand{\Mod}[1]{\ (\mathrm{mod}\ #1)} \)

02/04/2025

Projecteis, alcance e... CPmíssil

Há perguntas cuja resposta pode ser simples ou complicada, dependendo de como foi feita e das definições que a pessoa tem.

Em 1994/95, no último ano do meu secundário, aprendi o movimento de projecteis.
E com ele, escrevi um dos meus primeiros jogos de calculadora, o CPMíssil.


A imagem é umuma captura de ecrã do CPmíssíl 3.0 de Novembro de 1999 para calculadoras Casio cfx-9950G, mas as versões 1.0 e 2.0 foram escritas para uma máquina com apenas 400 bytes de memória, a Casio fx-6300G... em 1994.
Aquela "vel vento" foi uma variável aleatória que juntei na versão 3

[ CPmissil não foi o meu primeiro jogo, há muitas formas extracurriculares de expor e reter assuntos: não hostilizem a tecnologia... ]

Era uma espécie de "Angry birds" com tanques.
A ideia para o jogo ocorreu-me enquanto estava a estudar, como forma de testar os meus conhecimentos, melhor do que andar meramente a resolver exercícios.
Funcionar, funcionou!
Acabei o secundário com 20 a Física, e hoje em dia ainda domino vários assuntos da àrea...

Não vou disponibilizar o jogo -ainda corre nas calculadoras actuais- embora, vários ex-alunos meus tenham ficado com uma cópia, oferta minha.

Lembrei-me disto porque recentemente vi o código das versões 1.0 e 2.0, e ainda vi uma pergunta num grupo do facebook :

Num lançamento obliquo, se fixarmos uma velocidade, qual o ângulo que permite obter um alcance máximo?

O "alcance" é definido como sendo a distância, na horizontal, percorrida pelo projéctil.
(Na imagem, a linha verde é o chão... se o chão fosse horizontal, o alcance seria a distância entre os dois tanques)

Se não houver vento, nem resistência do ar (e...), a resposta correcta é 45 graus. Porquê?

A equação do movimento do projéctil (o míssil do meu jogo) é \[ \left\{ {\begin{array}{l} {x = x_0 + \left( {v_0 \cos \theta _0 } \right)t} \\ {y = y_0 + \left( {v_0 \sen \theta _0 } \right)t - \frc{1}{2}gt^2 } \end{array}} \right. \] onde $(x_0,y_0)$ são as coordenadas do local de lançamento (o meu tanque da esquerda), $v_0$ é o módulo da velocidade de lançamento (ou velocidade inicial), e $\theta_0$ é o tal ângulo (deixei um indice zero porque é o ângulo inicial que o vector velocidade faz com a direcção do semi-eixo positivo das abcissas), $g$ é o módulo da aceleração da gravidade e $t$ é o tempo desde o momento de lançamento, e naturalmente está no intervalo $[0, t_{\text{max}}]$ onde $t_{\text{max}}$, chamado "tempo de voo", é o instante quando o projéctil atinge a mesma altura que tinha quando foi lançado.
Para facilitar os cálculos, e sem perder qualquer generalidade vou considerar que o ponto de lançamento (onde está o primeiro tanque) é a origem das coordenadas, ou seja, é o ponto $(0,0)$.
Assim ficamos com \[ \left\{ {\begin{array}{l} {x = \left( {v_0 \cos \theta _0 } \right)t} \\ {y = \left( {v_0 \sen \theta _0 } \right)t - \frc{1}{2}gt^2 } \end{array}} \right. \] no ponto onde o projectil atinge o solo ( ou o outro tanque, se lá estiver ) temos $$(x,y)=(x_{\text{max}},0)$$ aquele $x_{\text{max}}$ é justamente o tal alcance. Então \[ \left\{ {\begin{array}{l} {x_{\text{max}} = \left( {v_0 \cos \theta _0 } \right)t_{\text{max}}} \\ {0 = \left( {v_0 \sen \theta _0 } \right)t_{\text{max}} - \frc{1}{2}gt_{\text{max}}^2 } \end{array}} \right.\] Como $t_{\text{max}}>0$ então\[ \left\{ {\begin{array}{l} {x_{\text{max}} = \frc{{2v_0^2 \cos \theta _0 \sen \theta _0} }{g}= \frc{{v_0^2 \sen \left(2\theta _0\right)} }{g}} \\ {t_{\text{max}} = \frc{2v_0 \sen \theta _0 }{g}} \end{array}} \right. \] $x_{\text{max}}$ é máximo quando $\sen \left(2\theta _0\right)=1$ como, dadas as limitações geométricas do problema, $\theta_0$ tem de estar entre $0^0$ e $90^0$ então $2\theta_0=90^0$ logo $\theta_0=45^0$.
O olho mais atento notará que a equação do movimento de um projectil, "pode descrever" uma parábola (aquela mesma parábola do texto das cónicas). É "pode descever" porque se $\theta_0$ for $90^0$, aquilo parametriza outra coisa. Nem é preciso fazer contas para dizer o quê...
Claro que do ponto de vista físico podem se fazer outras deduções, que para alguém de Matemática não passam de curiosidades, como por exemplo, a altura máxima, o tempo de subida, a equação da trajectória... etc. São apenas contas. E simples.
Sobre o jogo... no máximo gravo um vídeo e ponho no youtube.
Quem tiver curiosidade que escreva um.
Eu ainda consigo escrevê-lo e pô-lo a correr... no Geogebra!