Você está na página 1de 5

A Matemática nos Games – Rotação de Ponto

Publicado em 04/10/2011, por Everton Vieira - Postado em Matemática, Técnico10

Começamos hoje um novo arco de posts técnicos. O assunto? Um elemento presente


desde Tennis for Two de 1958 até o novo Battle Field 3 – a saudosa ciência conhecida
como Matemática. Para alguns, um bixo de sete cabeças – para outros, nem tanto.
Porém, sempre tendo um papel importantíssimo na história do desenvolvimento de jogos.
Esta ciência muitas vezes não recebe a devida atenção por parte dos desenvolvedores.
Muito programadores desconhecem que vários dos seus problemas podem ser resolvidos
com um conhecimento mínimo de trigonometria. Estamos aqui para mudar esta realidade.
Falando em trigonometria, ela será a base para o nosso primeiro assunto. Para quem não
recorda, ela é o segmento da matemática que foca o estudo das relação dos lados de um
triângulo retângulo. Porém, a ideia aqui não será repetir os ensinamentos do meu
professor de ensino médio, mas sim, através de exemplos práticos, mostrar a utilidade e
aplicação da matemática nos games. Para isso, criaremos um case, um game básico, para
justificar nossos ensinamentos. Neste primeiro post, vou utilizar um título que fez parte da
minha infância. Logo quando ganhei o meu Phantom System (versão da Gradiente para o
NES), peguei emprestado de um colega um divertido game de corrida chamado, Super
Sprint.

Ok,
temos que dar um desconto, isso foi em 1991 :). Apesar de simples, utilizando uma visão
top-down da pista de corrida, Super Sprint rendeu boas horas de diversão. Vamos
experimentar um pouco da sua mecânica através do protótipo a seguir. Clique e utilize as
setas do teclado para girar e mover o carro.

Analisando o protótipo, você consegue imaginar o algoritmo por trás do game? Qual seria
a técnica responsável por fazer o carro girar e movimentar-se em qualquer direção?

Temos basicamente dois movimentos para o carro, translação e rotação. Para obtermos o
movimento de translação, bastaria somarmos a velocidade nas posições x e y . Algo como,
se seta para direta pressionada, x += velocidade. Porém, Super Sprint é um pouco mais
complexo que isso. Não podemos simplesmente somar a velocidade nos dois eixos. Você
pode notar que podemos mover e girar o carro em qualquer direção. Observe que o
movimento é realizado levando em conta o ângulo do veículo (canto superior direito). A
seta para cima, sempre move o carro para frente, enquanto as setas para direita e
esquerda aumentam e diminuem o ângulo de rotação. Como faremos isso? Vamos
primeiro ver um exemplo. Observe a imagem a seguir para entender bem o que
precisamos. Através de um determinado ângulo (qualquer um) e um distância (velocidade)
precisamos encontrar o ponto seguinte para movermos o nosso carrinho.

A posição atual do nosso carro seria x=10 e y=20. A velocidade, neste exemplo, está
configurada para 20 pixels. Sendo assim, chegaríamos no ponto p1 de coordenadas x=25
e y= 33. O que devemos fazer para chegar nestes valores? A matemática nos auxilia na
solução desse problema através de um conceito chamado rotação de ponto. Você já
ouviu falar de seno e cosseno? Entendeu como eles funcionam e qual a sua utilidade?
Pois é, durante o ensino médio isso pode não ter ficad0 muito claro, mas vamos acabar

com os seus problemas .

Figura 2
Observe a imagem a cima. A definição nos diz que, dado um círculo trigonométrico de
centro (0,0) e raio de valor 1, o seno de um angulo X é sua representação no eixo Y. Já o
Cosseno, é a representação no eixo X. Lembre-se, cosseno (com sono), é o eixo
deitado ;). É importante também registrar que os pontos formam um triângulo retângulo
(veremos a utilidade disso nos próximos posts).
O valor de seno ou cosseno para um ângulo X pode ser obtido através das
funções Math.sin e Math.cos de sua linguagem de programação favorita, ou através da
tabela trigonométrica.
Ok Everton, mas como isso irá me ajudar a fazer a movimentação do carro exatamente?
Bom, a matemática vai fazer a pior parte. Com o ângulo em mãos, e utilizando seno e
cosseno, vimos que é possível encontrar o ponto que seria a extremidade de uma reta de
tamanho 1. Depois disso, basta multiplicarmos pelo valor desejado para obter o resultado.
Vamos fazer uma prova com o exemplo da figura 1:

 A posição atual é x=10 y=20


 O ângulo de rotação é de 40º
 A velocidade (distância a ser percorrida) é de 20 pixels
 Cosseno de 40º é 0,766
 Seno de 40º 0,6428
 Multiplicando os valores de seno e cosseno pela velocidade de 20,relacionando-os a x e
