Splines lineares e Pokemons

Splines são funções matemáticas utilizadas para interpolações (ligar pontos) no plano.

Se quisermos ligar os pontos por curvas suaves, podemos utilizar splines cúbicas, que são funções polinomiais de grau 3. Isso calculará uma sequência de funções que ligam os pontos definidos através de polinomios de grau 3 de modo que a interseção nos pontos não formem bicos.

Mas se quisermos ligar os pontos por segmentos de retas, o processo é bem mais simples, podemos utilizar splines lineares, que nada mais são do que funções lineares definidas começando de um ponto e terminando no outro.

Contudo minha história com splines lineares e Pokemons começou um pouco antes de eu conhecer o conceito de splines. Era começo de 2012 quando trabalhava pelo segundo semestre no PIBID (Programa Institucional de Bolsas de Iniciação à Docência) de Matemática, estava pesquisando sobre jogos de ligar os pontos e pensando como poderia inserir matemática nestas estruturas.

A ideia inicial era mexer com a sequência numérica que deveríamos seguir para ligar os pontos, mas mesmo que fosse uma progressão aritmética pouco usual, descobrir o próximo ponto era sempre muito simples. Então percebi uma coisa mais “divertida” do que ligar pontos no plano… encontrar pontos no plano!

A ideia continuava sendo simples, porém um tanto trabalhosa de ser realizada, afinal, teriamos à disposição uma lista de coordenadas (x, y) referentes à posição horizontal e vertical no plano para localizarmos. Nesse ponto, surgia a necessidade de um “propósito” ao final de todo o esforço. Daí o incentivo à “desenhar um Pokemon” a partir da união dos pontos encontrados no plano.

Achar os pontos no plano que melhor se aproximavam dos desenhos dos Pokemons originais foi um processo bastante rudimentar, basicamente eu imprimi uma malha quadriculada por cima da imagem dos Pokemons e com uma caneta ia marcando pontos na malha de modo que preservassem ao máximo os contornos da forma original. Após isso, identificava quais as posições destes pontos e montava a listinha de coordenadas.

Essa foi uma das atividades mais replicadas no período em que trabalhei no PIBID (2011 – 2015), não só por mim, mas por muitos colegas, já que facilmente podíamos distribuir folhas e lápis a qualquer quantidade de alunos, para que eles resolvessem em seus próprios tempos e afim de desenharem os Pokemons que escolhessem dentre as opções iniciais. No fim os desenhos ficavam com os alunos, o que era uma motivação a mais para a realização da atividade.

A história já parece legal por si só, mas tem uma continuação… pois em 2015 fazia a última disciplina de graduação que faltava para me formar (fazia Cálculo Numérico II pela 3a vez). Em meio a muita luta estava tentando passar, mas faltava bem pouco, fui na sala do professor conversar, na tentativa de convencê-lo que alguma das cinco provas tenha um exercício que se fosse considerado meio certo, daria o 0,2 na média que faltava para passar. Foi uma conversa longa, bastante discussão, até que ele veio perguntar do trabalho da disciplina.

O trabalho da disciplina envolveu programar em Octave, splines lineares e cúbicas (e também escrever relatórios sobre isso). Enquanto estava programando (ou melhor, quebrando a cabeça para programar) cheguei no fim do trabalho, tudo pronto e perfeito para entregar… então percebi que daria tempo para fazer uma coisa um pouco “especial”. Peguei as coordenadas que já tinha prontas da atividade de desenhar Pokemons e implementei no relatório, fazendo as splines lineares e cúbicas em cima destas coordenadas. O trabalho ganhou nota máxima que era 1,5 na média, o que já era bastante difícil de se obter.

Mas em meio a discussão com o professor, ele elogiou bastante o trabalho, principalmente pelo fato de ter realizado as splines com as coordenadas de Pokemons, de modo que concordou em considerar um exercício de uma das provas como meio-certo, o que dava o ponto que faltava para me formar 😀

Essa ainda hoje é uma das minhas atividades favoritas, pois permite discutirmos muitos conceitos interessantes, desde splines, à ideia de transformações no plano, como por exemplo, se invertermos a coordenada horizontal com a vertical, o que ocorre com o desenho?

Super recomendo a qualquer um que tenha vontade, que tente desenhar seus Pokemons localizando os pontos no plano, é uma experiência relaxante e satisfatória, você vai vendo o desenho se formando e sabe que fez isso por suas próprias habilidades (matemáticas no caso).

As coordenadas e mais algumas instruções para auxiliar neste processo se encontram no seguinte link:

https://sites.google.com/view/materi-aulas/spline-draw


Como referenciar este conteúdo em formato ABNT (baseado na norma NBR 6023/2018):

SILVA, Marcos Henrique de Paula Dias da. Splines lineares e Pokemons. In: UNIVERSIDADE ESTADUAL DE CAMPINAS. Zero – Blog de Ciência da Unicamp. Volume 6. Ed. 1. 2º semestre de 2021. Campinas, 12 dez. 2021. Disponível em: https://www.blogs.unicamp.br/zero/3574/. Acesso em: <data-de-hoje>.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *