Calcolatore del centro di massa
Scopra dove si equilibra un insieme di masse puntiformi: masse di 2, 4 e 3 in (0, 0), (6, 0) e (0, 6) si equilibrano in (2,6666666667; 2), con una massa totale di 9. Funziona su una retta, su un piano o nello spazio. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Il centro di massa di un sistema di masse puntiformi è l'unico punto in cui l'intero sistema resterebbe in equilibrio: la media delle posizioni pesata sulle masse. Questa capability accetta un elenco di masse puntiformi con coordinate (x obbligatoria, y e z facoltative) e restituisce le coordinate esatte del centro, insieme al numero di punti e alla massa totale. Funziona in una dimensione per perline su un filo, in due dimensioni per masse su una lastra e in tre dimensioni per corpi nello spazio, sempre con la stessa formula: sommare ogni massa moltiplicata per la sua posizione e dividere per la massa totale. Una massa totale nulla rende il centro indefinito e la richiesta viene rifiutata con un chiaro errore di validazione.
Che cos'è il centro di massa e perché è importante
Nella meccanica classica il centro di massa è il punto che si muove come se tutta la massa del sistema fosse concentrata lì e tutte le forze esterne agissero su di esso. Lanci una chiave inglese in una stanza e il suo centro di massa traccia una parabola pulita, indipendentemente da come la chiave rotea. Lo stesso punto è dove una giostrina resta in piano, dove si scrivono le equazioni del moto di un razzo e dove un motore di gioco posiziona il perno di un corpo rigido.
Per un insieme di masse puntiformi discrete la definizione è una semplice media pesata: moltiplicare ogni massa per la sua posizione, sommare i prodotti e dividere per la massa totale. Ogni asse coordinato viene calcolato in modo indipendente, quindi la coordinata x del centro dipende solo dalle masse e dalle loro posizioni x, e lo stesso vale per y e z. Questo calcolatore risponde esattamente a quella domanda per sistemi 1D, 2D e 3D.
Studenti che verificano i compiti, docenti che costruiscono generatori di esercizi e sviluppatori che prototipano codice fisico cercano tutti un calcolatore del baricentro quando serve un risultato affidabile senza integrare una libreria. Le masse negative sono accettate matematicamente, il che è talvolta utile per modellare fori o contrappesi, purché la massa totale non sia zero.
Contratto di input, validazione e formula utilizzata
Ogni oggetto deve contenere mass e x; i campi y e z sono facoltativi e valgono zero per impostazione predefinita. Sono accettati sia numeri sia stringhe numeriche, e ogni valore deve essere finito. È richiesto almeno un punto e l'elenco è limitato a diecimila punti, ben oltre qualsiasi carico didattico o di scripting.
Il motore applica poi la formula standard: la massa totale M è la somma di tutte le masse e ogni coordinata del centro è la somma di massa per posizione divisa per M. Se una dimensione è assente da ogni punto viene semplicemente omessa dalla risposta, quindi un problema puramente 1D restituisce solo x, mentre qualsiasi punto con y o z porta l'output a 2D o 3D.
I risultati sono arrotondati a un numero stabile di cifre decimali affinché il rumore in virgola mobile non comprometta i controlli di uguaglianza tra motori JavaScript.
Casi d'uso
Compiti di fisica e correzione
Studenti e docenti verificano il centro di massa di sistemi di masse puntiformi in 1D, 2D o 3D senza un CAS locale né fogli di calcolo.
Posizionamento di equilibrio e perni
Trovi il punto di equilibrio di oggetti pesati su una trave, una lastra o una giostrina affinché il progetto resti in piano al primo tentativo.
Domande frequenti
Quale formula usa il calcolatore del centro di massa?
La media pesata sulle masse per asse: ogni coordinata del centro è la somma di massa per posizione divisa per la massa totale, calcolata in modo indipendente per x, y e z.
Funziona in 2D e 3D?
Sì. Solo x è obbligatoria; aggiunga y e/o z a qualsiasi punto e la risposta includerà il centro anche per quelle dimensioni.
Il calcolatore del centro di massa è gratuito?
Lo strumento nel browser funziona gratis sul Suo dispositivo.
Una massa può essere negativa?
Sì. Le masse negative sono accettate, il che aiuta a rappresentare fori o contrappesi, purché la massa totale non risulti zero, perché con un totale nullo il centro non esiste.
In cosa differisce il centro di massa dalla media semplice dei punti?
Ogni posizione viene pesata per la sua massa, quindi i punti più pesanti attirano il centro verso di sé. Nell'esempio la media semplice delle x è 2, ma il centro di massa cade in 2,6666666667 perché la massa maggiore, 4, si trova in x 6.
Strumenti correlati
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/math/center-of-mass \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points":[{"mass":2,"x":0,"y":0},{"mass":4,"x":6,"y":0},{"mass":3,"x":0,"y":6}]}'const res = await fetch("https://api.kit.forhosting.com/math/center-of-mass", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points": [
{
"mass": 2,
"x": 0,
"y": 0
},
{
"mass": 4,
"x": 6,
"y": 0
},
{
"mass": 3,
"x": 0,
"y": 6
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/center-of-mass",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points": [
{
"mass": 2,
"x": 0,
"y": 0
},
{
"mass": 4,
"x": 6,
"y": 0
},
{
"mass": 3,
"x": 0,
"y": 6
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/center-of-mass", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points":[{"mass":2,"x":0,"y":0},{"mass":4,"x":6,"y":0},{"mass":3,"x":0,"y":6}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points":[{"mass":2,"x":0,"y":0},{"mass":4,"x":6,"y":0},{"mass":3,"x":0,"y":6}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/center-of-mass", 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
{
"points": [
{
"mass": 2,
"x": 0,
"y": 0
},
{
"mass": 4,
"x": 6,
"y": 0
},
{
"mass": 3,
"x": 0,
"y": 6
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.center_of_mass",
"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_points | 10000 |
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. |
Note tecniche
Lo strumento nel browser è gratuito sul Suo dispositivo; l'API prepagata addebita $0.002 per ogni richiesta riuscita.
Contratto di input, validazione e formula utilizzata
Invii un oggetto JSON il cui campo obbligatorio points è un array di oggetti, uno per massa puntiforme. Gli alias sono accettati: l'array può chiamarsi masses, bodies o particles, e una massa può essere scritta come m, weight o w. L'unico caso matematicamente indefinito è una massa totale esattamente zero — ad esempio due masse uguali di segno opposto — perché la divisione per massa zero non ha significato; tale input fallisce con invalid_input e un messaggio chiaro, e i fallimenti di validazione non vengono mai addebitati. Non c'è alcuna libreria fisica né servizio esterno nel percorso — solo aritmetica su un isolate Worker, lo stesso codice che alimenta lo strumento gratuito nel browser.
Uso dell'API, prezzi e flussi di lavoro pratici
Usi il calcolatore gratuito del centro di massa nel browser quando vuole una risposta immediata mentre risolve un problema di fisica, bilancia un'altalena a due masse o posiziona il perno di un oggetto composto, senza installare nulla. Poiché input identici producono sempre output identici, team su continenti diversi possono verificare gli stessi valori attesi nella continuous integration senza alcuno stato condiviso. La capability non memorizza nulla: l'elenco dei punti viene elaborato in memoria e scartato, e viene restituito solo il centro calcolato. Usi l'API prepagata quando un generatore di compiti, una pipeline di simulazione, uno script di robotica o una suite di test ha bisogno dello stesso contratto deterministico con il Suo saldo KIT a $0.002 per richiesta riuscita; le richieste che falliscono la validazione non consumano nulla. La risposta è JSON strutturato e compatto: count riporta il numero di punti, total_mass indica la massa sommata e x, y, z forniscono le coordinate del centro per le dimensioni presenti nell'input. Abbini questo endpoint ai calcolatori di momento d'inerzia o di forza quando il passo successivo è la dinamica anziché la statica.
Casi di integrazione
Fixture deterministiche per codice fisico
Fissi in CI risultati del baricentro con risposta nota per un motore di gioco o una simulazione invece di reimplementare ovunque la media pesata.
Domande tecniche
Come si calcola il centro di massa di masse puntiformi?
Invii JSON con points come array di oggetti {mass, x, y?, z?}. La risposta restituisce total_mass e le coordinate del centro x (più y e z quando presenti nell'input).
Cosa succede se la massa totale è zero?
La richiesta fallisce con invalid_input perché il centro di massa è indefinito per un sistema a massa zero. I fallimenti di validazione non vengono addebitati.