fevereiro 19, 2026

Transferidor em Código

Por admin

Sobre a Matemática

Transferidor é um instrumento de desenho que serve para medir ângulos.

Sobre o Código

Na linguagem de programação Python,

import – é a palavra-chave usada para carregar bibliotecas externas no programa.

matplotlib – é a biblioteca para criação de gráficos e visualizações.

.pyplot – é o submódulo do matplotlib que fornece funções para criar gráficos de forma simples.

as plt – define um apelido (plt) para o módulo importado, facilitando o uso.

numpy – é a biblioteca para cálculos numéricos e operações com arrays.

as np – define um apelido (np) para o módulo numpy.

def – é a palavra-chave usada para definir uma função.

.subplots() – é a função do matplotlib que cria uma figura e eixos para desenhar gráficos.

figsize= – é o parâmetro que define o tamanho da figura (largura x altura).

.Circle() – é a função do matplotlib para desenhar um círculo.

fill= – é o parâmetro que indica se o círculo deve ser preenchido (True) ou apenas contorno (False).

color= – define a cor de um elemento gráfico.

.add_artist() – adiciona um objeto gráfico (como círculo) ao eixo do gráfico.

for...in... – é a estrutura de repetição (loop) que percorre uma sequência de valores.

range() – é a função que gera uma sequência de números (ex.: de 0 a 180).

.radians() – converte graus em radianos (necessário para cálculos trigonométricos).

.cos() – é a função cosseno, que retorna a coordenada x de um ângulo em radianos.

.sin() – é a função seno, que retorna a coordenada y de um ângulo em radianos.

.plot() – é a função do matplotlib para desenhar linhas ou pontos no gráfico.

linewidth= – define a espessura da linha desenhada.

.text() – adiciona texto em uma posição específica do gráfico.

str() – é a função que converte valores em texto (string).

fontsize= – define o tamanho da fonte do texto.

ha= – de “Horizontal alignment”, é o alinhamento horizontal do texto (left, center, right).

va= – de “Vertical alignment”, é o alinhamento vertical do texto (top, center, bottom).

label= – define o rótulo de um elemento gráfico para aparecer na legenda.

f"{}" – é a forma de inserir valores dentro de uma string usando {} (f-string).

ax.set_xlim() – define os limites do eixo x no gráfico.

.set_ylim() – define os limites do eixo y no gráfico.

.set_aspect() – ajusta a proporção dos eixos (ex.: equal para manter círculo perfeito).

.axis() – controla a exibição dos eixos (ex.: off para ocultar).

.legend() – exibe a legenda dos elementos gráficos.

.title() – define o título do gráfico.

.show() – 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…

import matplotlib.pyplot as plt
import numpy as np

def desenhar_transferidor(angulo):
    fig, ax = plt.subplots(figsize=(6,6))
    
    # Desenhar círculo do transferidor
    circulo = plt.Circle((0,0), 1, fill=False, color='black')
    ax.add_artist(circulo)
    
    # Marcar graus de 0 a 180
    for grau in range(0, 181, 10):
        rad = np.radians(grau)
        x = np.cos(rad)
        y = np.sin(rad)
        ax.plot([0, x], [0, y], color='gray', linewidth=0.5)
        ax.text(1.1*np.cos(rad), 1.1*np.sin(rad), str(grau), fontsize=8, ha='center', va='center') 
    # Desenhar o ângulo escolhido
    rad_angulo = np.radians(angulo)
    ax.plot([0, np.cos(rad_angulo)], [0, np.sin(rad_angulo)], color='red', linewidth=2, label=f"{angulo}°")
    
    # Configurações do gráfico
    ax.set_xlim(-1.2, 1.2)
    ax.set_ylim(-0.2, 1.2)
    ax.set_aspect('equal')
    ax.axis('off')
    ax.legend()
    plt.title("Transferidor Digital")
    plt.show()

# Exemplo: mostrar ângulo de 45°
desenhar_transferidor(45)
Código Python (.py)O que faz
import matplotlib.pyplot as pltImporta a biblioteca matplotlib para criar gráficos e desenhos.
import numpy as npImporta a biblioteca numpy para cálculos matemáticos, como seno e cosseno.
def desenhar_transferidor(angulo):Define uma função chamada desenhar_transferidor que recebe um ângulo como parâmetro.
fig, ax = plt.subplots(figsize=(6,6))Cria uma figura (fig) e um eixo (ax) para desenhar, com tamanho 6×6.
circulo = plt.Circle((0,0), 1, fill=False, color=’black’)Cria um círculo com raio 1, centrado em (0,0), sem preenchimento, cor preta.
ax.add_artist(circulo)Adiciona o círculo ao gráfico, representando a borda do transferidor.
for grau in range(0, 181, 10):Inicia um loop para desenhar marcas de graduação de 0° até 180°, de 10 em 10.
rad = np.radians(grau)Converte o valor do grau para radianos (necessário para cálculos trigonométricos).
x = np.cos(rad)Calcula a coordenada x da linha correspondente ao grau.
y = np.sin(rad)Calcula a coordenada y da linha correspondente ao grau.
ax.plot([0, x], [0, y], color=’gray’, linewidth=0.5)Desenha uma linha do centro até a borda do círculo, indicando a marca do grau.
ax.text(1.1*np.cos(rad), 1.1 * np.sin(rad), str(grau), fontsize=8, ha=’center’, va=’center’)Escreve o número do grau próximo à borda do círculo.
rad_angulo = np.radians(angulo)Converte o ângulo escolhido pelo usuário para radianos.
ax.plot([0, np.cos(rad_angulo)], [0, np.sin(rad_angulo)], color=’red’, linewidth=2, label=f”{angulo}°”)Desenha em vermelho a linha que representa o ângulo escolhido.
ax.set_xlim(-1.2, 1.2)Define os limites do eixo x para visualizar bem o transferidor.
ax.set_ylim(-0.2, 1.2)Define os limites do eixo y.
ax.set_aspect(‘equal’)Garante que os eixos tenham a mesma escala (círculo não fica oval).
ax.axis(‘off’)Remove os eixos numéricos do gráfico para parecer um transferidor real.
ax.legend()Adiciona uma legenda mostrando o ângulo destacado.
plt.title(“Transferidor Digital”)Define o título do gráfico.
plt.show()Exibe o gráfico na tela.
desenhar_transferidor(45)Chama a função para desenhar o transferidor com o ângulo de 45°.

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]