A Tractriz

Prof. Doherty Andrade - www.metodosnumericos.com.br

A tractriz é uma curva no plano \((x,y)\) determinada pela seguinte propriedade: o segmento da tangente delimitado pelo ponto de tangência e pelo eixo dos \(x\) é constante.

Mais precisamente, suponha que uma partícula em \(Q\) com certa massa seja arrastada ao longo de um plano horizontal áspero por meio de uma corda \(QP\) mantida tensa, e com extremidade em \(P\) sobre o eixo \(x\). Então a curva descrita pela partícula é tractriz. A equação da tractriz, que obteremos abaixo, foi primeramente determinada por James Bernoulli em 1691.

Equação Diferencial da Tractriz

Chamando de \(a\) o comprimento do segmento \(QP\) então a função \(y(x)\), cujo gráfico é a curva descrita pela partícula, satisfaz à equação diferencial separável

\[ y^\prime = - \frac{y}{\sqrt{a^2-y^2}}.\]

Solução da Equação

É uma EDO do tipo separável. Realizando a integração, obtemos

\[a \ln\left(\frac{a- \sqrt{a^2-y^2}}{y} \right)+ \sqrt{a^2-y^2}=-x+c.\]

Se \(x=0\) tem-se \(y=a\) e assim, obtemos que \(c=0.\) Donde segue que

\[x = -a \ln\left(\frac{a- \sqrt{a^2-y^2}}{y} \right)- \sqrt{a^2-y^2}.\]

Solução em detalhes

