Calcolatrice di circonferenza dell'ellisse
Un'ellisse con semiassi 5 e 3 ha una circonferenza di 25,526986, secondo la formula di Ramanujan del 1914. Inserisca i due semiassi nella stessa unità, dimezzando prima una larghezza completa, e ottenga la lunghezza del contorno in quell'unità. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- A
- 5
- B
- 3
- Circonferenza
- 25,526986
Lei invia il semiasse maggiore a e il semiasse minore b, e riceve la circonferenza calcolata con la celebre approssimazione di Ramanujan, precisa entro una frazione infima del percento per qualsiasi forma realistica. Entrambi gli assi devono essere numeri positivi, il risultato mantiene l'unità di misura utilizzata e può scegliere quante cifre decimali ricevere.
Perché la circonferenza di un'ellisse è difficile
La circonferenza di un cerchio è semplicemente pi greco per il diametro, ma appena si allunga quel cerchio fino a ottenere un'ellisse la formula smette di esistere. La risposta esatta è un integrale ellittico di seconda specie, una funzione che non ammette un'espressione in termini elementari, ed è per questo che ingegneri e scienziati si affidano ad approssimazioni da secoli.
La più famosa fu pubblicata da Srinivasa Ramanujan nel 1914: C è approssimativamente pi greco per la quantità 3(a+b) meno la radice quadrata di (3a+b)(a+3b), dove a e b sono i semiassi. La formula è straordinariamente precisa: per ellissi moderatamente allungate l'errore è ben al di sotto di un millesimo di percento, e anche per quelle estremamente schiacciate resta nettamente sotto l'uno per cento.
Questa combinazione di semplicità e precisione è il motivo per cui questo calcolatore della circonferenza dell'ellisse la utilizza: ottiene un numero affidabile, calcolato in modo deterministico, senza il macchinario dell'integrazione numerica.
Come misurare a e b
I due input sono i semiassi, non le larghezze complete. Se la sua ellisse è descritta da larghezza e altezza complessive — supponiamo che l'ovale di una pista di atletica sia lungo 100 metri e largo 60 — divida prima ciascun valore per due: a è 50 e b è 30. Il semiasse maggiore a è metà del diametro più lungo e il semiasse minore b è metà del più corto, ma la formula è simmetrica, quindi scambiarli non cambia nulla.
Entrambi i valori devono essere numeri finiti positivi nella stessa unità, e la circonferenza viene restituita in quell'unità: centimetri in ingresso, centimetri in uscita.
Precisione, arrotondamento e contesti d'uso
Per ellissi molto allungate — pensi a un rapporto tra gli assi di cento a uno — la prima approssimazione di Ramanujan è ancora precisa entro poche parti per milione, il che copre ampiamente orbite, piste, archi architettonici, ottica e tolleranze di lavorazione; se mai Le servisse di più, esiste il suo secondo raffinamento, ma in pratica nessuno vi ricorre.
Gli utilizzatori tipici sono pipeline geometriche che normalizzano forme, strumenti CAD e CNC che stimano lunghezze di taglio o consumo di materiale, codice fisico che traccia percorsi orbitali e strumenti didattici che mostrano perché una curva dall'aspetto così semplice ha resistito così a lungo a una forma chiusa.
Casi d'uso
Stimare il materiale per un taglio ellittico
Inserisca i semiassi di un piano di tavolo o di una guarnizione ellittica e ottenga la lunghezza del bordo per ordinare profili, sigillanti o bordature.
Normalizzare forme in una pipeline geometrica
Associ un perimetro a ogni ellisse rilevata nell'elaborazione di immagini o CAD senza integrare una libreria di integrazione numerica.
Insegnare o verificare geometria orbitale e di piste
Verifichi compiti, distanze dei giri in pista o lunghezze di orbite rispetto a un valore di riferimento deterministico.
Domande frequenti
Quanto costa?
L'esecuzione è gratuita anche nel browser su questa pagina, con esattamente lo stesso risultato.
Quanto è precisa la formula di Ramanujan?
Per la maggior parte delle ellissi l'errore è ben al di sotto di un millesimo di percento; anche con rapporti estremi tra gli assi di 100:1 resta entro poche parti per milione.
Devo inviare la larghezza completa o il semiasse?
I semiassi: metà del diametro più lungo (a) e metà del più corto (b). Divida prima larghezza e altezza complete per due.
In quale unità è il risultato?
Nell'unità in cui ha misurato gli assi. Il calcolo è indipendente dall'unità: centimetri in ingresso, centimetri in uscita.
Quali input vengono rifiutati?
Assi mancanti, nulli, negativi, non numerici o non finiti, e un valore decimals che non sia un intero tra 0 e 12.
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/ellipse-circumference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":5,"b":3}'const res = await fetch("https://api.kit.forhosting.com/math/ellipse-circumference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 5,
"b": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/ellipse-circumference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 5,
"b": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/ellipse-circumference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":5,"b":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":5,"b":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/ellipse-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
{
"a": 5,
"b": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.ellipse_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. |
Note tecniche
L'API per la circonferenza dell'ellisse risponde a una domanda che non ha una soluzione elementare in forma chiusa: quanto è lungo il bordo di un'ellisse? L'esecuzione è gratuita nel browser su questa pagina e costa $0.002 per richiesta quando la automatizza tramite l'API.
Come misurare a e b
Un caso degenere che vale la pena conoscere è a uguale a b, ovvero semplicemente un cerchio; la formula si riduce allora esattamente a 2·pi greco·a, il che rende l'endpoint una soluzione sicura ovunque Lei calcoli già perimetri di cerchi ma riceva occasionalmente forme ellittiche. Assi negativi, nulli o non numerici vengono rifiutati con un chiaro errore invalid_input.
Precisione, arrotondamento e contesti d'uso
Ogni chiamata è un singolo calcolo stateless senza conservazione di dati, fatturato a $0.002 per richiesta.
Domande tecniche
Cosa succede se a è uguale a b?
Quello è un cerchio, e la formula si riduce esattamente a 2·pi greco·a, quindi l'endpoint gestisce correttamente anche i cerchi.