Olá, estudante! Bem-vindo à oitava lição dos nossos estudos sobre computação gráfica. Se você bem se lembra, na lição anterior, concentramos nossas energias no aprendizado sobre os elementos bidimensionais e tridimensionais. Vimos formatos, aplicações, diferenças e similaridades, que caminham juntos na nossa trilha de aprendizado. Para este nosso oitavo encontro, trago os conceitos de Transformações Geométricas para que você desenvolva a habilidade de aplicar essas ideias de forma prática e eficaz em projetos de computação gráfica ao longo de sua jornada enquanto estudante e depois, profissionalmente, em sua carreira.
Dominar os fundamentos das transformações geométricas, lhe possibilitará aplicá-los em diversas áreas, em especial, no desenvolvimento de sistemas, em que as transformações são indispensáveis em jogos, design, realidade virtual e realidade aumentada, animação e criação de ambientes virtuais. Sendo assim, é indispensável que profissionais dessa área – incluindo você, futuro desenvolvedor – compreendam o modo como as transformações geométricas influenciam a experiência do usuário.
No desenvolvimento de jogos, por exemplo, as transformações geométricas são um fator fundamental para que as animações fiquem com aspecto de fluidez, bem como para que os movimentos de câmera sejam apresentados de forma envolvente e despertem nos usuários a sensação de realismo. Essas habilidades são altamente valorizadas no mercado de trabalho por contribuírem diretamente na qualidade e na usabilidade dos projetos.
A compreensão das transformações geométricas é, além de um requisito técnico, uma habilidade que desperta diferenciação no mercado de trabalho. Profissionais, que aplicam tais conceitos com êxito, possuem melhores oportunidades em setores como design de jogos e simulações, em especial aquelas com imersão em realidade virtual e aumentada, portanto, você precisa conhecer e dominar esse assunto!
As transformações geométricas, além de fundamentais na computação gráfica, apresentam desafios que vão além da simples manipulação de coordenadas, por exemplo. Desse modo, para uma compreensão ampla desse tema, é essencial conhecermos os desafios e as implicações sociais, econômicas e políticas associadas a ele. Bons exemplos do impacto social são as experiências com simuladores e jogos, e você imagina o porquê? Já pensou em como as transformações geométricas influenciam a experiência do usuário em ambientes virtuais?
Se você já jogou algum game, provavelmente concordará que a capacidade de criar ambientes realistas e dinâmicos é crucial para o engajamento dos jogadores e sucesso do jogo, por exemplo. A acessibilidade e inclusão digital também reforçam o aspecto social quando pensamos em como as escolhas nas transformações geométricas podem influenciar a acessibilidade de jogos e softwares. Por exemplo, será que existem desafios específicos relacionados à inclusão de usuários com deficiências visuais? Pense um pouco sobre isso.
Há ainda os aspectos econômicos, em que a indústria de entretenimento digital, design gráfico e publicidade são bons exemplos, pois, as habilidades em transformações geométricas são empregadas na criação de gráficos avançados para jogos e filmes há bastante tempo e a demanda no mercado de trabalho para profissionais com expertise nesse campo é cada vez maior. Outro ponto importante, olhando pelo aspecto político, é compreender como a privacidade e segurança de dados, enquanto representações gráficas de informações, podem impactar a privacidade dos usuários. É essencial buscar a constante atualização das tecnologias que envolvem essas questões, como no caso do reconhecimento facial, que é amplamente utilizado em diferentes contextos e implica no armazenamento de imagens. Essa atenção constante se faz necessária para assegurar a proteção dos dados e a preservação da privacidade dos indivíduos em meio às evoluções tecnológicas.
Ao considerar esses impactos mais amplos, podemos seguir para nosso aprendizado com uma visão ampla da aplicabilidade dessa vertente, promovendo uma visão holística das transformações geométricas, contribuindo ao pensamento crítico e uma abordagem ainda mais responsável e ética na aplicação desses conceitos. Vamos lá?
Chegou a hora de usarmos a imaginação! Por um momento, imagine que você já terminou seu ensino técnico e iniciou sua carreira no mercado de trabalho. Com isso, considere que um estúdio de design está com a ideia de criar um ambiente virtual para um jogo, que contempla a tecnologia de ponta. Os designers que trabalharão nesse projeto precisarão mais do que criar objetos visualmente belos e atraentes, mas também terão a missão de garantir que mantenham e retornem de maneira realista às interações dos futuros jogadores. Consegue imaginar o quanto as transformações geométricas desempenham um papel crucial nesse projeto?
Um simples, mas importante, ajuste na escala, posição ou ainda, na rotação dos objetos dentro desse ambiente virtual, abre espaço para que os designers possam criar uma nova experiência, com oportunidade de cativar ainda mais o seu público. Por exemplo, ao aplicar transformações geométricas de maneira adequada, é possível simular de forma convincente a mudança da luz do sol ao longo do dia, criando ambientes visuais dinâmicos e realistas. Um exemplo notável é a produtora de jogos Rockstar, que contratou uma equipe especializada com o objetivo de proporcionar aspectos ultrarrealistas aos efeitos na água do jogo conhecido como GTA VI. Vale ressaltar que a água é apenas um detalhe em meio ao vasto mundo do GTA.
Animado para aprofundarmos um pouco mais nossos conhecimentos sobre esse oceano imenso das transformações geométricas?
Como você viu, neste encontro, abordamos as transformações geométricas, mas daremos ênfase às mais intrínsecas e relevantes. Como a translação, rotação e escala, iniciando pela rotação que desempenha um papel indispensável em diversos campos da computação gráfica. Ao explorar mais detalhadamente essa temática, aprofundaremos nossa compreensão sobre como ela influencia a representação visual dos objetos nas cenas virtuais e no conjunto do projeto.
Segundo Silva e Santos (2005), podemos compreender a rotação como o movimento giratório do elemento ou objeto em questão, em torno de um eixo. No seguimento gráfico, a rotação é comumente utilizada para alterar a orientação de um texto, de uma imagem ou de um elemento, conforme o ângulo de rotação adotado. Dentre as características das rotações, daremos destaque à sua capacidade de rotacionar em torno dos diferentes eixos, de modo que:
A rotação em torno do eixo X é responsável por alterar a orientação do objeto em relação à linha horizontal em que ele se encontra.
A rotação em torno do eixo Y é quem possibilita alterar a orientação em relação à linha vertical.
A rotação em torno do eixo Z permite a orientação em relação à profundidade.
Essa flexibilidade possibilita que os desenvolvedores de jogos criem movimentos complexos em três dimensões com elevado nível de realidade. Para implementar a rotação, é necessário a utilização de matrizes de rotação, as quais são ferramentas matemáticas importantes que possibilitam a realização dos cálculos das coordenadas de um ponto após sua rotação. Não podemos nos esquecer das animações, em que a rotação é frequentemente utilizada para dar vida aos elementos, sejam objetos ou personagens. É possível observar de forma prática essa versatilidade em jogos, em que um personagem realiza um salto ou giro.
Portanto, uma boa compreensão sobre como aplicar rotações de maneira coordenada e fluida é fundamental para criar movimentos convincentes e que cativem os olhos dos jogadores, ao passo que transmitam a sensação de realidade. Alterações na direção ou na velocidade das rotações também exercem influência na percepção em relação aos personagens animados. Dominar essa técnica não apenas eleva a qualidade visual dos jogos, mas também contribui significativamente para a imersão do jogador na experiência oferecida pelo game.
Além desses aspectos, a rotação também é composta de desafios. Por exemplo, a composição de múltiplas rotações pode levar a resultados inesperados, como o fenômeno conhecido como "gimbal lock" (GL), que, de forma resumida, é quando há o travamento ou bloqueio de duas das três suspensões de um mecanismo de três dimensões, impossibilitando parte do trabalho ou reduzindo-o para utilização em duas dimensões. Compreender esses desafios e saber como mitigá-los é crucial para profissionais que buscam excelência na manipulação geométrica em ambientes virtuais complexos.
Não é difícil imaginar que nos ambientes tridimensionais, a rotação desempenha um papel relevante na criação de experiências realistas, pois contribui com o nível de realidade dos jogos até mesmo nos simuladores de voo. Nos simuladores, por exemplo, a rotação é geralmente utilizada para representar os movimentos da aeronave nas diferentes direções, conforme controles utilizados. Nesse caso, os princípios da rotação são aplicados para simular as mudanças de direção e de orientação, proporcionando uma experiência com elevado grau de realidade e imersão aos usuários.
Nesse seguimento das transformações geométricas, temos também, como mencionado anteriormente, a translação, que se trata de um conceito que desempenha um papel tão importante quanto a rotação, haja vista que a translação também influencia na manipulação de objetos em ambientes tridimensionais. Quanto a esse assunto, Silva e Santos (2005) nos trazem, de forma resumida, que a translação é o movimento que um elemento faz de um ponto a outro no espaço.
Começaremos nossa exploração nesse tema, desmistificando crenças como a limitação da translação como apenas o deslocamento de objetos de um ponto para outro no espaço, uma vez que ela engloba uma ideia mais ampla de um movimento linear, haja vista que os objetos são modificados durante a translação. Conhecido como vetor de translação, o termo é de grande utilização no campo da física e dos cálculos matemáticos. Esse tipo de vetor é quem representa esse deslocamento do elemento no espaço ou no plano. Ele é responsável por indicar a direção do movimento realizado e qual sua magnitude, o que possibilita uma maior precisão com relação à descrição dos deslocamentos.
Trazendo a contextos práticos, a translação contribui para que seja possível criar movimentos contínuos e suaves em jogos e em animações gráficas. Por exemplo, quando simulamos o movimento de um personagem em um jogo, a translação é acionada para atualizar as novas coordenadas do modelo tridimensional, conforme for o movimento realizado no cenário virtual. Perceba que essa correlação e importância não se limitam apenas ao campo dos jogos; ela é igualmente relevante em simulações como as científicas, nas quais ocorrem as modelagens de partículas, e a precisão do deslocamento espacial preciso é fator crucial.
É comum que a translação seja combinada com outras transformações, como a rotação e a escala, por exemplo, o que possibilita a criação de movimentos com maior complexibilidade e que trazem maior grau de realismo. Uma maneira de exemplificar essa combinação é pensar em um jogo de avião ou mesmo um simulador de aeronaves. Para que o avião se movimente no espaço, ele faz uso do movimento de translação; já para as manobras e curvas, utiliza-se o movimento de rotação; e através deles, temos o avião voando de forma bastante próxima à realidade, oferecendo uma experiência de imersão.
Obter uma clara compreensão sobre o movimento de translação possibilitará vantagens em diversos nichos de mercado, seja no design, modelagem tridimensional simples até a avançada.
Para contribuir com nossos estudos sobre a escala, trago a definição de Cervati Neto (2021), que diz que a escala nada mais é do que a transformação geométrica que altera o tamanho do objeto, ou elemento em questão. Nesse sentido, a transformação da escala também é fundamental na manipulação de elementos gráficos, em especial, por possibilitar ajustes dimensionais que se estendem além dos já citados movimentos de rotações e translações. Um profissional com domínio de regras de escala, por exemplo, consegue criar representações visuais das mais variadas, adaptando elementos a diversos contextos do design. Para uma melhor compreensão do conceito de escala, é necessário conhecer os elementos-chave:
A depender da intenção ou mesmo da demanda do projeto, a escala poderá ser utilizada de maneira não proporcional, em que são alteradas diferentes dimensões de maneira independente, ou aplicada de forma proporcional, mantendo as dimensões originais do elemento ou objeto em questão. Isso oferece flexibilidade na adaptação de objetos a diferentes cenários. Por exemplo, na criação de personagens para um jogo, a escala de forma proporcional pode ser usada para que se mantenha a anatomia realista daquele personagem, enquanto a escala não proporcional possibilita que sejam criadas cenas mais surreais como transformações, mutações, crescimento, redução, superpoderes e similares.
Sabendo que a escala, embora seja por natureza uma transformação matemática, não se limita a isso e possui também implicações visuais importantes. Pequenas alterações na escala influenciam a percepção do usuário quanto à distância ou mesmo à importância, por meio da ênfase de um elemento ou personagem em uma determinada cena. Por exemplo, ampliando uma determinada parte de uma cena e reduzindo as demais, os profissionais podem direcionar a atenção do observador de maneira bastante suave e quase imperceptível, influenciando a narrativa visual da cena.
Em todo caso, é relevante ter clareza sobre limites e dosagem da utilização de escala, pois em uma ampliação excessiva pode resultar em imagens, ou mesmo cenas, com pixelização, que, como já vimos no decorrer de nossas lições, é quando o tamanho do pixel ficou grande o suficiente a ponto de ser visto, o que deixa a imagem geralmente com vários blocos visíveis. Esse assunto merece uma atenção especial, principalmente em ambientes nos quais a renderização ocorre em tempo real, quando o desempenho gráfico é uma consideração crucial.
Além de um bom embasamento e prática, o ponto de destaque em meio às demandas desse seguimento é saber equilibrar a necessidade de escala com as capacidades do hardware e software disponíveis para dosar o melhor custo-benefício ao projeto. Um profissional que domina tais conceitos poderá aplicar com maior êxito movimentos, projeções virtuais que tragam maior qualidade com relação às sensações de realidade e imersão, características vistas com bons olhos por diversas empresas atuais que buscam promover realismo em suas aplicações, jogos e simuladores.
Como vimos nesta lição, o conhecimento em transformações geométricas é essencial para você, futuro desenvolvedor, pois possibilita a criação, animação e manipulação de objetos em espaços bidimensionais e tridimensionais. Portanto, é um conhecimento extremamente necessário para quem atua em áreas como design gráfico, jogos, realidade virtual e interfaces de usuário. Além disso, as transformações geométricas são fundamentais para efeitos visuais, animações e visualização de dados. Desenvolvedores com essa compreensão têm uma vantagem na criação de projetos visuais interativos e de alta qualidade em diversas plataformas, proporcionando experiências envolventes para os usuários.
Agora, para que você consiga praticar os conhecimentos adquiridos neste nosso encontro sobre transformações geométricas, sugiro, desta vez, a utilização de uma outra ferramenta on-line interativa junto a um desafio. O GeoGebra é uma plataforma que oferece uma variedade de recursos matemáticos, incluindo manipulação de objetos geométricos.
O desafio consiste em explorar o site do GeoGebra e dar vida à sua criatividade. Acesse a página da plataforma (https://www.geogebra.org/), realize o login ou crie uma conta gratuita, se ainda não tiver uma. Comece se ambientando e conhecendo a interface, verificando as ferramentas disponíveis. Com o GeoGebra, é possível criar objetos geométricos, como pontos, linhas e polígonos. Sendo assim, minha sugestão é que experimente as transformações básicas, como rotação, translação e escala, as quais trabalhamos aqui em nossa disciplina de computação gráfica. Sinta-se à vontade para aplicar essas transformações em objetos geométricos, dessa forma, poderá compreender de forma prática e visual os efeitos.
CERVATI NETO, A. Computação gráfica: transformações geométricas. São Carlos: ICMC – Instituto de Ciências Matemáticas e de Computação: USP – Universidade de São Paulo, 2021. Disponível em: https://edisciplinas.usp.br/pluginfile.php/6582117/mod_resource/content/1/Aula4.pdf. Acesso em: 8 fev. 2024.
SILVA, M. da; SANTOS, C. L. de A. Computação gráfica: teoria e prática. Rio de Janeiro: Elsevier, 2005.