y, teremos:
o x = 15,32
o y = 12,85
 Note que esta técnica parte do princípio que o ponto de equilíbrio está no centro do círculo.
Sendo assim, teremos que fazer a translação do nosso carro somando sua posição atual
(x=10,y=20) aos valores obtidos, resultando em:
o x = 25,32
o y = 32,85
 Arredondando os valores, chegamos no resultado exato apresentado pela figura 1.

Um exemplo:

A Matemática por trás dos


games
Diante do desafio do criar jogos digitais de forma
colaborativa, a turma foi incentivada pelo professor
Greiton Toledo a pensar e a expressar suas ideias
matemáticas
POR:

07 de Março | 2018
Cheios de orgulho, os alunos da EM Irmã Catarina apresentam sua criação
digital. Foto: Raphaela Boghi

Educador Nota 10: Greiton Toledo de Azevedo


EM Irmã Catarina Jardim Miranda
Senador Canedo, GO
Matemática
6º ano

Projeto: Matemática e games? Eis a questão!


Número de alunos: 25
Duração: 4 meses

Resumo do projeto:
O Mattics (nome dado ao projeto) nasceu de uma necessidade de atender os
estudantes que apresentavam dificuldade em Matemática e também para
incentivar aqueles que apresentavam bons rendimentos. Foi idealizado não
somente para satisfazer o gosto dos estudantes pelos jogos digitais (que foram
desafiados a criar usando o software Scratch), ou para prepará-los a seguir uma
carreira profissional como programadores, mas para incentivá-los, por meio das
tecnologias e das atividades colaborativas, a pensar e a expressar suas ideias
matemáticas de forma crítica.

CONCEITO, PROCEDIMENTO E ATITUDE


Para cada encontro planejado pelo professor Greiton com seus alunos, há uma
descrição detalhada de objetivos, recursos e atividades, como em qualquer
sequência didática. O que diferencia o arquivo, além de explicações dos próprios
jogos, é que para cada aula há sempre uma tabela em que são listados os
conhecimentos conceituais (os de matemática e de geometria), os procedimentais
(os relacionados à programação, como construir animações simples em Scratch)
e os atitudinais (por exemplo trabalhar bem em grupo, saber ouvir e ajudar o
colega). Clique aqui e confira a sequência didática completa, dividida em 20
encontros com os alunos. Como complemento para entender melhor as produções
dos alunos, veja exemplos de seus cadernos de memórias (ou portfólios), onde cada
estudante é convidado ao final de cada encontro, a descrever e relatar suas
experiências. O objetivo é finalizar com um exercício de escrita, argumentação e
sistematização do conhecimento matemático.

Porque o trabalho foi premiado?


“Além da temática relevante, o professor valoriza a atividade do sujeito na
construção e apropriação de saberes matemáticos e computacionais. Ele
apresenta aos alunos caminhos envolvendo a criação de jogos digitais para
ensinar conceitos matemáticos . Nas etapas do projeto, há evidências claras de
que uma série de conhecimentos matemáticos foram mobilizados para construir,
em grupos e de forma conjunta, esses jogos digitais, sempre com a mediação
pedagógica do professor. Os estudantes exploraram conteúdos que não
costumam ser vistos no 6º ano, por exemplo, números negativos, sistema de
coordenadas, desigualdade entre incógnitas, etc. Apesar disso, eles foram, aos
poucos, compreendendo-os pela descoberta, pelos questionamentos e pelo
processo de reflexão entre o significado e o conceito dos termos matemáticos
aliados às estruturas computacionais, atuando de forma ativa e participativa.”
Saddo Ag Almouloud, coordenador do curso de Pós-Graduação em
Educação Matemática da PUC SP e selecionador do Prêmio Educador Nota
10

Fontes
https://novaescola.org.br/conteudo/536/greiton-azevedo-educador-nota-10-2016

http://abrindoojogo.com.br/a-matematica-nos-games-rotacao-de-ponto

Você também pode gostar