Blog


Por Carlos 0rientd Henrique

[10/09/2026]

O Teorema de Pitágoras no Design de Jogos

Uma ideia de milênios usada para desenvolver jogos

O Teorema de Pitágoras no Design de Jogos

O Teorema de Pitágoras é um grande caso de uso dentro do desenvolvimento de jogos e exemplifica fortemente porque temos de aprender algumas fórmulas e matemática básica para fazer nossos próprios jogos.

Pode não ficar muito compreensível como utiliza-lo mas saiba que praticamente todos os jogos utilizam este teorema.

Este teorema diz ter sido descoberto a mais de mil anos. E é aceito de que não realmente Pitágoras quem descobriu e desenvolveu esta fórmula utilizada no teorema.

Muito antes de Pitágoras, os Egípcios e Babilônios já utilizam este conhecimento, só não tinham ainda como provar matematicamente isso. O nome veio justamente da escola pitagórica de matemática que provou isso formalmente.

Este post não visa intimidar iniciantes, pelo contrário, vamos entender melhor como a matemática se aplica no desenvolvimento de jogos. Muitas ferramentas já abstraem isso de forma a gente conseguir usar essas fórmulas já integradas em objetos/entidades dentro dessas mesmas ferramentas.

Então meu objetivo neste post é justamente exemplificar e trazer da minha forma de explicar, como funciona e quando usamos isso.

O poder de um triângulo

O triângulo é uma figura geométrica que se insere em um plano bidimensional (2D).

Em jogos 2D, essa figura geométrica auxilia no que chamamos de ‘triangulação’, isto é, localizar pontos e distâncias entre objetos, sendo uma das fórmulas mais utilizadas dentro de jogos.

Em filmes e séries também temos a utilização dessa forma geométrica que, costuma aparecer onde um espião saca seu notebook e começa a digitar um monte de coisa, “triangulando” uma chamada telefônica de uma forma magnífica para localizar alguém. Imagino que você já tenha escutado esse termo, principalmente em filmes. E é aí que o teorema de Pitágoras faz sentido!

Em jogos a utilização é bem parecida também.

Mas antes de começarmos a nos aprofundar mais em como fazemos o cálculo, como podemos utilizar essas informações e etc, acho importante mostrar a fórmula que foi desenvolvida e é utilizada.

Abaixo, temos a representação do Teorema de Pitágoras:

C^2 = A^2 + B^2

Esta pequena fórmula carrega bastante informação quando estamos falando sobre jogos, por exemplo: podemos calcular a distância euclidiana (distância direta) entre dois pontos em um plano bidimensional.

Podemos aplicar esta fórmula a diversas áreas, não só para jogos.

Um exemplo foi o que trouxe dos filmes. De fato, o que acontece no filme também acontece na vida real. É possível utilizar esta fórmula para calcular a distância de um celular para uma antena de telefone, conseguindo de verdade localizar o dispositivo.

Ela também se aplica ao: GPS, Inteligência Artificial, Engenharia, Arquitetura e outras áreas e aplicações.

Trazendo para o mundo dos games, vamos supor que eu tenho meu personagem que vamos chamar de “P1”, e eu tenho um monstro que vamos chamar de “M2”.

Dentro de um plano cartesiano onde o ponto X e Y começam em 0, vamos posicionar nosso personagem no ponto ( X = 2 e Y = 2 ). Já nosso monstro vai estar posicionado no ponto ( X = 5 e Y = 6 ).

C = \sqrt[2]{(M2x-P1x)^2 + (M2Y-P1Y)^2}

Substituindo os parâmetros da equação temos a seguinte informação:

C = \sqrt[2]{(5-2)^2 + (6-2)^2}

Resolvendo a equação, temos o seguinte resultado:

C = \sqrt[2]{3^2 + 4^2}
C = \sqrt[2]{9 + 16}
C = \sqrt[2]{25}
C = 5

Com essa informação, podemos traçar a linha que liga esses dois objetos.

Ok, mas o que podemos fazer com isso?

Podemos, por exemplo, criar uma condicional que diga que quando nossa distância (C) for menor do que 5, o monstro pode iniciar um ataque.

Podemos pensar também que a partir dessa distância, um buff é ativado no jogador.

Todo jogo trabalha com eventos que são acionados em determinadas condições. Entender e saber como calcular distância entre objetos é fundamental na hora de desenvolver jogos.

A todo momento o computador está calculando essa distância a fim de saber se objetos colidiram, se algo deve ser sinalizado na tela quando estivermos a uma certa distância ou outro gatilho que deva ser acionado com base nas informações ao usar a fórmula.

Um exemplo bem real é a render distance dos jogos.

A render distance serve para dizer ao jogo o quão longe vamos renderizar algo na tela. Quanto maior esse valor, mais coisas aparecerão na tela.

