Pular para o conteúdo principal

Transformação afim explicada: propriedades e aplicações

Aprenda sobre a definição, a fórmula, as principais propriedades, coordenadas homogêneas e aplicações de transformações afins em gráficos, visão computacional, robótica e pré-processamento de dados.
Actualizado 23 de set. de 2026  · 14 min leer

Explore com IA

ChatGPTClaudePerplexity

Uma transformação afim é um processo que leva pontos no espaço a novos pontos aplicando uma transformação linear e um deslocamento, chamado de translação. Você pode rotacionar, escalar, cisalhar, refletir e depois transladar tudo, e as linhas retas permanecem retas. 

Transformações afins estão em toda parte porque capturam uma grande variedade de mudanças geométricas que preservam a estrutura de um objeto e, ao mesmo tempo, são baratas de computar.

Aplicações diversas das transformações afins

Aplicações diversas das transformações afins. Fonte da imagem: Napkin AI

A ideia surgiu quando matemáticos como Leonhard Euler e August Ferdinand Möbius tentaram entender quais propriedades permanecem invariantes mesmo quando outras coisas mudam. 

Hoje, elas são parte essencial do mundo digital, impulsionando desde o CSS de uma página web até exames médicos avançados.

O que são transformações afins?

Transformações afins ficam no meio do caminho entre “álgebra linear pura” e “geometria do mundo real”. Elas mantêm a matemática organizada e permitem translações, algo que mapas lineares sozinhos não fazem.

Entendendo espaços e transformações afins

Um espaço vetorial tem um ponto especial chamado origem (mesmo que você não a desenhe, ela existe conceitualmente). Em um espaço vetorial, vetores podem ser somados e escalados, e existe um “vetor nulo” distinto.

Um espaço afim se parece com um espaço vetorial sem uma origem escolhida. Ainda dá para falar sobre:

  • pontos (localizações)
  • vetores de deslocamento entre pontos (ex.: “vá de P a Q”)
  • somar um vetor a um ponto (mover o ponto por aquele deslocamento)

Mas você não pode somar dois pontos de forma significativa, porque a soma de pontos depende da escolha de uma origem.

Formalmente, um espaço afim A sobre um espaço vetorial V é um conjunto de pontos com uma ação livre e transitiva de V. Na prática: diferenças entre pontos vivem em V, mas os pontos em si não.

Uma transformação afim é uma aplicação entre espaços afins que preserva combinações afins (falaremos disso a seguir) e, geometricamente, preserva retas e paralelismo.

Fórmula da transformação afim: definição usando espaços vetoriais

Em coordenadas, uma transformação afim tem a forma:

Transformação afim em forma matricial. 

Onde:

  • x ∈ Rn é seu ponto de entrada (como vetor coluna)
  • A ∈ Rn×n é uma matriz que representa a parte linear (rotação, escala, cisalhamento, reflexão, combinações)
  • b ∈ Rn é um vetor que representa a translação

Essa estrutura “linear + constante” explica por que mapas afins são tão populares em engenharia e computação: são expressivos e, ainda assim, rápidos e estáveis de aplicar.

Principais propriedades das transformações afins

Transformações afins preservam várias relações geométricas “estruturais”, permitindo que as formas estiquem ou inclinem.

Quais propriedades são preservadas em transformações afins?

Propriedades preservadas em transformação afim

Propriedades preservadas em transformação afim. Fonte da imagem: Napkin AI

Preservadas:

  1. Colinearidade: se pontos estão na mesma reta antes, continuam numa reta depois.
  2. Paralelismo: retas paralelas permanecem paralelas (isso é crucial em gráficos e mapeamento).
  3. Convexidade: uma forma convexa permanece convexa.
  4. Relações de razão ao longo de uma reta: se um ponto divide um segmento em certa razão, essa razão é preservada.

Uma forma elegante de expressar isso é por meio de combinações afins:

Mapas afins preservam essas combinações.

Não preservadas (em geral):

  • Distâncias
  • Ângulos
  • Áreas/volumes (a menos que certas condições se verifiquem)

