Gara di corpi rotolanti
Il calcolatore della gara tra corpi rotolanti prevede quali solidi rigidi raggiungono per primi il fondo dello stesso piano inclinato quando rotolano senza slittare.
Esegui gratis nel browser
Inserisca l’angolo della pendenza e il fattore d’inerzia adimensionale di ogni corpo, k = I/(mr²). Otterrà l’ordine fisico di arrivo, l’accelerazione lineare di ciascun concorrente e l’indicazione delle parità esatte. Può quindi confrontare sfere, cilindri, anelli o distribuzioni di massa personalizzate senza indicare massa, raggio o lunghezza della rampa.
Imposti una gara di rotolamento equa
Un confronto valido colloca tutti i corpi sullo stesso piano inclinato rettilineo e presuppone rotolamento puro senza slittamento. Inserisca l’angolo della rampa misurato dall’orizzontale, quindi aggiunga una riga per ogni concorrente. Ogni riga richiede un nome univoco e un fattore d’inerzia k, definito come il momento d’inerzia rispetto all’asse di rotazione diviso per la massa moltiplicata per il raggio al quadrato: k = I/(mr²). I corpi ideali più noti hanno fattori pratici: una sfera piena vale 2/5, un cilindro o disco pieno 1/2 e un anello sottile 1. Il calcolatore non richiede masse o raggi individuali, perché si semplificano nell’equazione ideale. La gravità predefinita è quella terrestre standard, ma Lei può modificarla per un esperimento mentale o un altro mondo. Tutti i concorrenti devono condividere gravità e pendenza. Perdite superficiali, resistenza dell’aria, deformazione, attrito dell’asse e spinta iniziale non rientrano nel modello; mantenga condizioni coerenti nel confronto con una prova reale.
Interpreti accelerazione e ordine d’arrivo
Quando un corpo rotola senza slittare, l’energia potenziale gravitazionale si divide tra la traslazione del centro di massa e la rotazione attorno a esso. Il calcolatore applica a = g sin(θ)/(1 + k), dove g è l’accelerazione gravitazionale, θ l’angolo del piano e k il fattore d’inerzia. Un k minore lascia una quota maggiore di energia al moto traslatorio e genera un’accelerazione lineare superiore. Per questo, sulla stessa rampa, una sfera piena ideale precede un cilindro pieno, che a sua volta precede un anello sottile. I risultati sono ordinati dall’accelerazione maggiore alla minore. Fattori uguali ricevono la stessa posizione e sono contrassegnati come pari, perché l’equazione ideale prevede accelerazioni identiche; l’ordine d’inserimento viene mantenuto soltanto per rendere deterministico il JSON. A 0 gradi tutte le accelerazioni sono nulle. Il valore mostrato è arrotondato a nove decimali, mentre la classifica usa i fattori originali.
Usi il risultato con consapevolezza
L’elenco ordinato risponde a un problema di meccanica ideale, non a ogni dettaglio di una gara in laboratorio. Se i concorrenti partono da fermi nello stesso punto, percorrono la stessa distanza e mantengono un’accelerazione costante, l’ordine delle accelerazioni coincide con quello d’arrivo. La lunghezza della rampa non serve quindi per la classifica, anche se sarebbe necessaria per calcolare i tempi. Gli oggetti reali possono discostarsi dalla previsione se slittano, oscillano, rimbalzano, incontrano resistenza al rotolamento o subiscono una resistenza aerodinamica rilevante. Prima di applicare un fattore tabulato, verifichi che asse di rotazione e modello di massa corrispondano all’oggetto: un cilindro a parete spessa non equivale a un anello sottile. Un fattore personalizzato può rappresentare qualsiasi corpo rigido assialsimmetrico se sono noti momento d’inerzia, massa e raggio di rotolamento. Per l’automazione, l’API costa $0.002 per richiesta. Lo stesso risolutore deterministico funziona nel browser per dimostrazioni, esercizi e pianificazione sperimentale.
Casi d'uso
Prepari una dimostrazione in classe
Preveda l’ordine di una sfera, un cilindro e un anello prima di lasciarli partire insieme sulla stessa rampa.
Controlli esercizi di meccanica
Verifichi le accelerazioni dai fattori d’inerzia adimensionali e osservi come la rotazione modifica la traslazione.
Confronti distribuzioni di massa proprie
Classifichi ruote progettate o corpi assialsimmetrici dopo aver calcolato il fattore del momento d’inerzia di ciascun oggetto.
Domande frequenti
Quale corpo rotolante arriva per primo?
Con le ipotesi indicate, arriva prima il corpo con il fattore d’inerzia più piccolo, perché possiede la maggiore accelerazione lineare.
Perché massa e raggio non sono richiesti?
Si semplificano quando il momento d’inerzia viene espresso come I = kmr², lasciando l’accelerazione dipendente da gravità, pendenza e k.
Che cosa accade se due corpi hanno lo stesso fattore d’inerzia?
Ricevono la stessa posizione e sono indicati come pari, perché il rotolamento ideale prevede la stessa accelerazione.
Il calcolatore considera lo slittamento?
No. Presuppone attrito statico sufficiente per rotolare senza slittare e non modella perdite di energia o resistenza al rotolamento.
Posso usare un valore di gravità personalizzato?
Sì. Inserisca qualsiasi accelerazione gravitazionale finita e positiva in metri al secondo quadrato; la gravità terrestre standard è il valore predefinito.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolatore nel browser è disponibile per calcoli interattivi.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"angle_degrees": 30,
"shapes": [
{
"name": "Solid sphere",
"inertia_factor": 0.4
},
{
"name": "Solid cylinder",
"inertia_factor": 0.5
},
{
"name": "Thin hoop",
"inertia_factor": 1
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.rolling_race",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_shapes | 100 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |