Calcolatore del perimetro dell'ellisse online con formula di Ramanujan
Semiassi di 5 e 3 danno un perimetro di 25,526986, ottenuto con la formula di Ramanujan perché non esiste una formula esatta elementare. Inserisca i due semiassi in qualsiasi ordine e ottenga il contorno con sei decimali. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Semiasse maggiore
- 5
- Semiasse minore
- 3
- Perimetro
- 25,526986
A differenza dell'area, che ha una forma chiusa elegante, il perimetro di un'ellisse non ammette una formula elementare esatta: richiede un integrale ellittico completo di seconda specie. In pratica nessuno calcola quell'integrale a mano, perché l'approssimazione di Ramanujan restituisce il risultato corretto con uno scarto di una frazione infinitesima di percentuale. Lei invia il semiasse maggiore e quello minore e riceve il perimetro, calcolato in modo deterministico, con un'unica richiesta. Lo stesso codice funziona gratuitamente nel Suo browser su questa pagina.
Perché il perimetro dell'ellisse non ha una formula semplice
Tutti imparano che una circonferenza di raggio r ha perimetro 2·pi·r, ed è naturale aspettarsi qualcosa di altrettanto ordinato per l'ellisse. Non è così. Il perimetro esatto è 4·a·E(e), dove E è l'integrale ellittico completo di seconda specie ed e è l'eccentricità: una funzione che non si può scrivere usando soltanto aritmetica elementare, radici e pi greco.
Per due secoli i matematici hanno pubblicato approssimazioni, e quella che si è affermata è la seconda formula di Ramanujan: pi greco moltiplicato per la quantità tre volte la somma dei semiassi meno la radice quadrata di (3a+b)(a+3b). Il suo errore relativo nel caso peggiore è dell'ordine di pochi centomillesimi di punto percentuale, persino per ellissi estremamente schiacciate dove la maggior parte delle formule più semplici crolla rovinosamente.
Questo la rende la scelta standard nel software ingegneristico, nei kernel CAD e negli strumenti di topografia: economica da calcolare, precisa ben oltre qualsiasi misurazione realizzabile sull'oggetto fisico e priva di metodi numerici iterativi.
Input, validazione e il numero che riceve in risposta
I due semiassi non devono essere ordinati: la formula è simmetrica in a e b, dunque passarli invertiti restituisce lo stesso perimetro. Se i semiassi sono uguali l'ellisse è una circonferenza e il risultato è la circonferenza esatta, cosa che la risposta segnala esplicitamente.
Il perimetro stesso è arrotondato a sei cifre decimali affinché l'output sia identico byte per byte su macchine ed esecuzioni diverse: la stessa richiesta restituisce sempre gli stessi byte, un dettaglio importante quando si mettono in cache i risultati o si confrontano gli output in una suite di test. La risposta riporta inoltre i semiassi e il nome della formula utilizzata, così un risultato archiviato resta comprensibile da solo anche a mesi di distanza.
Dove si usa e quanto costa
I perimetri ellittici compaiono ovunque un cerchio venga stirato: la lunghezza del materiale necessario per bordare un tavolo o uno specchio ellittico, il cavo attorno a una conduttura ellittica, la saldatura di un serbatoio ovale, la traiettoria di un'orbita planetaria stimata dai suoi assi, il bordo della pista di atletica di uno stadio. La chiamata viene eseguita sulla nostra rete edge globale, non conserva nulla e non contiene alcuna casualità né dipendenza dall'orologio, quindi è sicura da memorizzare in cache.
Paghi quando automatizza — lavori in batch su cataloghi di componenti, convalide all'interno di una pipeline di progettazione oppure un'app mobile che ha bisogno della risposta senza un manuale — e nel frattempo prototipi gratuitamente.
Casi d'uso
Lunghezza del materiale per un bordo ellittico
Calcoli quanta modanatura, guarnizione o cavo serve per circondare un componente ellittico a partire dalle misure dei suoi due assi.
Verifica di un valore CAD o topografico
Verifichi il perimetro riportato dal software di progettazione con una formula indipendente e documentata prima di ordinare il materiale.
Domande frequenti
Quanto costa?
Lo stesso calcolo è gratuito nel Suo browser su questa pagina.
Quanto è accurata la formula di Ramanujan?
Il suo errore relativo nel caso peggiore è di pochi centomillesimi di punto percentuale, anche per ellissi molto schiacciate. Con assi uguali è esatta.
Devo passare prima l'asse maggiore?
No. La formula è simmetrica nei due assi, quindi invertirli restituisce lo stesso perimetro.
Il perimetro esatto è calcolabile?
Solo tramite un integrale ellittico completo di seconda specie, che non ha una forma chiusa elementare. L'approssimazione restituita qui è la risposta pratica standard del settore.
Viene conservato qualcosa?
No. L'input viene elaborato e scartato; viene restituito soltanto il risultato.
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-perimeter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"semi_major":5,"semi_minor":3}'const res = await fetch("https://api.kit.forhosting.com/math/ellipse-perimeter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"semi_major": 5,
"semi_minor": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/ellipse-perimeter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"semi_major": 5,
"semi_minor": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/ellipse-perimeter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"semi_major":5,"semi_minor":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"semi_major":5,"semi_minor":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/ellipse-perimeter", 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
{
"semi_major": 5,
"semi_minor": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.ellipse_perimeter",
"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 il perimetro dell'ellisse risponde a una delle domande più antiche e insidiose della geometria: quanto è lungo il bordo di un'ellisse?
Perché il perimetro dell'ellisse non ha una formula semplice
Questo endpoint implementa esattamente quella formula, con validazione dell'input e arrotondamento stabile, così il numero che vede qui è lo stesso che vedranno le Sue chiamate automatiche.
Input, validazione e il numero che riceve in risposta
Il calcolatore del perimetro dell'ellisse accetta due campi: semi_major e semi_minor, chiamati convenzionalmente a e b, cioè le distanze dal centro al bordo lungo l'asse più lungo e quello più corto. Entrambi devono essere numeri finiti e nessuno dei due può essere negativo: un asse negativo è un'impossibilità geometrica, quindi la richiesta viene rifiutata con un chiaro errore invalid_input che indica il campo incriminato, invece di produrre in silenzio un risultato sbagliato.
Dove si usa e quanto costa
Farlo a mano significa cercare la formula, mantenere corretta la parentesizzazione e sperare che l'eccentricità della propria forma non spinga un'approssimazione più rozza fuori tolleranza; farlo qui richiede un solo POST.
Casi di integrazione
Elaborazione batch in una pipeline
Scorra un catalogo di dimensioni ellittiche e associ un perimetro a ogni record a $0.002 per chiamata.
Domande tecniche
Cosa succede con un asse negativo?
La richiesta viene rifiutata con un errore invalid_input che indica il campo. Gli assi negativi non hanno significato geometrico.