Por fim, transformações afins são fechadas por composição: aplicar uma transformação afim após outra continua sendo uma transformação afim.

Estrutura de grupo das transformações afins

Transformações afins formam um grupo sob composição (geralmente chamado de grupo afim, denotado por Aff(n)).

A composição funciona de forma limpa se

e

então

Isso continua sendo afim. 

Uma observação sobre inversibilidade: Ax+b é invertível se A é invertível (det(A)≠0). Então:

Você ganha uma álgebra poderosa: construa transformações complexas encadeando transformações simples e reverta quando precisar.

Matriz de transformação afim

Para computar transformações afins com eficiência, usamos matrizes — especialmente coordenadas homogêneas, que possibilitam representar translações de forma compatível com matrizes.

Forma geral de matrizes de transformação afim

Em n dimensões, a transformação é:

onde

  • A governa a alteração da forma (componente linear).

  • b regula o deslocamento (translação)

O requisito para inversibilidade é que a matriz A seja invertível. Em termos simples: se A comprime todos os pontos em uma reta (diminuindo o posto), não é possível reverter de forma única.

Coordenadas homogêneas e representação em matriz aumentada

Translações não podem ser representadas por uma matriz (n x n) atuando apenas sobre x. Coordenadas homogêneas resolvem isso introduzindo uma coordenada extra.

Represente um ponto 2D ((x, y)) como ((x, y, 1)).

Então, uma transformação afim 2D vira uma matriz 3×3:

Transformação afim 2D usando coordenadas homogêneas (matriz 3×3). Fonte: Autor

Transformação afim 2D usando coordenadas homogêneas (matriz 3×3). Fonte: Autor

Benefícios:

  • A composição vira multiplicação (basta multiplicação de matrizes).
  • Pipelines otimizados (bibliotecas de gráficos e visão favorecem isso)
  • Gestão consistente de translação, rotação, escala e cisalhamento

Tipos de transformações afins

A maioria das transformações afins usadas na prática envolve alguns passos básicos. 

Translação em transformações afins

A translação move todo ponto pelo mesmo deslocamento: T(x)=x+b

A forma homogênea em 2D é representada por:

Translação como matriz de transformação homogênea (2D). Fonte: Autor

Translação como matriz de transformação homogênea (2D). Fonte: Autor

Essa forma é usada em gráficos (para mover objetos), robótica (para mudar referenciais) e visão (para alinhamento de imagens).

Transformações de escala: uniforme e não uniforme

Escala uniforme: em 2D, significa usar o mesmo fator (s) em todas as direções. 

Matriz de escala uniforme 2D. Fonte: Autor

Matriz de escala uniforme 2D. Fonte: Autor

Escala não uniforme:

Matriz de escala não uniforme 2D. Fonte: Autor

Matriz de escala não uniforme 2D. Fonte: Autor

Em 3D, a escala é uma matriz diagonal 3×3. Ao escalar, retas e paralelismo são preservados, mas as distâncias mudam (a menos que s=1).

Transformações de rotação em 2D e 3D

Rotação 2D por um ângulo (theta):

Transformação de rotação 2D por ângulo. Fonte: Autor

Transformação de rotação 2D por ângulo. Fonte: Autor

Em 3D, você rotaciona ao redor de um eixo (x, y ou z) com as matrizes correspondentes. Ao somar translação à rotação, a transformação continua afim (e vira um “movimento rígido” se envolver apenas rotação e translação).

Transformações de cisalhamento explicadas

O cisalhamento “inclina” as formas. Um cisalhamento 2D no eixo x é:

Representação de cisalhamento 2D em x. Fonte: Autor

Representação de cisalhamento 2D em x. Fonte: Autor

Um cisalhamento em y:

Representação de cisalhamento 2D em y. Fonte: Autor

Representação de cisalhamento 2D em y. Fonte: Autor

Cisalhamentos são usados com frequência em tipografia, deformações visuais e efeitos que lembram perspectiva (embora perspectiva verdadeira seja projetiva, não afim). 

Transformações de reflexão na geometria afim