\[ y' = -\frac{y}{\sqrt{a^2 - y^2}} \]

1. Separação de Variáveis

Reescrevemos a EDO em forma diferencial:

\[ \frac{dy}{dx} = -\frac{y}{\sqrt{a^2 - y^2}} \]

Separamos as variáveis:

\[ \frac{\sqrt{a^2 - y^2}}{y} dy = -dx \]

2. Integração de Ambos os Lados

\[ \int \frac{\sqrt{a^2 - y^2}}{y} dy = -\int dx \]

Resolvendo a integral do lado esquerdo:

Usamos a substituição trigonométrica \( y = a \sin \theta \):

\[ \sqrt{a^2 - y^2} = a \cos \theta, \quad dy = a \cos \theta d\theta \]

A integral se torna:

\[ a \int \frac{\cos^2 \theta}{\sin \theta} d\theta = a \int (\csc \theta - \sin \theta) d\theta \]

Resultando em:

\[ a \ln \left| \frac{a - \sqrt{a^2 - y^2}}{y} \right| + \sqrt{a^2 - y^2} \]

Resolvendo a integral do lado direito:

\[ -\int dx = -x + C \]

3. Solução Implícita

A solução geral na forma implícita é:

\[ a \ln \left( \frac{a - \sqrt{a^2 - y^2}}{y} \right) + \sqrt{a^2 - y^2} + x = C \]

onde \( C \) é a constante de integração.

4. Solução Alternativa

Usando a substituição \( u = \sqrt{a^2 - y^2} \), obtemos:

\[ -\sqrt{a^2 - y^2} + a \cdot \text{arctanh}\left( \frac{\sqrt{a^2 - y^2}}{a} \right) = x + C \]

Conclusão

A solução da EDO pode ser expressa de diferentes formas implícitas, sendo a principal:

\[ \boxed{ a \ln \left( \frac{a - \sqrt{a^2 - y^2}}{y} \right) + \sqrt{a^2 - y^2} + x = C } \]

Gráfico Interativo

Explore a tractriz ajustando o comprimento da corda \(a\):

1.0

Onde aparece a tractriz?

A curva tractriz (também chamada de curva de perseguição) é uma curva clássica que aparece em diversos contextos matemáticos e aplicações práticas. Aqui estão as principais áreas onde ela surge:
  • 1. Geometria Diferencial Superfícies de curvatura constante negativa: A tractriz é usada para gerar a pseudosfera, uma superfície com curvatura gaussiana constante negativa, análoga à esfera (que tem curvatura positiva). Modelo de geometria hiperbólica: A pseudosfera baseada na tractriz serve como modelo para a geometria de Lobachevsky (geometria hiperbólica).
  • 2. Física Movimento de partículas: Modela o movimento de um objeto sendo puxado por uma corda de comprimento fixo. Dinâmica de fluidos: Aparece em problemas de fluxo potencial e linhas de corrente.
  • 3. Engenharia e Design Design de engrenagens: Usada no perfil de certos tipos de engrenagens não-circulares. Acústica: Forma de certas superfícies acústicas para controle de reflexão sonora.
  • 4. Matemática Aplicada Problemas de perseguição: Solução clássica do problema do "cão perseguindo seu dono". Equações diferenciais: Exemplo importante de EDOs não-lineares separáveis.
  • 5. Cosmologia Modelos do universo: Em certas soluções cosmológicas que consideram geometrias não-euclidianas.
  • 6. Robótica Trajetórias de veículos: Modela o movimento de veículos com restrições no raio de viragem.
  • Propriedades Matemáticas Notáveis: Tem comprimento infinito mas área finita (quando girada para formar a pseudosfera), É uma curva transcendental (não algébrica), Possui a propriedade de que o segmento da tangente entre o ponto de tangência e o eixo x tem comprimento constante, A tractriz ilustra belamente como objetos matemáticos aparentemente abstratos encontram aplicações em diversas áreas do conhecimento.
  • Implementação em JavaScript

    O código abaixo calcula e plota a tractriz usando JavaScript e Plotly:

    // Cálculo da tractriz em JavaScript
    function calculateTractrix(a, numPoints) {
        const x = [], y = [];
        for (let i = 1; i <= numPoints; i++) {  // Começa em 1 para evitar yi = 0
            const yi = a * (i / numPoints);
            const sqrtTerm = Math.sqrt(a*a - yi*yi);
            x.push(a * Math.log((a + sqrtTerm) / yi) - sqrtTerm);
            y.push(yi);
        }
        return {x, y};
    }
    
    // Exemplo de uso:
    const a = 1;
    const numPoints = 1000;
    const tractrixData = calculateTractrix(a, numPoints);
    
    // Configuração do gráfico Plotly
    const trace = {
        x: tractrixData.x,
        y: tractrixData.y,
        type: 'scatter',
        mode: 'lines',
        name: `Tractriz (a=${a})`,
        line: {color: '#3498db', width: 2}
    };
    

    Implementação em Python

    Para referência, o código equivalente em Python usando Matplotlib:

    
    import numpy as np
    import matplotlib.pyplot as plt
    
    def plot_tractrix(a=1, num_points=1000):
     t = np.linspace(0.001, a * 0.999, num_points)  # Evita t = a
     x = a * (np.log((a + np.sqrt(a**2 - t**2)) / t) - np.sqrt(a**2 - t**2) / a)  # Corrigido o termo sqrt
    y = t
        
    plt.figure(figsize=(8, 6))
    plt.plot(x, y, label=f'Tractriz (a={a})', color='blue')
     plt.plot(0, a, 'ro', markersize=8, label=f'Ponto Inicial (0, {a})')
     plt.title('Tractriz')
      plt.xlabel('Eixo X')
      plt.ylabel('Eixo Y')
      plt.grid(True)
      plt.legend()
      plt.axis('equal')  # Para manter a proporção correta
      plt.show()
    
    plot_tractrix()
    
    

    Implementação em MatLab

    O código abaixo calcula e plota a tractriz usando MatLab:

    // Cálculo da tractriz em MatLab
    
    %% Tractriz no Plano em live script
    % Este script plota a curva conhecida como *tractriz*, definida por:
    %
    % $$ x(t) = a \left( \ln\left( \frac{a + \sqrt{a^2 - t^2}}{t} \right) - \sqrt{1 - \frac{t^2}{a^2}} \right), \quad y(t) = t $$
    %
    % A tractriz descreve a trajetória de um objeto puxado por uma corda rígida ao longo de um eixo.
    
    % Parâmetros da curva:
    a = 1;              % Parâmetro da tractriz
    num_points = 1000;  % Número de pontos
    
    % Geração dos valores de t no intervalo (0, a)
    t = linspace(0.001, a - 0.001, num_points);
    
    % Cálculo dos termos intermediários
    raiz = sqrt(a.^2 - t.^2);
    termo_log = log((a + raiz) ./ t);
    termo_sqrt = sqrt(1 - (t.^2 ./ a.^2));
    
    % Cálculo das coordenadas (x, y)
    x = a * (termo_log - termo_sqrt);
    y = t;
    
    % Criação da figura
    figure;
    plot(x, y, 'b', 'LineWidth', 2);
    hold on;
    
    % Adiciona o ponto inicial (0, a)
    plot(0, a, 'ro', 'MarkerFaceColor', 'r', 'MarkerSize', 8);
    
    % Personalização
    legend(['Tractriz (a = ', num2str(a), ')'], 'Ponto Inicial (0, a)', 'Location', 'best');
    title('Tractriz');
    xlabel('Eixo X');
    ylabel('Eixo Y');
    grid on;
    axis equal;
    
    

    Implementação em Maple

    O código abaixo calcula e plota a tractriz usando Maple:

    // Cálculo da tractriz em Maple
    # Função para calcular e plotar a tractriz
    >restart;
    >with(plots);
    
    >plotTractrix := proc(a::positive, num_points::posint) 
    local tvals, xvals, yvals, i, ptos, tractrix_curve, initial_point; 
    tvals := [seq(a*i/(num_points + 1), i = 1 .. num_points)]; 
    xvals := [seq(a*(ln((a + sqrt(a^2 - tvals[i]^2))/tvals[i]) - sqrt(a^2 - tvals[i]^2)), i = 1 .. num_points)]; 
    yvals := tvals; ptos := [seq([xvals[i], yvals[i]], i = 1 .. num_points)]; 
    tractrix_curve := plot(ptos, style = line, color = blue, thickness = 2, legend = cat("Tractriz (a = ", a, ")")); 
    initial_point := pointplot([[0, a]], symbol = solidcircle, color = red, symbolsize = 12, legend = "Ponto Inicial (0, a)"); 
    display([tractrix_curve, initial_point], title = "Tractriz", labels = ["Eixo X", "Eixo Y"], gridlines = true, scaling = constrained); 
    end proc;
    
    > plotTractrix(1, 1000);
    
    

    Referências

    Equações Diferenciais Ordinárias

    Autor: Djairo Guedes de Figueiredo

    Edição: 4ª edição

    Editora: IMPA (Instituto de Matemática Pura e Aplicada)

    Ano: 2020