Calcolatore collisione 2D
Questo calcolatore di collisione bidimensionale trova l'unico vettore di velocità finale comune dopo che due corpi si uniscono in una collisione planare perfettamente anelastica.
Esegui gratis nel browser
Lei fornisce le due masse e le componenti cartesiane della velocità iniziale di ciascun corpo; il motore applica la conservazione della quantità di moto separatamente sull'asse x e sull'asse y e restituisce v_fx uguale a parentesi aperta m1 per v1x più m2 per v2x parentesi chiusa diviso parentesi aperta m1 più m2 parentesi chiusa, e la stessa forma per v_fy con le componenti y. In questo modello l'energia cinetica non si conserva: solo il vettore quantità di moto, che è la definizione da manuale di un evento perfettamente anelastico in due dimensioni. Le componenti di velocità possono essere positive o negative per codificare la direzione nel piano; le masse devono essere non negative, e la massa totale non deve essere zero altrimenti la velocità finale è indefinita. L'aritmetica è pienamente deterministica, senza chiamate di rete, senza campionamento e senza scorciatoie dipendenti dalla data. La usi gratis nel browser per compiti, preparazione di laboratorio ed esercizi di gara, oppure chiami l'API a $0.002 per richiesta andata a buon fine quando le servono fixture riproducibili di collisione bidimensionale in CI, software di tutoraggio o demo didattiche.
Come si usa
Inserisci i dati nel modulo qui sopra. Lo strumento li controlla prima del calcolo e mostra il risultato nella stessa pagina.
Controlla i dati
Segui le etichette e le unità indicate per ogni campo. Se manca qualcosa o un valore non è ammesso, la pagina indica cosa correggere.
Ripeti il calcolo o automatizzalo
Usa lo strumento web per controlli singoli e l’API quando vuoi integrare la stessa capacità in un flusso automatizzato.
Casi d'uso
Ottieni subito una risposta
Inserisci una serie di valori e visualizza il risultato senza preparare un foglio di calcolo o uno script.
Confronta gli scenari
Modifica un valore alla volta e ripeti il calcolo per capire cosa cambia il risultato.
Automatizza le attività ripetute
Usa l’API quando lo stesso calcolo deve essere eseguito nel tuo prodotto o flusso.
Domande frequenti
Come si usa questa capacità?
Compila i campi qui sopra ed eseguila in questa pagina. Il modulo segnala i dati da correggere.
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/two-body-collision-2d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}'const res = await fetch("https://api.kit.forhosting.com/mech/two-body-collision-2d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/two-body-collision-2d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/two-body-collision-2d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/two-body-collision-2d", 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
{
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.two_body_collision_2d",
"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_abs_mass | 1000000000000000 |
max_abs_velocity | 1000000000000000 |
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. |