Cursos / Jogos Digitais / Matemática Aplicada a jogos / Aula

arrow_back Aula 02 - Andando na Linha - Um Estudo de Retas

4. Interseção entre retas

Vimos que duas retas podem ser paralelas, coincidentes ou concorrentes. Se duas retas são concorrentes, existe um ponto de interseção entre elas, ou seja, um ponto que pertence a ambas as retas. É possível, então, encontrar esse ponto a partir das equações das retas. Assim, seja $A = (x_0,y_0)$, o ponto de interseção das seguintes retas:

$r: ax + by + c = 0$
$s: dx + ey + f$

Como $A$ pertence às duas retas, $(x_0,y_0)$ deve ser solução do sistema

$\begin{cases} ax +by + c = 0 \\ dx + ey + f = 0 \\ \end{cases}$

Atividade

Encontre o ponto de interseção das retas da Figura 13 abaixo:

5. A matemática em ação: o exemplo do Pong

Nessa aula, conhecemos diversos conceitos relacionados a retas. A aplicação desses conceitos em jogos é bem clara e será aqui abordada através de um clássico da história dos games: Pong!

Que tal começarmos jogando para então discutirmos os elementos? Construímos uma versão bem simples com dois retângulos e um círculo. Acrescentamos ao nosso jogo a trajetória do círculo que é (adivinha?) uma reta! Você vai jogar usando as setas do teclado para controlar o retângulo da esquerda. Pra começar é só clicar no vídeo de demonstração abaixo!

Observe que a bola, em seu movimento, está sempre utilizando trajetórias retilíneas. As propriedades desse movimento serão discutidas em uma oportunidade posterior, na disciplina de Física Aplicada a Jogos. Por enquanto, vamos nos ater apenas à matemática do processo.

No início do jogo, a bola é lançada em direção ao jogador. Esse lançamento ocorre utilizando um ponto inicial e um ângulo definido aleatoriamente para indicar a direção que a bola deve se mover. Conhecendo um ponto e um ângulo conseguimos determinar a equação reduzida da reta, certo? Vamos agora encontrar qual reta é essa que define esse movimento.

Para fazer isso, posicionaremos a origem do sistema de coordenadas no centro da tela, de onde a bola surge no início do jogo. Nosso objetivo é, então, encontrar a reta que passa no ponto (0, 0) e forma com o eixo $x$ um ângulo $\alpha$.

Sabemos que a equação reduzida de uma reta é dada por

$y = mx + n$

onde $m$ é o coeficiente angular da reta, ou seja, a tangente do ângulo que a reta forma com o eixo $x$. No nosso caso,

$m = tg \ ⁡ \alpha$.

Sabemos também que o ponto $(0, 0)$ está na reta que procuramos. Então esse ponto deve satisfazer a equação da reta, ou seja

$0 = m \cdot 0 + n$,

onde podemos concluir que n=0.

No nosso Pong, então, dado um ângulo α gerado aleatoriamente, a trajetória percorrida pela bola será a reta

$y = (tg \ ⁡ \alpha) . x$

Para que esse movimento visualmente ocorra, a bola, inicialmente desenhada no ponto $(x_0, y_0)$, deve ter seus valores alterados a cada frame para um novo ponto $(x_1,y_1)$ coerente com sua trajetória. Que novo ponto é esse? Como encontramos esse ponto? Simples! Utilizamos uma parametrização da reta que acabamos de encontrar.

Note que, na Figura 14, se o jogador não mover a plataforma azul para cima a bola sairá da tela do jogo, fazendo com que o computador marque um ponto. A trajetória até essa saída é o segmento de reta que liga o ponto $(0,0)$ ao ponto $(-6,-6 . tg \ \alpha)$. Suponha que, na Figura 14, $\alpha= 135°= \frac{3\pi}{4} rad$. Precisamos parametrizar o segmento que vai de $(0, 0)$ a $(-6, 6)$. Das equações (1) e (2), temos

$x = -6t$
e
$y = 6t$.

A cada frame o valor de $t$ será incrementado de modo que o movimento da bola seja visível. O tamanho desse incremento pode ser ajustado de acordo com a necessidade e o detalhamento gráfico do jogo. Esse incremento define o que chamamos de velocidade da bola, isto é, o quanto ela se desloca a cada frame.

Dependendo do ângulo α a trajetória da bola pode levá-la a atingir a parede superior ou inferior, representadas no jogo pelas linhas pontilhadas superior e inferior. Caso isso aconteça, sua trajetória será alterada, como podemos ver na Figura 15.

Nesse caso, devemos criar uma nova reta sobre a qual a bola seguirá o seu trajeto. Essa nova reta passa pelo ponto onde a bola atinge a parede e segue com coefiente angular igual a $tg \ ⁡(180°\alpha)$, sendo $\alpha$ o coeficiente angular da reta do início do movimento.

Para esse exemplo, imagine que $\alpha = 150° = \frac{5\pi}{6}rad$ e que o ponto em que a bola toca a parede é o ponto $(\frac{1}{2}, \frac{-9}{2})$, considerando o mesmo sistema de coordenadas da Figura 14. Então a reta que descreve a trajetória inicial da bola tem coeficiente angular $m = tg \ 150º= - \frac{\sqrt{3}}{3}$ e essa reta passa pelo ponto $(\frac{1}{2}, \frac{-9}{2})$. Essa reta, então, terá equação

$y = - \frac{\sqrt{3}}{3}x+\frac{\sqrt{3}-27}{6}$.

Depois da colisão com a parede, a nova trajetória da bola será ao longo da reta de coeficiente angular $m = tg \ 180º-150º = \frac{\sqrt{3}}{3}$ e que também passa pelo ponto $(\frac{1}{2}, \frac{-9}{2})$. Essa reta terá equação

$y = - \frac{\sqrt{3}}{3}x-\frac{\sqrt{3}-27}{6}$.

Com isso, a bola terá a sua trajetória alterada.

Quando a bola colide com o jogador, devemos mudar o sentido horizontal do seu movimento e sua trajetória será representada por uma nova reta. Para adicionar um pouco de randomização ao jogo (RNG), essa nova reta é criada, como no começo, com um ângulo aleatório. Para que o jogador também possa influenciar o movimento de alguma maneira, definimos o sinal do coeficiente angular baseado na direção em que o jogador estava se movendo ao encostar na bola. Se ele tivesse se movendo para cima, a reta sobre a qual a bola se moverá terá coeficiente angular positivo. Caso contrário, o coeficiente angular será negativo. Você consegue ver o que isso influenciará no movimento? Vimos ao longo da aula que, se a reta tem um coeficiente angular positivo, o $y$ crescerá junto com o $x$ (a reta é crescente). Caso contrário, o $y$ irá decrescer quando o $x$ aumentar. A direção do movimento sobre a reta é definida por outra constante, que é invertida cada vez que há o contato com um jogador.

Percebeu como fica mais simples entender o jogo de Pong uma vez que entendemos melhor a matemática envolvida? Espero que tenham gostado do exemplo! Vamos jogar mais um pouco!

Versão 5.3 - Todos os Direitos reservados