Carrera de cuerpos rodantes
La calculadora de carrera de cuerpos rodantes predice qué sólidos rígidos llegan primero al final de una misma rampa cuando ruedan sin deslizar.
Ejecutar — gratis
Introduzca el ángulo de inclinación y el factor de inercia adimensional de cada cuerpo, k = I/(mr²). Obtendrá el orden físico de llegada, la aceleración lineal de cada participante y la indicación de empates exactos. Así puede comparar esferas, cilindros, aros o distribuciones de masa personalizadas sin indicar masa, radio ni longitud de la rampa.
Prepare una carrera de rodadura justa
Una comparación útil coloca todos los cuerpos en la misma rampa recta y supone rodadura pura sin deslizamiento. Introduzca el ángulo de la rampa medido desde la horizontal y añada una fila por participante. Cada fila requiere un nombre único y un factor de inercia k, definido como el momento de inercia respecto del eje de giro dividido entre la masa por el radio al cuadrado: k = I/(mr²). Los sólidos ideales habituales tienen factores conocidos: una esfera maciza tiene 2/5, un cilindro o disco macizo tiene 1/2 y un aro delgado tiene 1. La calculadora no necesita las masas ni los radios individuales porque se cancelan en la ecuación ideal. La gravedad adopta por defecto el valor terrestre estándar, pero usted puede cambiarla para un ejercicio teórico o para otro mundo. Todos los participantes deben compartir gravedad y pendiente. El modelo no incluye pérdidas superficiales, resistencia del aire, deformación, fricción de ejes ni impulso inicial; mantenga condiciones experimentales coherentes al contrastarlo con una carrera real.
Interprete la aceleración y el orden de llegada
Cuando un cuerpo rueda sin deslizar, la energía potencial gravitatoria se reparte entre la traslación del centro de masa y la rotación a su alrededor. La calculadora aplica a = g sin(θ)/(1 + k), donde g es la aceleración gravitatoria, θ es el ángulo de la rampa y k es el factor de inercia. Un k menor deja una proporción mayor de energía disponible para el movimiento de traslación y produce más aceleración lineal. Por eso una esfera maciza ideal supera a un cilindro macizo, que a su vez supera a un aro delgado en la misma rampa. Los resultados se ordenan desde la aceleración mayor hasta la menor. Los factores iguales reciben el mismo puesto y se marcan como empate porque la ecuación ideal predice aceleraciones idénticas; el orden de entrada solo se conserva para que el JSON sea determinista. A 0 grados todas las aceleraciones son cero. La aceleración mostrada se redondea a nueve decimales, pero la clasificación usa los factores originales.
Utilice el resultado con criterio
La lista ordenada responde a un problema ideal de mecánica, no a todos los detalles de una carrera de laboratorio. Si los cuerpos parten del reposo desde el mismo punto, recorren la misma distancia y mantienen aceleración constante, el orden de aceleración también es el orden de llegada. Por eso no hace falta conocer la longitud de la rampa para clasificarlos, aunque sí sería necesaria para calcular tiempos. Los objetos reales pueden apartarse de la predicción si resbalan, oscilan, rebotan, sufren resistencia a la rodadura o presentan una resistencia aerodinámica relevante. Antes de usar un factor tabulado, confirme que el eje de rotación y el modelo de masa corresponden al objeto: un cilindro de pared gruesa no equivale a un aro delgado. Un factor personalizado representa cualquier cuerpo rígido axisimétrico si se conocen su momento de inercia, masa y radio de rodadura. Para automatización, la API cuesta $0.002 por solicitud. El mismo solucionador determinista funciona en el navegador para demostraciones, tareas y planificación experimental.
Qué puede hacer con ella
Planifique una demostración en clase
Prediga el orden de una esfera, un cilindro y un aro antes de soltarlos juntos por una misma rampa.
Compruebe ejercicios de mecánica
Verifique aceleraciones a partir de factores de inercia adimensionales y observe el efecto de la rotación sobre la traslación.
Compare distribuciones de masa propias
Clasifique ruedas diseñadas o cuerpos axisimétricos después de calcular el factor de momento de inercia de cada objeto.
Preguntas frecuentes
¿Qué cuerpo rodante llega primero?
Con las hipótesis indicadas, llega primero el cuerpo con el factor de inercia más pequeño porque posee la mayor aceleración lineal.
¿Por qué la masa y el radio no son datos de entrada?
Se cancelan al expresar el momento de inercia como I = kmr², de modo que la aceleración solo depende de la gravedad, la pendiente y k.
¿Qué ocurre si dos cuerpos tienen el mismo factor de inercia?
Reciben el mismo puesto y se identifican como empatados porque la rodadura ideal predice la misma aceleración.
¿La calculadora contempla el deslizamiento?
No. Supone fricción estática suficiente para rodar sin deslizar y no modela pérdidas de energía ni resistencia a la rodadura.
¿Puedo usar un valor de gravedad personalizado?
Sí. Indique cualquier aceleración gravitatoria finita y positiva en metros por segundo al cuadrado; la gravedad terrestre estándar es el valor predeterminado.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. La calculadora del navegador está disponible para cálculos interactivos.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/mech/rolling-race \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle_degrees":30,"shapes":[{"name":"Solid sphere","inertia_factor":0.4},{"name":"Solid cylinder","inertia_factor":0.5},{"name":"Thin hoop","inertia_factor":1}]}'const res = await fetch("https://api.kit.forhosting.com/mech/rolling-race", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle_degrees": 30,
"shapes": [
{
"name": "Solid sphere",
"inertia_factor": 0.4
},
{
"name": "Solid cylinder",
"inertia_factor": 0.5
},
{
"name": "Thin hoop",
"inertia_factor": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/rolling-race",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle_degrees": 30,
"shapes": [
{
"name": "Solid sphere",
"inertia_factor": 0.4
},
{
"name": "Solid cylinder",
"inertia_factor": 0.5
},
{
"name": "Thin hoop",
"inertia_factor": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/rolling-race", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle_degrees":30,"shapes":[{"name":"Solid sphere","inertia_factor":0.4},{"name":"Solid cylinder","inertia_factor":0.5},{"name":"Thin hoop","inertia_factor":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle_degrees":30,"shapes":[{"name":"Solid sphere","inertia_factor":0.4},{"name":"Solid cylinder","inertia_factor":0.5},{"name":"Thin hoop","inertia_factor":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/rolling-race", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"angle_degrees": 30,
"shapes": [
{
"name": "Solid sphere",
"inertia_factor": 0.4
},
{
"name": "Solid cylinder",
"inertia_factor": 0.5
},
{
"name": "Thin hoop",
"inertia_factor": 1
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.rolling_race",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_shapes | 100 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |