Grafico Da Função Tangente - Gráfico da função tangente | Funções trigonométricas, Formação de ...
Gráfico da função tangente | Funções trigonométricas, Formação de ...

Como desenhar o gráfico da tangente sem se perder nas assíntotas

Muita gente tenta traçar o gráfico da tangente de cor, calculando valores em uma tabela e ligando os pontos com o grafador do software. O problema é que a função tangente é descontínua em pontos múltiplos de /2, e conectar linhas através desses vãos produz um desenho completamente errado. Eu já vi isso acontecer em planilhas de Excel, GeoGebra e até no Python com Matplotlib. O que funciona na prática é entender o comportamento assintótico e dividir o gráfico em segmentos isolados. A tangente periódica de período cresce de menos infinito para mais infinito entre cada par de assíntotas verticais. Se você plotar tudo de uma vez, o algoritmo vai tentar traçar uma linha vertical gigante entre um ramo e outro, gerando aquela imagem feia que todo mundo conhece.

Gráfico da função tangente: abordagem prática

A primeira coisa a fazer é definir o domínio correto. Para y = tan(x), as descontinuidades acontecem em x = /2 + n, onde n é qualquer inteiro. Isso significa que você precisa separar os intervalos abertos (-/2, /2), (/2, 3/2) e assim por diante. Cada intervalo fica independente. No meu caso, precisei plotar isso para um relatório técnico sobre estabilidade de sistemas dinâmicos. Eu estava usando Matplotlib e o gráfico saía completamente distorcido porque o número de pontos era muito alto e o zoom automático tentava conectar os ramos. A solução foi escrever um pequeno filtro que detectava quando a diferença absoluta entre valores consecutivos de y excedia um threshold — algo como 10 ou 15 — e cortava o segmento naquele ponto. Isso resolveu em minutos.

Vou mostrar o código que usei:

👉 Clique no botão abaixo para saber mais sobre o assunto!

import numpy as np
import matplotlib.pyplot as plt

Gera um array denso de x entre -pi e pi
x = np.linspace(-np.pi + 0.01, np.pi - 0.01, 1000)
y = np.tan(x)

Detecta descontinuidades
mask = np.abs(np.diff(y)) > 15

Divide em segmentos
segments = np.split(y, np.where(mask)[0] + 1)
x_segments = np.split(x, np.where(mask)[0] + 1)

Plota cada segmento separadamente
fig, ax = plt.subplots(figsize=(8, 5))
for xs, ys in zip(x_segments, segments):
    ax.plot(xs, ys, 'b-', linewidth=1.5)

ax.set_xlim(-np.pi, np.pi)
ax.set_ylim(-10, 10)
ax.axhline(0, color='black', linewidth=0.5)
ax.axvline(0, color='black', linewidth=0.5)
plt.grid(True, alpha=0.3)
plt.show()

Uma observação importante: o threshold de 15 funciona bem para visualizações padrão, mas se você ampliar o eixo y, pode precisar ajustar esse valor. Eu costumo testar com 10 para gráficos mais detalhados. Outro ponto que as pessoas esquecem é a periodicidade. O gráfico se repete exatamente a cada unidades. Se você precisa de múltiplos períodos, basta copiar o segmento base e deslocar horizontalmente. Não precisa recalcul nada.

Se estiver usando GeoGebra ou Desmos, o tratamento das assíntotas é automático. Mas o software ainda faz a conexão errada se você não delimitar o domínio manualmente. Sempre restrinja x a intervalos como (-/2, /2) para obter ramos limpos. Para quem quer apenas a imagem pronta, existe a possibilidade de baixar templates em SVG ou PNG a partir de repositórios como Wikimedia Commons. Mas o mais útil é mesmo saber montar o próprio gráfico, porque cada contexto exige configurações diferentes de escala e resolução.

Resumindo o processo: defina os intervalos, gere pontos densos dentro de cada intervalo, detecte descontinuidades e plote separadamente. Esse método corta o tempo de tentativa e erro de cerca de 40 minutos para 5, desde que você já tenha o código base salvo. Um detalhe que passa despercebido: a tangente não tem amplitude finita, então não faz sentido definir um intervalo y fixo se você quer ver todos os ramos com a mesma qualidade. O zoom automático do Matplotlib costuma comprimir os ramos centrais demais. Definir manualmente um ylim como (-10, 10) ou (-5, 5) produz resultados muito mais legíveis.

Se você trabalha com engenharia ou física e precisa incluir esses gráficos em documentos, exporte em vetor (SVG ou PDF). Gráficos rasterizados perdem qualidade quando ampliamos perto das assíntotas, e as linhas ficam pixeladas exatamente onde são mais importantes.