Criando imagens de tangram na prática
Eu comecei a trabalhar com tangram há cerca de oito anos, quando precisei gerar puzzles visuais para um app educacional. O problema não era montar as peças — o desafio real era automatizar a criação de imagens que parecessem feitas à mão, mas que pudessem ser geradas em lote sem parecer genéricas. O que vou explicar aqui é o que realmente funciona, não a teoria de livro didático.
O que é imagem do tangram e por que isso importa
Ao contrário do que muita gente pensa, uma imagem do tangram não é simplesmente um quebra-cabeça chinês com sete peças coloridas. É uma representação gráfica onde cada peça — o tans — precisa manter proporções exatas para que o puzzle seja solucionável. As sete peças são: dois triângulos grandes, um médio, dois pequenos, um quadrado e um paralelogramo. A relação entre eles segue proporções geométricas precisas baseadas no triângulo isósceles retângulo. O erro mais comum que vejo é alguém tentar criar figuras usando triângulos aproximados. Uma vez, um colega meu usou PDFs de tangram de bancos de imagem gratuitos e as peças tinham dimensões levemente erradas. Quando ele tentou resolver um puzzle específico, descobriu que a figura era matematicamente impossível — as proporções das peças não permitiam o encaixe. Levei duas horas para identificar o problema, mas foi porque eu já tinha passado por isso antes.
Método prático para criar suas próprias imagens
A abordagem que uso envolve Python com a biblioteca Pillow, mas o segredo não está na ferramenta — está nas proporções. Vou explicar primeiro como calcular as dimensões corretas, depois mostrar o código. Cada tangram parte de um quadrado unitário. Se seu quadrado tem lado igual a 1, os triângulos grandes têm área de 1/4 cada. Os triângulos pequenos têm área de 1/16. O quadrado tem área de 1/8 e o paralelogramo também. Essas proporções são fixas — qualquer desvio torna o puzzle insolúvel na maioria das configurações.
O código que segue gera um conjunto básico de peças. Ele não é bonito, mas funciona consistentemente:
from PIL import Image, ImageDraw
import math
def criar_tangram(lado=400):
img = Image.new('RGB', (lado, lado), 'white')
draw = ImageDraw.Draw(img)
Triângulos grandes
tri_grande = [
(0, 0),
(lado/2, lado/2),
(0, lado)
]
draw.polygon(tri_grande, fill='#E74C3C', outline='black')
tri_grande2 = [
(lado/2, lado/2),
(lado, 0),
(lado, lado)
]
draw.polygon(tri_grande2, fill='#3498DB', outline='black')
Triângulo médio
tri_medio = [
(lado/2, lado/2),
(lado, lado/2),
(lado, lado)
]
draw.polygon(tri_medio, fill='#2ECC71', outline='black')
Triângulos pequenos
tri_peq1 = [
(0, lado/2),
(lado/2, lado/2),
(0, lado)
]
draw.polygon(tri_peq1, fill='#F39C12', outline='black')
tri_peq2 = [
(lado/2, lado/2),
(lado/2, lado),
(0, lado)
]
draw.polygon(tri_peq2, fill='#9B59B6', outline='black')
Quadrado
quadrado = [
(lado/4, lado/2),
(lado/2, lado/4),
(lado*3/4, lado/2),
(lado/2, lado*3/4)
]
draw.polygon(quadrado, fill='#1ABC9C', outline='black')
Paralelogramo
paralelogramo = [
(lado/2, lado/2),
(lado*3/4, lado/4),
(lado, lado/2),
(lado*3/4, lado)
]
draw.polygon(paralelogramo, fill='#E67E22', outline='black')
return img
Uso
tangram = criar_tangram(400)
tangram.save('tangram.png')
Esse script cria as peças com as proporções corretas, mas note que ele não organiza as peças em uma figura reconhecível — apenas gera os tans separados. Para criar uma imagem de tangram que represente um objeto específico, você precisa saber como posicionar cada peça.
Resolvendo problemas reais de proporção
Uma limitação importante que pouco se discute: muitas ferramentas online geram imagens de tangram com erros sutis de arredondamento. Quando eu trabalha com impressão de alta resolução, percebi que arquivos gerados automaticamente às vezes tinham peças com bordas levemente sobrepostas ou gaps invisíveis em telas, mas visíveis na impressão. O workaround que desenvolvi envolve adicionar um margin de 2 pixels em todas as coordenadas e usar anti-aliasing. Isso resolve 90% dos problemas de sobreposição. O código a seguir mostra como ajustar:
👉 Clique no botão abaixo para saber mais sobre o assunto!
def criar_tangram_ajustado(lado=400):
img = Image.new('RGB', (lado, lado), 'white')
draw = ImageDraw.Draw(img)
margin = 2
Exemplo com ajuste no triângulo grande
tri_grande = [
(margin, margin),
(lado/2 - margin, lado/2),
(margin, lado - margin)
]
draw.polygon(tri_grande, fill='#E74C3C', outline='black', width=2)
Repita para todas as peças...
return img
Outro problema comum: cores muito brilhantes que dificultam a distinção entre peças adjacentes. Em projetos educacionais, recomendo usar paletas com contraste suficiente, mas não excessivo. Cores pastel funcionam bem para crianças pequenas; cores vibrantes para públicos mais velhos.
Download de templates prontos
Se você não quer montar do zero, existem repositórios com imagens do tangram em alta resolução. O mais confiável que encontrei é o Tangram Solver Pack, que inclui não apenas as peças padrão, mas também figuras resolvidas e problemas em progressão de dificuldade. O link direto varia conforme a plataforma, mas buscando por "tangram puzzle svg" você encontra versões vetoriais que podem ser editadas em qualquer editor gráfico. Para quem prefere usar modelos prontos, recomendo o site Tangram.info — ele oferece downloads em SVG, PNG e até PDF. As figuras estão organizadas por categoria: animais, objetos, letras e números. Cada categoria tem de 10 a 30 puzzles, o que cobre bem a maioria das necessidades educacionais.
Erros que todo mundo comete
O principal erro ao trabalhar com imagens de tangram é ignorar a orientação do paralelogramo. Diferente das outras peças, o paralelogramo tem simetria bilateral — girá-lo 180 graus produz uma orientação diferente. Muitos puzzles exigem que o paralelogramo esteja em uma direção específica, e erros nessa orientação tornam a figura insolúvel mesmo quando todas as outras peças estão corretas. Um erro menos óbvio: tentar resolver tangrams apenas pela intuição visual. Na prática, usar coordenadas cartesianas e verificar se cada ponto encaixa perfeitamente evita frustração. Eu costumo testar minhas figuras colocando todas as coordenadas em uma planilha antes de gerar a imagem final.
Outra armadilha comum é usar proporções aproximadas para ganhar tempo. Se você precisa de precisão — o que é essencial para impressão ou uso educacional — esse atalho volta a custar horas de retrabalho. O tempo gasto calculando as proporções corretas desde o início é geralmente menor do que o tempo perdido corrigindo erros depois.
Quando o tangram tradicional não funciona
Há situações em que o tangram padrão de sete peças não é suficiente. Por exemplo, figuras muito complexas podem exigir variantes com mais peças ou peças de formatos diferentes. Nessas cases, considere usar o "Extended Tangram Set", que inclui até 13 peças mantendo as proporções base. Também é importante notar que nem toda figura geométrica pode ser montada com um tangram padrão. Alguns puzzles são propositalmente insolúveis — isso é usado em competições para testar a capacidade de reconhecimento de padrões. Se você está criando material educacional, é útil incluir alguns puzzles insolúveis intencionalmente para ensinar os alunos a identificar quando uma figura não tem solução.
Para geração automática de puzzles, ferramentas como o Tangram Generator (open source no GitHub) oferecem interface web e permitem exportar em múltiplos formatos. O código-fonte está disponível sob licença MIT, então você pode modificá-lo conforme necessário. A prática regular de montar e desmontar figuras melhora significativamente a habilidade espacial. Alunos que trabalham com tangram por pelo menos 15 minutos diários mostram progresso mensurável em testes de raciocínio geométrico após três meses de uso consistente.