Calcolatore di circonferenza
Il calcolatore di circonferenza prende il diametro di un cerchio e restituisce la lunghezza del suo contorno, usando la relazione esatta C = pi * d.
Esegui gratis nel browser
Invia un numero e ne riceve uno, nella stessa unità di partenza: se inserisce millimetri ottiene millimetri, se inserisce miglia ottiene miglia. Non c'è alcuna politica di arrotondamento da configurare né approssimazioni nascoste oltre al valore di pi greco in doppia precisione presente in ogni runtime moderno, quindi il risultato è deterministico e riproducibile ovunque. Lo stesso codice che gira sul nostro edge gira gratis nel suo browser: lo strumento web gratuito e l'API a pagamento non possono mai discordare. Lo usi per componenti, ruote, anelli, tubi, piste e per qualsiasi oggetto di cui conosce la misura nel mezzo e di cui le serve il perimetro.
Perché il diametro e non il raggio
La maggior parte delle formule scolastiche scrive la circonferenza come due pi greco r, basata sul raggio. In officina e sul campo, però, quasi nessuno misura direttamente un raggio: si misura da un lato all'altro del cerchio con un calibro, un metro a nastro o un laser, perché il diametro è la dimensione che si può davvero toccare. Il calcolatore di circonferenza è costruito su questa realtà. Accetta il diametro così com'è misurato e lo moltiplica per pi greco, il che è algebricamente identico alla forma due pi greco r ma salta la divisione per due, che aggiunge un punto in più dove sbagliare. Se invece ha in mano un raggio, lo raddoppi prima di chiamare il servizio, oppure usi uno strumento basato sul raggio. Se ha la circonferenza e vuole risalire al diametro, quel problema inverso appartiene a un'altra capability. Un solo input e un solo compito rendono il contratto banale da testare: entra un numero positivo e finito, esce la lunghezza del contorno, e tutto il resto — zero, un valore negativo, un campo mancante, una stringa che non è un numero — viene rifiutato come input non valido prima di qualsiasi calcolo.
Come viene calcolato il numero
Il calcolo è un'unica moltiplicazione: il diametro, validato come numero positivo e finito, per Math.PI, la costante in doppia precisione disponibile in ogni motore JavaScript. Non ci sono sviluppi in serie, tabelle di consultazione né approssimazioni iterative, quindi il risultato non può variare tra esecuzioni, tra server o tra browser e API. Il risultato viene poi arrotondato a sei cifre decimali prima di essere restituito. Questo arrotondamento è una scelta deliberata di stabilità, non una dichiarazione di precisione: la moltiplicazione in virgola mobile può produrre oscillazioni sull'ultima cifra da una CPU all'altra, e un esempio di riferimento confrontato byte per byte fallirebbe su una macchina diversa per un motivo che non ha nulla a che vedere con la correttezza. Sei decimali vanno ben oltre ciò che qualsiasi misura fisica di un diametro giustifichi: un calibro preciso al centesimo di millimetro vincola la circonferenza molto più di quanto faccia pi greco. Le unità passano inalterate: lo strumento non converte mai, quindi l'unità del suo diametro è l'unità della risposta, e convertire prima le unità è una sua scelta.
Dove si inserisce nel lavoro reale
La geometria a valore singolo sembra banale finché non finisce dentro una pipeline che consuma migliaia di misurazioni. Una stazione di taglio che trasforma le letture dei diametri in lunghezze di nastri o strisce, uno strumento di preventivazione che calcola il prezzo del materiale circolare in base al perimetro, un controllo di tolleranza che confronta un albero misurato con una fascia espressa come circonferenza: tutti chiamano questo endpoint come un passo deterministico che non devono mai reimplementare né ritestare. Poiché la capability è un worker puro di parsing, senza chiamate di rete, segreti o stato condiviso, si comporta in modo identico con una richiesta o con diecimila, e il suo costo è fisso: $0.002 a richiesta, senza sovrapprezzi per unità. La versione gratuita nel browser esegue lo stesso modulo, quindi un tecnico può verificare manualmente un valore prima di collegare l'API in produzione, con la certezza che entrambi i percorsi restituiscano lo stesso numero. Un input che non è un numero positivo e finito fallisce con un errore di input non valido e non viene addebitato, il che rende l'endpoint sicuro da esporre direttamente a invii di moduli non attendibili.
Casi d'uso
Tagliare materiale per rivestire un cilindro
Trasformi il diametro misurato di un tubo o di un fusto nella lunghezza esatta della striscia necessaria per rivestirlo una volta, prima di avviare la sega.
Prezzare componenti circolari in base al perimetro
Alimenti una pipeline di preventivazione con i diametri di una distinta, per fatturare guarnizioni, anelli e tenute in base alla lunghezza del contorno.
Verificare le specifiche di una ruota o puleggia
Controlli che il diametro dichiarato di una ruota implichi la distanza di rotolamento attesa da una trasmissione o da un contachilometri.
Domande frequenti
Quanto costa?
$0.002 a richiesta, senza sovrapprezzi per unità. È anche gratuito nel browser, con esattamente lo stesso codice.
Che tipo di input accetta?
Un solo campo, diameter, come numero positivo e finito o stringa numerica. Zero, negativi, non numeri e valori mancanti vengono rifiutati come input non valido.
In quale unità è il risultato?
Nella stessa unità del diametro inviato. Lo strumento non converte mai le unità: si limita a moltiplicare per pi greco.
Quanto è preciso il risultato?
Usa il valore di pi greco in doppia precisione e arrotonda a sei cifre decimali, ben oltre la precisione di qualsiasi misura fisica del diametro.
Posso passare il raggio?
Questa capability accetta solo il diametro. Raddoppi prima il raggio, oppure usi un calcolatore di cerchi basato sul raggio dal catalogo.
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/circumference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":10}'const res = await fetch("https://api.kit.forhosting.com/math/circumference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/circumference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/circumference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/circumference", 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
{
"diameter": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circumference",
"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. |