Deslocamento no MHS
Esta calculadora de deslocamento do movimento harmônico simples determina a posição de um oscilador no instante escolhido por você a partir da amplitude, da frequência angular e da constante de fase.
Executar grátis
Ela aplica a forma cosseno padrão da equação do MHS e informa o deslocamento em metros. Use-a para conferir exercícios de física, avaliar um modelo de vibração ou gerar uma posição precisa para uma simulação. Todas as entradas devem ser números finitos; valores malformados são recusados para evitar resultados enganosos.
Informe grandezas do mesmo oscilador
A amplitude define a maior distância até o equilíbrio e deve ser informada em metros. A frequência angular descreve a rapidez do avanço da fase e deve estar em radianos por segundo, enquanto o tempo é dado em segundos. A constante de fase é um ângulo em radianos que fixa a posição do oscilador no ciclo quando o tempo é zero. Mantenha as unidades coerentes: frequência comum em hertz não é frequência angular, embora seja possível convertê-la multiplicando a frequência por dois pi. Uma amplitude negativa é aceita matematicamente, pois a fórmula continua definida, mas na maioria das descrições físicas a amplitude é uma grandeza não negativa; um valor negativo equivale a deslocar a fase em pi radianos. O tempo pode ser negativo para estender o modelo ideal antes da origem escolhida. A calculadora exige números JSON reais. Textos que parecem números, valores vazios, infinito e elementos não numéricos são recusados para que um erro de formatação não altere silenciosamente a interpretação física.
Entenda o cálculo com cosseno
A calculadora avalia o deslocamento como a amplitude multiplicada pelo cosseno da frequência angular vezes o tempo mais a fase. Primeiro, a multiplicação da frequência angular pelo tempo produz a fase acumulada desde a origem temporal. A soma da constante de fase fornece a fase total do oscilador no instante solicitado. O cosseno leva essa fase a um valor entre menos um e um, e a multiplicação pela amplitude dimensiona o resultado em metros. Na fase total zero, o oscilador está no deslocamento máximo positivo. Em pi sobre dois, cruza o equilíbrio; em pi, alcança o máximo negativo; em dois pi, retorna ao ponto inicial. Essa convenção de sinais acompanha a forma cosseno do movimento harmônico simples. Uma fonte que use seno não está em conflito, pois seno e cosseno diferem por um deslocamento de fase. Os resultados usam aritmética de ponto flutuante do JavaScript, portanto um zero exato esperado pode surgir como resíduo extremamente pequeno, porque pi e valores trigonométricos em geral não possuem representação binária exata.
Use o resultado dentro dos limites do modelo
O deslocamento retornado é uma posição instantânea com sinal em relação ao equilíbrio, e não a distância total percorrida. Um resultado positivo fica no lado definido como positivo pelo seu sistema de coordenadas, enquanto um resultado negativo fica no lado oposto. O cálculo representa o movimento harmônico simples ideal: amplitude e frequência angular permanecem constantes, sem amortecimento, força externa, rigidez não linear ou incerteza de medição. Ele é apropriado para sistemas massa-mola didáticos, aproximações de pequenos ângulos, verificações de vibração ideal e entradas determinísticas de simulação. Em um oscilador amortecido real, a amplitude varia com o tempo e esta equação isolada é insuficiente. Velocidade e aceleração também exigem suas próprias derivadas. Ao comparar o resultado com dados experimentais, confirme a mesma origem temporal e convenção de fase. Pela API, cada cálculo custa US$ 0,002; no navegador, a mesma fórmula determinística pode ser executada localmente. Como a operação não usa rede, aleatoriedade nem relógio, entradas numéricas idênticas seguem sempre o mesmo cálculo e geram o mesmo resultado serializado.
Casos de uso
Conferir um exercício de física
Avalie a equação padrão do MHS em um instante determinado e compare a posição com sinal com uma resolução completa.
Amostrar uma vibração ideal
Calcule posições em instantes selecionados para um modelo determinístico de massa-mola ou vibração.
Verificar convenções de fase
Teste como uma constante de fase escolhida altera a posição inicial e os pontos posteriores do ciclo.
Perguntas frequentes
Qual equação a calculadora utiliza?
Ela utiliza x(t) = A cos(ωt + φ), em que A é a amplitude, ω é a frequência angular, t é o tempo e φ é a constante de fase.
Quais unidades devo informar?
Informe a amplitude em metros, a frequência angular em radianos por segundo, a fase em radianos e o tempo em segundos. O resultado será dado em metros.
Posso informar a frequência em hertz?
Não diretamente. Converta a frequência f em hertz para frequência angular usando ω = 2πf antes de enviar o valor.
Por que um zero esperado aparece como um número minúsculo?
A aritmética de ponto flutuante aproxima pi e os valores trigonométricos; assim, zeros matemáticos podem deixar resíduos numéricos muito pequenos.
O cálculo inclui amortecimento ou força externa?
Não. Ele calcula o movimento harmônico simples ideal com amplitude e frequência angular constantes.
Quanto custa um cálculo pela API?
Cada cálculo pela API custa US$ 0,002. Você também pode usar a calculadora gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/mech/shm-displacement \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}'const res = await fetch("https://api.kit.forhosting.com/mech/shm-displacement", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amplitude_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/shm-displacement",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amplitude_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/shm-displacement", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amplitude_m":0.5,"angular_frequency_rad_s":3.141592653589793,"phase_rad":0,"time_s":0.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/shm-displacement", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"amplitude_m": 0.5,
"angular_frequency_rad_s": 3.141592653589793,
"phase_rad": 0,
"time_s": 0.5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.shm_displacement",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |