Formule di duplicazione: calcola sin(2x), cos(2x), tan(2x) online
L'API delle formule di duplicazione valuta le tre classiche identità di duplicazione della trigonometria — seno, coseno e tangente di 2x — a partire da un singolo angolo fornito in radianti o in gradi.
Esegui gratis nel browser
Lei invia l'angolo, sceglie l'identità desiderata e riceve il valore esatto calcolato insieme alla formula che lo ha generato. Le identità applicate sono sin(2x) = 2 sin(x) cos(x), cos(2x) = cos²(x) − sin²(x) e tan(2x) = 2 tan(x) / (1 − tan²(x)). Il calcolo è completamente deterministico: nessuna tabella di approssimazione, nessun servizio esterno, solo l'identità in forma chiusa valutata in doppia precisione. Risponde in una sola chiamata a ciò che altrimenti richiederebbe una calcolatrice, un CAS o un foglio di calcolo, e funziona gratuitamente nel browser di questa pagina prima che Lei paghi $0.002 per richiesta API.
Cosa dicono realmente le formule di duplicazione
Le formule di duplicazione riscrivono le funzioni trigonometriche di un angolo raddoppiato, 2x, unicamente in termini di funzioni dell'angolo originale x. Per il seno, l'identità è sin(2x) = 2 sin(x) cos(x), che discende direttamente dalla formula di addizione del seno con entrambi gli addendi uguali. Per il coseno, la forma principale è cos(2x) = cos²(x) − sin²(x), comunemente riscritta nelle due varianti equivalenti 1 − 2 sin²(x) e 2 cos²(x) − 1 applicando l'identità pitagorica. Per la tangente, l'identità è tan(2x) = 2 tan(x) / (1 − tan²(x)), valida ovunque il denominatore sia diverso da zero. Questa funzionalità accetta un angolo — espresso in radianti per impostazione predefinita, oppure in gradi se richiesto — e valuta esattamente una di queste tre identità, restituendo il valore numerico insieme alla formula utilizzata. L'angolo deve essere un numero finito: NaN, infiniti, stringhe non interpretabili come numeri e valori mancanti vengono tutti rifiutati con un errore chiaro anziché convertiti silenziosamente, perché una conversione implicita è esattamente il tipo di bug che corrompe un calcolo a valle.
Come funziona la valutazione e dove si trovano i casi limite
Internamente, l'angolo fornito viene prima normalizzato in radianti, perché Math.sin, Math.cos e Math.tan di JavaScript operano tutti sui radianti; un valore in gradi viene semplicemente moltiplicato per π/180. Poi il seno e il coseno dell'angolo vengono calcolati una sola volta, e l'identità richiesta viene composta a partire da essi. Per sin(2x) e cos(2x) non serve altro: le identità sono definite per ogni angolo finito e il risultato è un numero in virgola mobile stabile, leggermente arrotondato a dieci cifre decimali affinché chiamate ripetute su macchine diverse producano un output identico byte per byte. La tangente è diversa perché presenta una vera restrizione di dominio: tan(x) non è definita dove cos(x) vale zero, e tan(2x) non è definita ovunque 1 − tan²(x) valga zero, il che accade quando 2x è un multiplo dispari di π/2. Invece di restituire un numero enorme o infinito che sembra un risultato, la funzionalità rileva questi casi con un controllo esplicito e restituisce un errore descrittivo di input non valido che spiega che la tangente non è definita per quell'angolo.
Quando è utile una valutazione programmatica della duplicazione
La maggior parte delle persone incontra le formule di duplicazione in un corso di analisi o di fisica, ma la versione programmatica si rivela preziosa nell'automazione. Il codice di elaborazione dei segnali che sintetizza o analizza forme d'onda ha spesso bisogno di sin(2x) e cos(2x) quando lavora con le armoniche; una pipeline di robotica o di grafica può servirsene nella composizione delle rotazioni; e una piattaforma didattica può aver bisogno di un oracolo affidabile e deterministico con cui valutare le risposte degli studenti. Poiché lo stesso codice che risponde alle chiamate API gira gratuitamente anche nel widget del browser su questa pagina, Lei può convalidare un valore atteso in modo interattivo e poi incorporare l'identico calcolo in uno script, in un controllo CI o in un sistema di compiti senza alcun rischio che i due ambienti non concordino. Il prezzo è semplice: $0.002 per richiesta tramite l'API, senza sovrapprezzi per unità, mentre la versione del browser è gratuita per l'uso interattivo. La funzionalità non mantiene stato tra le chiamate, non effettua accessi di rete e non archivia nulla: l'angolo entra, il valore dell'identità esce, e questa è l'intera transazione.
Casi d'uso
Verificare una risposta dei compiti di trigonometria
Confronti un sin(2x), cos(2x) o tan(2x) calcolato con un oracolo deterministico invece di fidarsi di un calcolo manuale.
Calcolare termini armonici nel codice dei segnali
Valuti sin(2x) o cos(2x) per la seconda armonica di una forma d'onda partendo dall'angolo fondamentale, in radianti o gradi.
Valutare automaticamente gli elaborati degli studenti
Invii lo stesso angolo all'API e confronti il valore restituito con la risposta dello studente entro una tolleranza.
Domande frequenti
Quanto costa?
$0.002 per richiesta API. Lo stesso calcolo è gratuito nel browser di questa pagina.
Quali unità accetta l'angolo?
Radianti per impostazione predefinita, oppure gradi quando l'unità è impostata su degrees. I valori in gradi vengono convertiti internamente in radianti prima della valutazione dell'identità.
Quali identità sono supportate?
sin(2x) = 2 sin(x) cos(x), cos(2x) = cos²(x) − sin²(x) e tan(2x) = 2 tan(x) / (1 − tan²(x)), selezionabili con il campo identity.
Cosa succede se l'angolo non è un numero?
La richiesta viene rifiutata con un errore di input non valido. NaN, infiniti e stringhe non interpretabili non vengono mai convertiti silenziosamente in un risultato.
Cosa succede dove tan(2x) non è definita?
Riceve un errore descrittivo di input non valido che spiega che la tangente non è definita per quell'angolo, invece di un numero infinito o fuorviante.
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/double-angle-formula \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle":30}'const res = await fetch("https://api.kit.forhosting.com/math/double-angle-formula", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/double-angle-formula",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/double-angle-formula", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/double-angle-formula", 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
{
"angle": 30
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.double_angle_formula",
"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. |