Quando você reflete em torno de eixos ou planos que passam pela origem, isso é uma reflexão linear (e, portanto, afim).

Reflexão 2D sobre o eixo x:

Reflexão 2D sobre o eixo x. Fonte: Autor

Reflexão 2D sobre o eixo x. Fonte: Autor

No eixo y:

Reflexão 2D sobre o eixo y. Fonte: Autor

Reflexão 2D sobre o eixo y. Fonte: Autor

Reflexões mudam a orientação e são úteis para analisar simetria, reconhecer padrões e processar geometria.

Como compor e inverter transformações afins

Em sistemas reais, raramente você usa apenas uma transformação; normalmente você encadeia várias.

Compondo múltiplas transformações afins

Suponha:

e

Então:

A ordem importa. Rotacionar primeiro e depois transladar não é o mesmo que transladar e depois rotacionar. Isso acontece porque translações são “afetadas” pela próxima matriz.

Uma forma útil de lembrar:

  • Se você usa matrizes homogêneas, a composição é multiplicação de matrizes
  • A última transformação aplicada fica à esquerda na multiplicação.

Transformações afins inversas: cálculo e aplicações

Para

se A é invertível:

Em visão computacional, isso é muito usado: geralmente você mapeia pixels de saída de volta para os pixels de entrada (mapeamento inverso) para evitar lacunas.

Transformações lineares vs. afins

Transformações afins são “transformações lineares com um deslocamento embutido”.

Principais diferenças entre transformações lineares e afins

Uma transformação linear - L(x)=Ax - deve satisfazer:

  • L(0)=0 (a origem permanece na origem)
  • L(x+y)=L(x)+L(y)
  • L(cx)=cL(x)

Uma transformação afim T(x)=Ax+b:

  • não precisa levar 0 em 0
  • mantém retas e preserva o paralelismo
  • age linearmente uma vez que você isola a translação

Todo mapa linear é afim (b=0), mas nem todo mapa afim é linear (qualquer translação não nula quebra a linearidade).

Transformações afins como linear mais translação

Você pode reescrever:

como “faça a parte linear (Ax) e depois some a translação (b)”. 

Você já conhece a versão 1D se já viu (y=mx+c). É por isso também que mapas afins aparecem em redes neurais: uma camada densa calcula (Wx+b), que é um mapa afim. Depois disso, vem a não linearidade. 

Gráficos por computador e visão computacional usam transformações afins.

Transformações afins em computação gráfica e visão computacional

É aqui que transformações afins deixam de ser abstratas e começam a mostrar serviço.

Transformação e deformação de imagens usando transformações afins

No processamento de imagens, transformações afins são usadas para:

  • rotação e redimensionamento
  • translação (mover imagens)
  • correção de inclinação (cisalhamento)
  • alinhamento/registro (casamento de imagens)

Duas ideias importantes de implementação:

  • Mapeamento direto: leva cada pixel de entrada para frente. Pode criar lacunas.
  • Mapeamento inverso: para cada pixel de saída, mapeia de volta para localizar sua origem; normalmente é a melhor opção.

Interpolação é importante, já que coordenadas mapeadas raramente caem exatamente em pixels inteiros. Formas comuns:

  • Vizinhança mais próxima: mais rápido, aspecto “blocudo”
  • Bilinear: mais suave, geralmente padrão
  • Bicúbica: mais suave, porém mais custosa

Transformações afins em gráficos 3D e renderização

Transformações afins estão por toda parte em gráficos 3D:

  • transformações de modelo (objeto local → mundo)
  • transformações de visualização (mundo → câmera)
  • preparo de projeção (a parte afim acontece antes da etapa projetiva)

Um ponto sutil: quando a escala não é uniforme, as normais de superfície nem sempre mudam como os pontos. Para iluminação correta, pipelines de renderização usam comumente a inversa-transposta da parte linear para as normais.

Transformações afins em robótica

Robótica é, basicamente, onipresença de sistemas de coordenadas.

Transformações afins mapeiam:

  • referencial da base do robô ↔ referencial do braço ↔ referencial do efetuador final
  • referencial da câmera ↔ referencial do mundo
  • lidar ↔ coordenadas do veículo

