Tempo do projétil em uma altura
Esta calculadora de tempo do projétil em determinada altura encontra os dois instantes em que um objeto lançado alcança uma elevação específica acima do ponto inicial.
Executar grátis
Informe a velocidade e o ângulo de lançamento, a altura desejada e, opcionalmente, a aceleração gravitacional local. O resultado separa a passagem durante a subida daquela durante a descida e também apresenta a altura máxima da trajetória. Se a elevação solicitada estiver acima do ápice, a calculadora retorna um erro claro em vez de tempos imaginários ou enganosos. Ela é útil para estudos de física, verificação de trajetórias e cálculos de engenharia reproduzíveis.
Informe um cenário de lançamento coerente
Informe a velocidade de lançamento em metros por segundo, o ângulo em graus acima da horizontal e a altura desejada em metros acima do ponto de lançamento. Portanto, a altura considera a posição inicial como zero; ela não representa altitude em relação ao nível do mar, a menos que o próprio lançamento ocorra nesse nível. A gravidade é medida em metros por segundo ao quadrado e usa por padrão a gravidade terrestre convencional, 9.80665. Você pode substituí-la quando um exercício indicar outro valor ou ao modelar um ambiente diferente. Mantenha todas as grandezas nas unidades especificadas, pois a calculadora não converte silenciosamente quilômetros por hora, pés, radianos nem outras convenções. O ângulo de lançamento deve ser maior que zero e não pode ultrapassar noventa graus, enquanto a velocidade e a gravidade devem ser positivas. Uma altura desejada igual a zero é válida e retorna o instante do lançamento como primeira passagem. Essas definições tornam os dados inequívocos e vinculam os dois tempos ao mesmo referencial físico. Resistência do ar, sustentação, vento, curvatura da Terra e gravidade variável não fazem parte deste modelo ideal de projétil.
Entenda como os dois tempos de passagem são obtidos
O cálculo começa decompondo a velocidade de lançamento para obter sua componente vertical por meio do seno do ângulo. Em seguida, a posição vertical segue a equação de aceleração constante: a altura é igual à velocidade vertical multiplicada pelo tempo menos metade da gravidade multiplicada pelo tempo ao quadrado. Igualar essa posição à altura solicitada produz uma equação quadrática. A menor raiz real é o tempo de subida, quando o projétil alcança o nível pela primeira vez enquanto sobe. A maior raiz real é o tempo de descida, quando ele volta a cruzar o mesmo nível depois do ápice. Exatamente na altura máxima, as raízes coincidem porque o projétil toca essa elevação em um único instante; por isso, os dois campos exibem o mesmo tempo. A altura máxima informada é calculada com a mesma componente vertical e a mesma gravidade, oferecendo uma verificação útil da solicitação. Os resultados são arredondados com precisão estável para gerar uma saída JSON reproduzível, enquanto o cálculo interno mantém a precisão comum de ponto flutuante. Neste modelo ideal, a velocidade horizontal não altera o instante em que determinado nível vertical é cruzado.
Interprete alturas inalcançáveis e use o resultado
Uma passagem real só existe quando o discriminante da equação quadrática é zero ou positivo. Se a altura desejada superar a elevação máxima permitida pela velocidade, pelo ângulo e pela gravidade escolhidos, o discriminante será negativo e os tempos solicitados seriam complexos, não físicos. A calculadora trata essa condição como entrada inválida e informa a altura máxima alcançável, permitindo que você ajuste o cenário conscientemente. É possível aumentar a velocidade, escolher um ângulo mais inclinado, reduzir a altura solicitada ou usar a gravidade definida pelo problema. Depois de obter tempos válidos, use o valor de subida para eventos anteriores ao ápice e o valor de descida para eventos posteriores, como acionar um sensor, comparar quadros de vídeo ou conferir uma solução didática. Lembre-se de que esses tempos descrevem o centro de massa do projétil sob gravidade descendente constante. Uma bola sujeita a arrasto considerável, um foguete propulsionado ou um objeto lançado de uma plataforma rumo a um nível inferior exige um modelo de movimento mais abrangente. Pela API, cada cálculo custa US$ 0,002; a resposta determinística é prática para listas de exercícios automatizadas e verificações de simulações.
Casos de uso
Conferir um exercício de física
Compare as duas raízes quadráticas com uma solução detalhada e confirme que o nível solicitado está abaixo do ápice.
Temporizar um sensor de altura
Estime os instantes de subida e descida em que um projétil ideal cruza a elevação de um sensor.
Validar uma simulação simples
Use tempos analíticos e determinísticos de passagem como referência para uma simulação discreta de movimento de projéteis.
Perguntas frequentes
Por que há dois tempos?
Abaixo do ápice, o projétil cruza a mesma altura uma vez durante a subida e outra durante a descida.
O que acontece na altura máxima?
As duas raízes são iguais porque o projétil alcança o ápice em um único instante.
Por que a altura desejada é inalcançável?
A velocidade vertical de lançamento escolhida não é suficiente para atingir essa altura sob a gravidade informada.
O cálculo inclui resistência do ar?
Não. Ele usa movimento ideal com gravidade descendente constante, sem arrasto, vento, sustentação nem propulsão.
Posso usar a gravidade de outro planeta?
Sim. Informe qualquer aceleração gravitacional positiva em metros por segundo ao quadrado adequada ao cenário idealizado.
Quanto custa um cálculo pela API?
Cada solicitação custa US$ 0,002.
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/projectile-time-at-height \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":20,"angle_degrees":60,"height":10}'const res = await fetch("https://api.kit.forhosting.com/mech/projectile-time-at-height", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 20,
"angle_degrees": 60,
"height": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/projectile-time-at-height",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 20,
"angle_degrees": 60,
"height": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/projectile-time-at-height", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":20,"angle_degrees":60,"height":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":20,"angle_degrees":60,"height":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/projectile-time-at-height", 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
{
"speed": 20,
"angle_degrees": 60,
"height": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.projectile_time_at_height",
"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. |