Um jogo deve ser performático assim como todo software desenvolvido por um bom profissional. Uma grande parte do tempo de desenvolvimento de um jogo, é passar por melhorias de performance, ou seja, otimizar o jogo para que ele funcione de uma forma mais eficiente quanto ao uso dos recursos do computador (CPU/GPU/RAM).

Uma técnica de otimização é renderizar somente algumas coisas na tela. Geralmente o que está mais próximo ou visível à perspectiva do personagem.

Não precisamos que nosso jogo renderize e calcule tudo de um NPC tão distante que não conseguimos nem sequer ver ele. Então, podemos calcular uma distância máxima, e colocar isso como uma configuração do jogo para controlar até onde as coisas serão renderizadas, a fim de evitar desperdício de recursos computacionais ou para ganhar mais alguns fps.

Vetores

Ainda dentro do tema, podemos falar sobre os vetores pois eles são fundamentais quando queremos entender para onde nossos personagens estão indo ou quando precisamos calcular a trajetória de um projétil, por exemplo.

Um vetor pode ser visto como uma linha com magnitude (tamanho) e direção específicas, ou seja, quando falamos de vetores dentro deste contexto, estamos falando sobre distância e direção.

Vamos imaginar. Considerando que nosso personagem saiu do ponto 0 e 0 dentro do nosso plano cartesiano e então se moveu até o ponto 2 e 2, temos nosso triângulo retângulo, como falado anteriormente. Mas se repararmos no processo de “se mover” até o ponto 2 e 2, temos uma direção para qual ele se moveu. Além da direção, temos também a distância percorrida.

Isso é essencial para sabermos de onde nosso personagem veio, para onde foi, o quanto se moveu e em qual direção ele foi.

Por trás das cenas, todos os mapas de jogos tem um ponto inicial. Uma tela de um programa para computador também tem coordenadas. Precisamos saber onde renderizar nossos botões, sliders e outros componentes.

PS: Em janelas quadradas, a coordenada (0, 0) pode estar no canto superior‑esquerdo ou no inferior‑esquerdo, dependendo da implementação.

Eu sei, isso pode parecer meio complicado, mas não é. Vou dar mais um exemplo.

Imagine que seu carro no vídeo game saiu da garagem. A garagem é o ponto inicial de partida. Nosso carro iniciou então no ponto 0 e 0 do nosso plano cartesiano (mapa do jogo) e, se o veículo continuar andando em uma velocidade constante, na mesma direção da diagonal (hipotenusa) até o ponto em que chegar em X = 2 e Y = 2, teremos um caminho reto que ele percorreu, que é a nossa hipotenusa.

Caso a gente precise saber no futuro onde nosso carro estará caso ele mantenha essa velocidade constante, podemos prever a trajetória, caso seja uma reta.

A fórmula seria algo assim:

x(t)=x_0+v_x\,t,\qquad y(t)=y_0+v_y\,t

Isso permite prever a trajetória futura do veículo no plano 2D, ou até mesmo a trajetória do projétil que foi disparado pelo inimigo quando chegamos perto demais.

Tudo vai depender do fator “tempo”.

A ideia central é: Posição Final = Posição Inicial + (Velocidade X Tempo).

Supondo que para nosso carro, levou 1 segundo para chegar até o ponto 2 e 2 dentro do nosso mapa, podemos resolver a equação da seguinte forma para ter a previsão do movimento do carro ao longo do percurso:

x(t) = x_0 + v_x \cdot t
x(0.5) = 0 + (2 \times 0.5)
x(0.5) = 1

O mesmo cálculo serve para o “Y”.

Isso nos diz então que para cada meio segundo (0.5) ele andou 1 unidade.

Se imaginarmos que temos uma linha de chegada no ponto X = 5 e Y = 5, conseguimos saber quanto tempo levará para nosso carro chegar até este ponto (2.5 segundos).

Com base na nossa criatividade, podemos fazer um monte de coisas, como por exemplo, fazer um inimigo disparar em nós, quando passamos perto demais.

Com isso, temos a trajetória (hipotenusa) do disparo até nosso personagem e, caso nosso personagem esteja naquela posição, em uma determinada quantidade de tempo deste projétil viajando, temos a colisão do projétil com nosso personagem.

Conclusão

No fim das contas, a beleza de um jogo está na forma como ele engana nossos sentidos.

A ilusão de movimento é dada pela sequência de imagens ordenadas. O mesmo acontece quando utilizamos o teorema, fazendo-nos acreditar que aquela distância ou aquele movimento é real. E para fazer essa magia acontecer, você precisa entender os pilares da matemática por trás dela. O Teorema de Pitágoras não é só uma fórmula, é o alicerce do seu próximo grande jogo.

Você agora tem as bases para implementar sistemas cruciais em qualquer engine (Unity, Godot, Unreal). A predição de trajetória é o que faz um projétil parecer realista; a gestão da render distance garante que seu jogo seja performático.

Continue aplicando esses conceitos nos seus projetos e veja como eles se encaixam na prática!

← Voltar