Congruência dos Ângulos em Código
Sobre a Matemática
Dois ângulos AÔB e A’Ô’B’ são côngruos, ou congruentes, quando podem coincidir ponto por ponto por superposição.
Indica-se:
AÔB = A’O’B’ ou ∠ AOB = A’O’B’
Podemos, então definir que dois ângulos congruentes têm a mesma medida.
Sobre o Código
Na linguagem de programação Python,
from – é a palavra-chave usada para importar módulos ou partes específicas de uma biblioteca.
sympy – é a biblioteca para matemática simbólica (álgebra, equações, cálculo).
import – é a palavra-chave que traz funções, classes ou módulos externos para o código.
symbols() – é a função da SymPy que cria variáveis simbólicas (representações matemáticas abstratas).
Eq() – é a função da SymPy que define uma equação (igualdade entre duas expressões).
solve() – é a função da SymPy que resolve equações ou sistemas de equações.
.subs() – é o método da SymPy que substitui valores em uma expressão ou equação.
print() – é a função nativa que exibe informações no console.
matplotlib – é a biblioteca para visualização de dados e gráficos.
.pyplot – é o submódulo do Matplotlib usado para criar gráficos de forma simplificada.
as plt – é o alias (apelido) dado ao módulo pyplot para facilitar o uso.
numpy – é a biblioteca para cálculos numéricos, vetores e matrizes.
def – é a palavra-chave usada para definir uma função.
length= – é o parâmetro que define o comprimento das semirretas ao desenhar o ângulo.
color= – é o parâmetro que define a cor dos elementos gráficos.
label= – é o parâmetro que define o rótulo (nome) exibido no gráfico.
docstring – é o texto dentro de aspas triplas em funções, usado para documentar o que a função faz.
.deg2rad() – é a função do NumPy que converte graus em radianos.
.cos() – é a função do NumPy que calcula o cosseno de um ângulo em radianos.
.sin() – é a função do NumPy que calcula o seno de um ângulo em radianos.
.plot([]) – é a função do Matplotlib que desenha linhas ou pontos em um gráfico.
.linspace() – é a função do NumPy que gera uma sequência de valores igualmente espaçados.
linestyle= – é o parâmetro do Matplotlib que define o estilo da linha (sólida, tracejada, etc.).
.text() – é a função do Matplotlib que adiciona texto em uma posição específica do gráfico.
.figure() – é a função do Matplotlib que cria uma nova figura (janela de gráfico).
figsize= – é o parâmetro que define o tamanho da figura em polegadas (largura x altura).
.axis() – é a função do Matplotlib que ajusta os eixos (ex.: proporção igual).
.title() – é a função do Matplotlib que adiciona título ao gráfico.
.grid() – é a função do Matplotlib que adiciona uma grade ao gráfico.
.show() – é a função do Matplotlib que exibe o gráfico na tela.
# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.
Vamos ao código…
from sympy import symbols, Eq, solve
# Definindo variáveis simbólicas para os ângulos
angulo1, angulo2 = symbols('angulo1 angulo2')
# Definindo uma condição de congruência: ângulos têm a mesma medida
congruencia = Eq(angulo1, angulo2)
# Exemplo: verificar se 45° e 45° são congruentes
resultado1 = congruencia.subs({angulo1: 45, angulo2: 45})
print("Ângulos 45° e 45° são congruentes?", resultado1)
# Exemplo: verificar se 60° e 120° são congruentes
resultado2 = congruencia.subs({angulo1: 60, angulo2: 120})
print("Ângulos 60° e 120° são congruentes?", resultado2)
# Podemos também resolver simbolicamente
solucao = solve(congruencia, angulo1)
print("Condição geral de congruência:", solucao)| Código Python (.py) | O que faz |
| from sympy import symbols, Eq, solve | Importa funções da biblioteca SymPy para criar variáveis simbólicas, equações e resolver equações. |
| angulo1, angulo2 = symbols(‘angulo1 angulo2’) | Cria duas variáveis simbólicas chamadas angulo1 e angulo2. |
| congruencia = Eq(angulo1, angulo2) | Define a condição de congruência: os ângulos são iguais se angulo1 = angulo2. |
| resultado1 = congruencia.subs({angulo1: 45, angulo2: 45}) | Substitui os valores 45° e 45° na equação e verifica se são iguais. |
| print(“Ângulos 45° e 45° são congruentes?”, resultado1) | Exibe no console se os ângulos 45° e 45° são congruentes. |
| resultado2 = congruencia.subs({angulo1: 60, angulo2: 120}) | Substitui os valores 60° e 120° na equação e verifica se são iguais. |
| print(“Ângulos 60° e 120° são congruentes?”, resultado2) | Exibe no console se os ângulos 60° e 120° são congruentes. |
| solucao = solve(congruencia, angulo1) | Resolve simbolicamente a equação angulo1 = angulo2. |
| print(“Condição geral de congruência:”, solucao) | Mostra a solução geral: angulo1 deve ser igual a angulo2. |
Saída do código (valor de retorno)…
Ângulos 45° e 45° são congruentes? True
Ângulos 60° e 120° são congruentes? False
Condição geral de congruência: [angulo2]
import matplotlib.pyplot as plt
import numpy as np
def plot_angle(origin, angle_deg, length=2, color='blue', label='∠'):
"""
Desenha um ângulo a partir de uma origem.
"""
x0, y0 = origin
# Primeiro raio (eixo x positivo)
x1, y1 = x0 + length, y0
# Segundo raio (rotacionado pelo ângulo)
angle_rad = np.deg2rad(angle_deg)
x2, y2 = x0 + length*np.cos(angle_rad), y0 + length*np.sin(angle_rad)
# Desenha os raios
plt.plot([x0, x1], [y0, y1], color=color)
plt.plot([x0, x2], [y0, y2], color=color)
# Desenha arco para indicar abertura do ângulo
arco = np.linspace(0, angle_rad, 100)
plt.plot(x0 + 0.7*np.cos(arco), y0 + 0.7*np.sin(arco), linestyle='--', color=color)
# Rótulo
plt.text(x0 + 0.5, y0 + 0.2, label, fontsize=12, color=color)
# Criar figura
plt.figure(figsize=(6,6))
# Primeiro ângulo em O(0,0)
plot_angle((0,0), 45, color='blue', label='∠AÔB')
# Segundo ângulo em O'(4,2)
plot_angle((4,2), 45, color='green', label="∠A'Ô'B'")
plt.axis('equal')
plt.title("Demonstração gráfica de ângulos congruentes (45°)")
plt.grid(True)
plt.show()| Código Python (.py) | O que faz |
| import matplotlib.pyplot as plt | Importa a biblioteca Matplotlib para criar gráficos. |
| import numpy as np | Importa NumPy para cálculos matemáticos (como seno e cosseno). |
| def plot_angle(origin, angle_deg, length=2, color=’blue’, label=’∠’): | Define uma função para desenhar um ângulo a partir de uma origem. |
| x0, y0 = origin | Extrai as coordenadas da origem (vértice do ângulo). |
| x1, y1 = x0 + length, y0 | Calcula o ponto final do primeiro raio (horizontal). |
| angle_rad = np.deg2rad(angle_deg) | Converte o ângulo de graus para radianos. |
| x2, y2 = x0 + length*np.cos(angle_rad), y0 + length*np.sin(angle_rad) | Calcula o ponto final do segundo raio rotacionado pelo ângulo. |
| plt.plot([x0, x1], [y0, y1], color=color) | Desenha o primeiro raio. |
| plt.plot([x0, x2], [y0, y2], color=color) | Desenha o segundo raio. |
| arco = np.linspace(0, angle_rad, 100) | Cria pontos para desenhar o arco do ângulo. |
| plt.plot(x0 + 0.7*np.cos(arco), y0 + 0.7*np.sin(arco), linestyle=’–‘, color=color) | Desenha o arco tracejado indicando a abertura do ângulo. |
| plt.text(x0 + 0.5, y0 + 0.2, label, fontsize=12, color=color) | Adiciona um rótulo próximo ao vértice do ângulo. |
| plt.figure(figsize=(6,6)) | Cria uma nova figura com tamanho 6×6. |
| plot_angle((0,0), 45, color=’blue’, label=’∠AÔB’) | Desenha o primeiro ângulo de 45° na origem (0,0). |
| plot_angle((4,2), 45, color=’green’, label=”∠A’Ô’B'”) | Desenha o segundo ângulo de 45° em outra posição (4,2). |
| plt.axis(‘equal’) | Ajusta os eixos para proporções iguais (não distorcer o ângulo). |
| plt.title(“Demonstração gráfica de ângulos congruentes (45°)”) | Adiciona título ao gráfico. |
| plt.grid(True) | Adiciona grade ao gráfico. |
| plt.show() | Exibe o gráfico na tela. |
Saída do código (valor de retorno)…

Fonte:
- Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
- Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
- https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]