Équation d'un plan : calculateur à partir de trois points ou d'une normale
Pour le plan passant par (1, 0, 0), (0, 1, 0) et (0, 0, 1), a, b et c valent 0,57735026919 et d vaut −0,57735026919. Saisissez trois points, ou un point et son vecteur normal, et obtenez l'équation sans produit vectoriel. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Il renvoie les coefficients a, b, c et d avec un vecteur normal normalisé à la longueur unitaire, ce qui rend les résultats directement comparables entre eux. Fournissez-lui des coordonnées issues d'un modèle CAD, d'un problème de physique ou d'un exercice scolaire et obtenez une équation exacte en un seul appel : sans produit vectoriel manuel, sans erreur de signe, sans étape de normalisation oubliée.
Deux façons de définir un plan
Un plan de l'espace tridimensionnel est entièrement déterminé dès que l'on fixe son orientation et un point par lequel il passe. En pratique, cette information se présente sous l'une des deux formes suivantes. La première est un trio de points situés sur le plan : les sommets d'une face triangulaire d'un maillage, trois relevés topographiques, trois points lus sur un plan.
Tant que les trois points ne sont pas alignés, un seul plan les contient tous. La seconde forme est un point du plan accompagné d'un vecteur normal, c'est-à-dire la direction perpendiculaire à la surface. C'est ainsi que les plans apparaissent en physique, dans les moteurs de rendu et dans les résultats de nombreuses bibliothèques de géométrie.
Le point d'accès de l'équation d'un plan accepte les deux formes. L'envoi des deux formes à la fois, ou d'une forme incomplète, est rejeté avec une erreur de validation claire, afin que vous n'obteniez jamais une réponse calculée à partir d'une supposition.
Comment l'équation est obtenue
À partir de trois points, la méthode relève de la géométrie analytique classique. Deux vecteurs directeurs sont formés en soustrayant le premier point du deuxième et du troisième, et leur produit vectoriel donne un vecteur perpendiculaire aux deux, c'est-à-dire une normale au plan. À partir d'un point et d'une normale, le travail est plus court : la normale fournit directement a, b et c, et d s'obtient en substituant le point dans l'équation.
Dans les deux cas, la normale est ensuite ramenée à la longueur unitaire et chaque coefficient est arrondi à douze décimales. Cette normalisation compte : un même plan peut s'écrire avec une infinité de jeux de coefficients proportionnels, et une forme canonique permet de comparer deux équations, de détecter les doublons et de calculer les distances point-plan sans étape supplémentaire.
Où cela s'insère dans le travail réel
Les chaînes de traitement géométrique ont constamment besoin d'équations de plan sous forme de coefficients. Une étape de détection de collision classe les points par rapport aux faces ; un shader de rendu a besoin de la distance signée à un plan de découpe ; un modèle structurel vérifie qu'un motif de boulons est suffisamment plan pour recevoir un joint. Faire le produit vectoriel et la substitution à la main est fastidieux et source d'erreurs ; les intégrer dans chaque projet duplique les mêmes dix lignes partout.
Cette capacité centralise le calcul derrière une fonction déterministe unique. Il n'y a ni état, ni aléa, ni accès réseau, de sorte qu'une entrée donnée produit toujours une sortie identique à l'octet près, que vous pouvez mettre en cache en toute sécurité.
Cas d’usage
Traitement de maillages et de faces CAD
Transformez les trois sommets d'une face triangulaire en coefficients de plan attendus par une étape de collision ou d'ombrage.
Devoirs de physique et d'ingénierie
Vérifiez une équation de plan dérivée à la main à partir d'un point et d'une normale contre une réponse canonique normalisée.
Validation de planéité en chaîne de production
Fournissez trois points mesurés, obtenez le plan et calculez les distances d'autres points pour quantifier la planéité.
Questions fréquentes
Combien cela coûte-t-il ?
L'utilisation est également gratuite dans votre navigateur sur cette page.
Quelles formes d'entrée sont acceptées ?
Soit trois points p1, p2 et p3, soit un point accompagné d'un vecteur normal. Une seule des deux formes doit être envoyée.
Pourquoi les coefficients sont-ils normalisés ?
Multiplier a, b, c et d par le même facteur décrit le même plan. Normaliser la normale à la longueur unitaire donne une réponse canonique unique, ce qui rend les résultats comparables d'un appel à l'autre.
Puis-je utiliser le résultat pour une distance point-plan ?
Oui. Comme la normale a une longueur unitaire, la distance signée de tout point (x, y, z) au plan est simplement a*x + b*y + c*z + d.
Les résultats sont-ils déterministes ?
Oui. Le calcul est une arithmétique pure avec arrondi fixe : la même entrée renvoie donc toujours la même sortie.
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/math/equation-of-a-plane \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p1":{"x":1,"y":0,"z":0},"p2":{"x":0,"y":1,"z":0}}'const res = await fetch("https://api.kit.forhosting.com/math/equation-of-a-plane", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p1": {
"x": 1,
"y": 0,
"z": 0
},
"p2": {
"x": 0,
"y": 1,
"z": 0
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/equation-of-a-plane",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p1": {
"x": 1,
"y": 0,
"z": 0
},
"p2": {
"x": 0,
"y": 1,
"z": 0
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/equation-of-a-plane", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p1":{"x":1,"y":0,"z":0},"p2":{"x":0,"y":1,"z":0}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p1":{"x":1,"y":0,"z":0},"p2":{"x":0,"y":1,"z":0}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/equation-of-a-plane", 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
{
"p1": {
"x": 1,
"y": 0,
"z": 0
},
"p2": {
"x": 0,
"y": 1,
"z": 0
}
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.equation_of_a_plane",
"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
Ce calculateur d'équation de plan déduit la forme cartésienne ax + by + cz + d = 0 des deux façons dont un plan est généralement donné en pratique : trois points non alignés situés sur le plan, ou un point accompagné d'un vecteur normal.
Deux façons de définir un plan
Envoyez p1, p2 et p3, ou bien point et normal, et vous obtenez la même sortie canonique : les coefficients de ax + by + cz + d = 0.
Comment l'équation est obtenue
Si les points sont alignés ou confondus, le produit vectoriel est le vecteur nul et aucun plan unique n'existe : le point d'accès répond alors avec une erreur invalid_input qui l'explique exactement, au lieu de renvoyer une équation dégénérée.
Où cela s'insère dans le travail réel
Le même code s'exécute gratuitement dans votre navigateur sur cette page — collez des coordonnées, lisez l'équation — et le résultat identique est disponible via l'API à $0.002 par appel lorsque vous en avez besoin dans un flux de travail automatisé.
Questions techniques
Que se passe-t-il si mes trois points sont alignés ?
La requête échoue avec une erreur invalid_input expliquant que des points alignés ne définissent pas de plan unique. Les validations échouées ne sont pas facturées.