Formule de Bretschneider : aire du quadrilatère (côtés et angles)
Obtenez l'aire de toute figure à quatre côtés avec ses côtés et une paire d'angles opposés : quatre côtés de 2 avec des angles opposés droits donnent une aire de 4. Si ces angles totalisent 180°, on retrouve la formule de Brahmagupta. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- A
- 2
- B
- 2
- C
- 2
- D
- 2
- Alpha
- 90
- Gamma
- 90
- Unité d'angle
- deg
- Périmètre
- 8
- Demi-périmètre
- 4
- Aire
- 4
La formule de Bretschneider est l'expression fermée classique de l'aire d'un quadrilatère général lorsque vous connaissez les quatre longueurs de côtés et une paire d'angles intérieurs opposés, sans avoir besoin de coordonnées, de hauteurs ni de diagonales. Les géomètres qui arpentent un lot irrégulier à quatre côtés, les élèves qui vérifient des exercices sur des quadrilatères non cycliques, et les chaînes CAD ou de jeux qui stockent des longueurs d'arêtes plus des angles de coin peuvent tous calculer l'aire au sol en une seule étape déterministe. Cette capacité vérifie que chaque côté est plus court que la somme des trois autres, convertit les angles depuis les degrés ou les radians, forme le demi-périmètre, soustrait le terme cosinus au carré de la moitié de la somme des angles opposés, et renvoie la racine carrée positive lorsque la configuration est géométriquement possible.
Ce qu'est la formule de Bretschneider et comment les nombres fonctionnent
La formule de Bretschneider généralise celle de Brahmagupta des quadrilatères cycliques à tout quadrilatère simple. Formez le demi-périmètre s égal à la moitié de la somme des quatre côtés. Lorsque les deux angles opposés totalisent cent quatre-vingts degrés, le cosinus de quatre-vingt-dix degrés est zéro, le second terme s'annule et la formule se réduit exactement au produit de Brahmagupta sous une seule racine carrée — le cas particulier cyclique.
Un carré unitaire de côtés un et d'angles droits quatre-vingt-dix et quatre-vingt-dix donne une aire un ; un rectangle trois par quatre avec côtés trois, quatre, trois, quatre et les mêmes angles opposés droits donne une aire douze, qui coïncide avec base fois hauteur. Un losange de côtés égaux à cinq et d'angles opposés de soixante et soixante degrés donne une aire égale au côté au carré fois le sinus de l'angle inclus, ce qui coïncide avec le radical de Bretschneider après application du terme cosinus.
Si le radicande est négatif, aucun quadrilatère réel ne réalise ces mesures et l'outil rejette la requête plutôt que d'inventer une aire. Chaque étape est de l'arithmétique élémentaire plus un cosinus et une racine carrée, de sorte que le résultat est entièrement déterministe et libre d'itération, d'échantillonnage ou de dépendance à l'horloge.
Conseils pratiques, limites et recherches associées
Pour l'enseignement, préférez des exemples appariés : un carré ou un rectangle pour retrouver la vérification familière base fois hauteur lorsque les angles opposés sont droits ; un losange aux côtés égaux et aux angles opposés aigus égaux pour croiser avec le côté au carré fois le sinus ; et un ensemble volontairement impossible de côtés ou d'angles pour démontrer le rejet strict qui protège les appelants d'une entrée non physique.
Cette page cible les personnes qui cherchent un calculateur de la formule de Bretschneider ou un outil d'aire de quadrilatère général à partir de côtés et d'angles opposés. Ce n'est pas un solveur de lacet de chaussure par coordonnées — utilisez la capacité d'aire de quadrilatère dédiée lorsque vous avez déjà des coordonnées de sommets ordonnées au lieu de côtés et d'angles. Préférez Bretschneider lorsque vous avez mesuré ou reçu quatre arêtes et deux coins opposés sans diagonale ni hauteur fiables.
Les vérifications aller-retour sont simples : après résolution, confirmez que le périmètre égale la somme des quatre côtés, que le demi-périmètre en est la moitié, et qu'élever au carré l'aire renvoyée retrouve le radicande de Bretschneider dans la tolérance flottante lorsque vous recalculez le terme cosinus à la main.
Cas d’usage
Arpentage et métré de lots irréguliers
Transformez des bords mesurés à pas et des angles de coins opposés d'un terrain à quatre côtés en aire de sol ou de plancher sans construire de diagonales ni poser une grille de coordonnées.
Validation CAD, jeux et maillages
Validez une face quadrilatère ou calculez l'aire de surface lorsque le graphe de scène stocke des longueurs d'arêtes et une paire d'angles intérieurs opposés plutôt que des coordonnées de sommets complètes.
Questions fréquentes
Quel est le lien avec la formule de Brahmagupta ?
Lorsque les angles opposés totalisent 180° (quadrilatère cyclique), le terme cosinus est nul et Bretschneider se réduit à Brahmagupta : aire = sqrt((s−a)(s−b)(s−c)(s−d)).
Quels angles dois-je saisir ?
Ordonnez les côtés a, b, c, d autour du contour afin que les angles se trouvent aux coins opposés corrects.
Le calculateur de la formule de Bretschneider est-il gratuit ?
L'outil du navigateur est gratuit et s'exécute en local.
Comment calcule-t-on l'aire d'un quadrilatère avec la formule de Bretschneider ?
On additionne les quatre côtés et on divise par deux pour obtenir le demi-périmètre s, on multiplie (s−a)(s−b)(s−c)(s−d), puis on retranche abcd fois le cosinus au carré de la demi-somme des angles opposés. L'aire est la racine du résultat.
Pourquoi le calculateur refuse-t-il mes mesures ?
Parce qu'aucun quadrilatère réel ne les respecte. Chaque côté doit être plus court que la somme des trois autres, et côtés et angles doivent laisser une valeur positive sous la racine ; sinon, vous recevez un refus clair, jamais une aire inventée.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/geom/bretschneider-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}'const res = await fetch("https://api.kit.forhosting.com/geom/bretschneider-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/bretschneider-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/bretschneider-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":3,"b":4,"c":5,"d":6,"alpha":90,"gamma":90}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/bretschneider-area", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"a": 3,
"b": 4,
"c": 5,
"d": 6,
"alpha": 90,
"gamma": 90
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.bretschneider_area",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les combinaisons côtés-angles impossibles et les cas dégénérés d'aire nulle renvoient invalid_input au lieu d'une aire inventée.
Ce qu'est la formule de Bretschneider et comment les nombres fonctionnent
Étiquetez les quatre côtés a, b, c et d dans l'ordre autour du contour, et soient alpha et gamma une paire d'angles intérieurs opposés — classiquement l'angle entre les côtés d et a, et l'angle entre b et c. L'aire K est la racine carrée positive du produit (s moins a) fois (s moins b) fois (s moins c) fois (s moins d), moins le produit a fois b fois c fois d fois le carré du cosinus de la moitié de la somme de alpha et gamma.
Comment appeler l'API et ce qui est renvoyé
Utilisez-la depuis des pipelines de devoirs de géométrie, des scripts de métré de terrain, des outils de maillage et de CAD, des bacs à sable de préparation d'entretiens, ou tout flux qui a besoin d'une aire de quadrilatère général reproductible sans installer un package de calcul formel sur chaque machine. Envoyez un corps JSON avec quatre longueurs de côtés positives et deux angles opposés. Les champs a, b, c et d sont les côtés dans l'ordre du contour ; les alias side_a à side_d et side1 à side4 ont la même signification. Les champs alpha et gamma sont les angles intérieurs opposés ; les alias angle_a, angle1 et angle_alpha correspondent à alpha, tandis que angle_c, angle2 et angle_gamma correspondent à gamma. L'option angle_unit accepte deg (par défaut) ou rad afin que vous puissiez utiliser l'une ou l'autre convention sans convertir à la main. En cas de succès, la réponse renvoie a, b, c, d, alpha, gamma et angle_unit, ajoute perimeter, semiperimeter, area, un booléen cyclic_special_case lorsque la somme des angles opposés est un angle plat dans la tolérance flottante, method égal à bretschneider, et un court bloc formula documentant les formes fermées. Une validation échouée — champ requis manquant, nombre non fini, côté non positif, côté hors des limites publiées, angle hors de l'intervalle ouvert, côtés qui brisent l'inégalité à quatre côtés, radicande de Bretschneider négatif ou nul, ou angle_unit invalide — renvoie invalid_input et n'est jamais facturée. Le tarif est un forfait de $0.002 par requête réussie avec unité item.
Conseils pratiques, limites et recherches associées
Gardez les longueurs de côtés dans la plage positive publiée, jusqu'à un billion, afin que les produits intermédiaires restent finis en double précision IEEE sur le Worker et dans le navigateur. Les unités linéaires sont celles que vous passez — mètres, pieds ou unités de jeu — tant que les quatre côtés partagent la même unité ; l'API ne convertit pas les unités pour vous. Les angles sont en degrés par défaut ; passez angle_unit rad lorsque vos données sont déjà en radians. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires peu coûteux pendant l'apprentissage du contrat.
Cas d'intégration
Contrôle de devoirs sur l'aire d'un quadrilatère général
Donnez aux élèves quatre longueurs de côtés et deux angles opposés ; comparez leur aire de Bretschneider calculée à la main au résultat déterministe de l'API ou du navigateur gratuit.
Questions techniques
Qu'est-ce que la formule de Bretschneider ?
La formule de Bretschneider donne l'aire d'un quadrilatère à partir de quatre côtés a, b, c, d et des angles opposés alpha et gamma. Avec le demi-périmètre s = (a+b+c+d)/2, l'aire est sqrt((s−a)(s−b)(s−c)(s−d) − abcd·cos²((alpha+gamma)/2)).
Quelles entrées sont rejetées ?
Les côtés non positifs, les angles hors de l'intervalle ouvert, les côtés qui brisent l'inégalité à quatre côtés, un angle_unit invalide et les configurations dont le radicande de Bretschneider est négatif ou nul renvoient invalid_input.