Em localização baseada em visão (ex.: odometria visual), pequenos movimentos entre quadros costumam ser aproximados localmente como afins no espaço da imagem, o que ajuda a acompanhar e estimar movimento. 

Mapeamento de espaços de coordenadas e normalização de dados

Em machine learning, o escalonamento de atributos costuma ser afim:

  • Min-max: (x' = alpha x + beta)
  • Padronização: (x' = (x-μ)/σ) (também afim)

Isso é importante porque muitos modelos (especialmente os baseados em gradiente) funcionam melhor quando os atributos estão em escalas semelhantes.

Conceitos e teoria avançados de transformações afins

Transformações afins parecem simples no começo, mas a teoria é profunda, especialmente quando você passa a se importar com invariantes como área ou sistemas alternativos de coordenadas.

Conceitos avançados de transformações afins. Fonte da imagem: Napkin AI

Conceitos avançados de transformações afins. Fonte da imagem: Napkin AI

Geometria afim e coordenadas baricêntricas

Coordenadas baricêntricas expressam um ponto como uma mistura ponderada dos vértices de um triângulo:

Essas coordenadas são invariantes por transformações afins, ou seja, se você transformar o triângulo e o ponto de forma afim, λi permanece a mesma.

Por isso, coordenadas baricêntricas são amplamente usadas em: mapeamento de texturas, interpolação de malhas e análise por elementos finitos.

Transformações afins que preservam medida e equiareais

Uma transformação afim preserva área (2D) ou volume (3D) quando:

O determinante de A informa quanto a área ou o volume mudam ao aplicar o componente linear.

Se (|det(A)| > 1), o espaço “expande”; se for menor que 1, “contrai”. Se for negativo, a orientação muda (como numa reflexão). Isso é vital para visuais, simulações físicas e modelagem de deformações.

Transformações de similaridade e isometrias na geometria afim

Relações:

  • Afim: (Ax+b) (caso geral)
  • Similaridade: escala + rotação + translação (mantém ângulos, até um fator de escala)
  • Isometria (rígida): rotação + translação (mantém distâncias e ângulos)

Assim: isometrias ⊂ similaridades ⊂ transformações afins

Essa hierarquia ajuda a escolher o modelo certo para o problema. Por exemplo, se você precisa preservar distâncias, “afim” é amplo demais.

Transformações projetivas e extensões afins em dimensões superiores

Transformações afins são um tipo de transformação projetiva. Transformações projetivas modelam perspectiva, como quando retas paralelas se encontram num ponto de fuga. Transformações afins não fazem isso.

Em coordenadas homogêneas, transformações projetivas permitem uma linha final mais geral do que ([0,0,1]). Essa liberdade extra é o que gera efeitos de perspectiva.

Conceitos afins também funcionam em dimensões maiores, como transformações homogêneas 4D em gráficos 3D.

Implementando transformações afins

Transformações afins são “matemática simples”, mas a forma como você as usa faz toda a diferença no resultado.

Estabilidade numérica e precisão em transformações afins

Problemas comuns:

  • Matrizes quase singulares: se det(A) está próximo de 0, a inversão fica instável 
  • Acúmulo de erro de ponto flutuante: composições repetidas podem “derivar”
  • Extremos de escala: tamanhos muito grandes ou muito pequenos reduzem a precisão

Boas práticas:

  • Use o número de condição (ou ao menos |det(A)|) como alerta rápido. 
  • Para inversão, use bibliotecas estáveis, como NumPy e Eigen.
  • Ao fazer muitas operações sequenciais, como em gráficos ou robótica, re-ortonormalize matrizes de rotação.

Implementação em GPU e processamento paralelo de transformações afins

Transformações afins são altamente paralelizáveis: cada ponto ou pixel é transformado de forma independente. Isso as torna ideais para SIMD e kernels em GPU.

Por isso, deformações de imagem e pipelines de renderização funcionam tão bem em GPUs: elas fazem muitas multiplicações e somas em paralelo.

Algumas otimizações comuns: usar operações fused multiply-add, fazer batching de transformações e reduzir transferências de memória. 

Aplicações especializadas e extensões de transformações afins

Transformações afins são “rígidas o suficiente” para muitas tarefas e também servem como base para modelos mais flexíveis.

Transformações afins com B-splines para registro não rígido

Em morfometria e imagem médica, o alinhamento puramente afim é só o primeiro passo. Após o alinhamento grosseiro, modelos de deformação baseados em B-splines permitem criar deformações suaves e não rígidas com pontos de controle fáceis de interpretar.

Pense assim: o afim coloca a imagem no lugar, e as B-splines ajustam os detalhes finos.

Invariância afim em reconhecimento de padrões e visão computacional

Muitos sistemas de reconhecimento buscam ser invariantes a transformações afins para reconhecer objetos mesmo quando o ponto de vista muda de forma aproximadamente afim. 

Técnicas incluem:

  • usar características invariantes a afins (ou normalizar janelas)
  • estimar referenciais locais afins para keypoints
  • projetar descritores robustos a inclinação e escala

Isso torna tarefas como casamento, rastreamento e recuperação mais confiáveis.

Transformações afins em SIG e sistemas geodésicos de coordenadas

Em SIG, transformações afins aparecem na georreferência de mapas, no alinhamento de camadas de diferentes fontes ou em aproximações locais de conversões de coordenadas.

Transformações geodésicas reais podem ser mais complexas, porém modelos afins costumam ser usados como aproximações locais ou parte de um pipeline maior.

Bibliotecas de software para transformações afins 

Você não precisa começar do zero; a maioria dos ecossistemas tem ótimo suporte.

Implementando transformações afins em Python, C++ e Java

  • Python: NumPy para álgebra linear; OpenCV para deformações de imagem; SciPy para ferramentas numéricas. 
  • C++: Eigen (álgebra linear), OpenCV (visão), GLM (matemática para gráficos)
  • Java: Apache Commons Math e toolkits de visão conforme a stack

Ideia central em qualquer linguagem:

  1. Representar pontos como vetores
  2. Aplicar (Ax+b) (ou multiplicação por matriz homogênea)
  3. Compor transformações via multiplicação de matrizes. 
  4. Inverter quando preciso usando (A-1)

Melhores ferramentas e bibliotecas para transformações afins

Melhores ferramentas e bibliotecas para transformações afins. Fonte da imagem: Napkin AI

Melhores ferramentas e bibliotecas para transformações afins. Fonte da imagem: Napkin AI

Ferramentas amplamente usadas:

  • OpenCV: warpAffine, getAffineTransform, estimateAffine2D (workflows de visão)
  • NumPy: operações matriciais em geral
  • Eigen: álgebra linear de alta performance em C++
  • GLM / DirectXMath: bibliotecas de matemática focadas em gráficos
  • GDAL / PROJ (SIG): transformações de coordenadas e pipelines geoespaciais

Escolha conforme o domínio: OpenCV para imagens, GLM para gráficos, GDAL/PROJ para SIG.

Perspectivas alternativas sobre transformações afins

Ouvir a mesma ideia explicada de outra forma pode clarear mais.

Definições alternativas: mapas e funções afins

Um mapa afim pode ser definido como uma função que preserva a integridade das combinações afins:

Essa formulação não se prende a uma origem específica, o que é bastante fiel ao espírito da “geometria afim”. Também deixa claro de cara que retas vão para retas.

Transformações afins e a fórmula (y = mx + b)

Se transformações afins parecem abstratas, relacione com o que você já conhece: (y=mx) é linear (passa pela origem), e (y=mx+b) é afim (mesma inclinação, com um deslocamento).

Em dimensões maiores, (m) vira uma matriz (A), mas a história é a mesma: age linearmente e transladando.

Conclusão

No fim das contas, transformações afins se resumem a isto: “Vou manter seu mundo feito de linhas retas e bordas paralelas, mas não posso garantir que seus ângulos continuarão os mesmos.”

Se você está pensando em termos de matrizes e sistemas lineares, confira Linear Algebra for Data Science in R e tutoriais focados em matrizes, incluindo Row Echelon Form Explained.

Se você quer entrar em visão computacional, projetos como Food Image Classification with Hugging Face e cursos como Working with Hugging Face são um ótimo próximo passo.


Vikash Singh's photo
Author
Vikash Singh
LinkedIn

Profissional experiente em funções de ciência de dados, inteligência artificial, análise e estratégia, com mais de 18 anos de experiência nas áreas de -: Ciência de dados, ML e IA ~ Ciência de dados, machine learning supervisionado e não supervisionado, aprendizagem profunda, modelagem preditiva, processamento de linguagem natural (NLP), modelagem e análise estatística, otimização, estratégia de negócios e análise ~ desenvolvimento e avaliação de modelos de negócios, análise descritiva e diagnóstica, EDA, visualização, análise de causa raiz, análise de sensibilidade e cenário.

FAQs

O que é uma transformação afim?

Uma transformação afim mapeia pontos usando T(x)=Ax+b, onde A é uma transformação linear e b é uma translação. Ela inclui rotação, escala, cisalhamento, reflexão e deslocamento em um único framework.

Como uma transformação afim é diferente de uma transformação linear?

Uma transformação linear, escrita como L(x)=Ax, deve levar a origem a ela mesma. Uma transformação afim inclui translação (b≠0), o que significa que pode deslocar a origem.

Quais propriedades geométricas são preservadas em transformação afim?

Transformações afins preservam linhas retas, colinearidade e paralelismo, mantendo a “estrutura de linhas”. Também preservam as razões de distâncias ao longo da mesma reta (por exemplo, pontos médios continuam pontos médios).

Quais propriedades não são preservadas?

Distâncias e ângulos geralmente mudam, ou seja, as formas podem esticar ou deformar. Área e volume também podem mudar, a menos que a condição do determinante se verifique.

O escalonamento de atributos em machine learning é uma transformação afim?

Sim — padronização e min-max são exemplos de mapas afins. Eles alteram as coordenadas para melhorar a otimização sem mudar demais as relações.

Temas
Ciência de dados

Aprenda com a DataCamp

Curso

Álgebra Linear para Data Science em R

4 h
21.8K
Este curso é uma introdução à álgebra linear, um dos tópicos matemáticos mais importantes que sustentam a ciência de dados.
Ver detalhesRight Arrow
Começar Curso
Ver maisRight Arrow
Relacionado

blog

A maldição da dimensionalidade no aprendizado de máquina: Desafios, impactos e soluções

Explore a maldição da dimensionalidade na análise de dados e no aprendizado de máquina, incluindo seus desafios, efeitos nos algoritmos e técnicas como PCA, LDA e t-SNE para combatê-la.
Abid Ali Awan's photo

Abid Ali Awan

7 min

blog

O que são embeddings vetoriais? Uma explicação intuitiva

As incorporações de vetores são representações numéricas de palavras ou frases que capturam seus significados e relacionamentos, ajudando os modelos de machine learning a entender o texto com mais eficiência.

blog

Explicação sobre a detecção de objetos YOLO

Entenda a detecção de objetos YOLO, seus benefícios, como ela evoluiu nos últimos anos e alguns aplicativos da vida real.
Zoumana Keita 's photo

Zoumana Keita

15 min

Tutorial

Entendendo a assimetria e a curtose e como traçá-las

Um guia visual abrangente sobre assimetria/curtose e como elas afetam as distribuições e, por fim, seu projeto de ciência de dados.

Tutorial

Introdução a modelos não lineares e percepções usando o R

Descubra as complexidades dos modelos não lineares em comparação com os modelos lineares. Saiba mais sobre suas aplicações, limitações e como ajustá-las usando conjuntos de dados do mundo real.

Somil Asthana

11 min

Tutorial

As 15 fórmulas básicas do Excel que todos precisam saber

Aprenda a adicionar fórmulas aritméticas, de cadeia de caracteres, de séries temporais e complexas no Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Ver MaisVer Mais