Conservazione della quantità di moto 1D
Questo calcolatore della conservazione della quantità di moto in 1D determina la velocità finale incognita del secondo oggetto quando sono note entrambe le masse, le due velocità iniziali e la velocità finale del primo oggetto.
Esegui gratis nel browser
Uguaglia la quantità di moto totale prima e dopo l'evento, rispettando i segni delle velocità lungo un asse scelto. Lei può usare qualsiasi coppia coerente di unità di massa e velocità. Il risultato mantiene l'unità di velocità fornita e riporta anche i totali iniziale e finale per verificare il bilancio.
Imposti un problema monodimensionale
Scelga innanzitutto un verso positivo e mantenga tale convenzione per tutte le velocità. Il moto nel verso opposto richiede un segno negativo, mentre un oggetto fermo ha velocità zero. Inserisca mass_1 e mass_2 nella stessa unità di massa, poi initial_velocity_1, initial_velocity_2 e la final_velocity_1 nota nella stessa unità di velocità. Il calcolatore ricava precisamente final_velocity_2. Non presume che gli oggetti restino uniti, rimbalzino o si scambino le velocità, perché tali comportamenti dipendono da ulteriori dettagli dell'urto. Entrambe le masse devono essere finite e diverse da zero. Nelle normali applicazioni fisiche dovrebbero inoltre essere positive, anche se il calcolo applica la regola richiesta della massa non nulla. Prima di procedere, disegni una freccia per l'asse positivo e annoti il segno di ogni velocità. Eviterà così l'errore più comune: inserire soltanto i moduli perdendo l'informazione sulla direzione. Chilogrammi e metri al secondo, oppure qualsiasi altra coppia coerente, vanno bene; non mescoli le unità nello stesso calcolo.
Comprenda l'equazione di conservazione
Il calcolo parte da m1 per v1i più m2 per v2i uguale a m1 per v1f più m2 per v2f. I termini a sinistra rappresentano le quantità di moto iniziali e quelli a destra le quantità finali. Isolando l'incognita si ottiene v2f = (m1*v1i + m2*v2i - m1*v1f) / m2. Lo strumento valuta direttamente questa espressione chiusa in modo deterministico. Un risultato negativo non è un errore: indica che l'oggetto 2 termina il moto nel verso opposto a quello positivo scelto. Un risultato pari a zero significa che la sua quantità di moto finale è nulla. Oltre a final_velocity_2, la risposta contiene initial_momentum e final_momentum. Questi totali devono coincidere, salvo un arrotondamento stabile in virgola mobile, perché la velocità calcolata viene reinserita nel totale finale. L'unità della quantità di moto combina massa e velocità, mentre la risposta conserva la scala di velocità immessa. Se il valore sorprende, controlli prima i segni e poi la coerenza delle unità.
Usi il risultato entro i limiti del modello
La conservazione della quantità di moto vale per un sistema isolato o per un intervallo nel quale l'impulso esterno sia trascurabile. Il metodo è quindi adatto a urti didattici, carrelli su piste a basso attrito, rinculo idealizzato e controlli preliminari di misure sperimentali. Da solo non determina la perdita di energia, la durata dell'urto, la deformazione, la forza d'impatto o la compatibilità con ulteriori vincoli fisici. Un urto elastico richiede anche la conservazione dell'energia cinetica; se i corpi restano uniti, le velocità finali devono coincidere. Questo calcolatore non impone tali condizioni, poiché Lei fornisce una velocità finale e richiede l'altra. Interpreti il risultato in base alla precisione delle misure: più cifre non correggono masse incerte o velocità rumorose. Nelle automazioni conservi gli input con segno e confronti i due totali restituiti. Una massa nulla viene rifiutata perché la divisione per mass_2 sarebbe indefinita e mass_1 nulla esce dal modello supportato. I singoli casi si calcolano nel browser; ogni richiesta API automatizzata costa $0.002.
Casi d'uso
Analizzare un urto tra carrelli
Ricavi la velocità finale con segno del secondo carrello da masse e velocità misurate.
Controllare dati di laboratorio
Confronti i totali ricostruiti per individuare errori di segno, unità o trascrizione.
Preparare esercizi di fisica
Generi e verifichi problemi monodimensionali con una sola velocità finale incognita.
Domande frequenti
Quale equazione usa il calcolatore?
Isola v2f in m1*v1i + m2*v2i = m1*v1f + m2*v2f.
Che cosa indica una velocità finale negativa?
L'oggetto 2 si muove nel verso opposto a quello che Lei ha definito positivo; non è un errore.
Quali unità devo usare?
Adoperi una sola unità per entrambe le masse e un'altra coerente per tutte le velocità. La risposta mantiene tale unità di velocità.
Perché le masse nulle vengono rifiutate?
Una seconda massa nulla rende indefinita la formula e qualsiasi massa nulla esce dal modello a due corpi supportato.
Si presume un urto elastico?
No. Si conserva soltanto la quantità di moto; l'elasticità richiederebbe anche l'energia cinetica. Ogni richiesta API costa $0.002 e il calcolo nel browser è disponibile.
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/conservation-momentum-1d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass_1":2,"initial_velocity_1":3,"mass_2":1,"initial_velocity_2":-1,"final_velocity_1":1}'const res = await fetch("https://api.kit.forhosting.com/mech/conservation-momentum-1d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass_1": 2,
"initial_velocity_1": 3,
"mass_2": 1,
"initial_velocity_2": -1,
"final_velocity_1": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/conservation-momentum-1d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass_1": 2,
"initial_velocity_1": 3,
"mass_2": 1,
"initial_velocity_2": -1,
"final_velocity_1": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/conservation-momentum-1d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass_1":2,"initial_velocity_1":3,"mass_2":1,"initial_velocity_2":-1,"final_velocity_1":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass_1":2,"initial_velocity_1":3,"mass_2":1,"initial_velocity_2":-1,"final_velocity_1":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/conservation-momentum-1d", 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
{
"mass_1": 2,
"initial_velocity_1": 3,
"mass_2": 1,
"initial_velocity_2": -1,
"final_velocity_1": 1
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.conservation_momentum_1d",
"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.
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. |