Trouveur de quadrant
L'API de localisation de quadrant prend les coordonnées x et y d'un point du plan cartésien et vous indique exactement où il se situe : dans le quadrant I, II, III ou IV, sur l'axe des x, sur l'axe des y ou à l'origine.
Lancer gratuitement
Elle suit la convention mathématique standard : le quadrant I est celui où les deux coordonnées sont positives, et la numérotation progresse dans le sens inverse des aiguilles d'une montre. Une coordonnée nulle n'est jamais forcée dans un quadrant : les points situés sur un axe sont signalés comme des points d'axe, ce qui est précisément la distinction que la plupart des implémentations rapides ratent. Les deux coordonnées doivent être des nombres finis ; toute autre valeur renvoie une erreur d'entrée invalide explicite.
Ce que signifie le quadrant d'un point
Le plan cartésien est divisé par l'axe des x et l'axe des y en quatre régions appelées quadrants. Le quadrant I contient tout point dont x et y sont tous deux positifs ; en progressant dans le sens inverse des aiguilles d'une montre, le quadrant II a un x négatif et un y positif, le quadrant III a ses deux coordonnées négatives et le quadrant IV a un x positif et un y négatif. Connaître le quadrant d'un point est plus qu'un exercice scolaire : cela révèle le schéma de signes des coordonnées sans inspecter chaque valeur séparément, ce qui est exactement la base sur laquelle s'appuient la trigonométrie, les simulations physiques et les moteurs de jeu pour interpréter angles et vecteurs. Un chercheur de quadrant condense tout ce raisonnement en un seul appel de classification. Vous envoyez deux nombres et recevez un numéro de quadrant entre un et quatre, ou une localisation explicite d'axe ou d'origine lorsqu'une coordonnée vaut zéro — car les points situés sur un axe n'appartiennent à aucun quadrant, et les confondre avec l'un d'eux est l'erreur classique de la géométrie des coordonnées.
Comment la classification est décidée
La règle est un test de signes strict, appliqué dans un ordre fixe afin que le résultat soit toujours sans ambiguïté. Le endpoint vérifie d'abord si les deux coordonnées sont nulles, auquel cas le point est l'origine. Il vérifie ensuite si y vaut zéro, ce qui place le point sur l'axe des x, et si x vaut zéro, ce qui le place sur l'axe des y. Ce n'est que lorsque les deux coordonnées sont non nulles que le signe de chacune décide du quadrant : positif-positif donne I, négatif-positif donne II, négatif-négatif donne III et positif-négatif donne IV. Cet ordre compte parce qu'un point comme (0, 5) se trouve sur l'axe des y, et non dans le quadrant I ou II, et que (0, 0) est l'origine plutôt qu'un axe arbitraire. La validation de l'entrée est tout aussi stricte : chaque coordonnée doit être un nombre fini, de sorte que NaN, Infinity, les champs manquants et les valeurs non numériques sont rejetés avec une erreur d'entrée invalide au lieu de produire une classification silencieusement fausse.
Où elle s'inscrit dans le travail réel
Les outils éducatifs utilisent le endpoint pour corriger instantanément et de façon cohérente les réponses des élèves sur le plan de coordonnées. Les développeurs de jeux utilisent la logique des quadrants pour décider de l'orientation des sprites, du placement sur la minicarte et des régions de collision, et cette API permet à la validation côté serveur de concorder avec le client. Les pipelines de visualisation de données l'utilisent pour regrouper les points en régions avant de colorer et d'annoter un nuage de points. Comme le même code déterministe s'exécute gratuitement dans votre navigateur sur cette page et sur notre edge pour les appels API, vous pouvez prototyper une classification de manière interactive puis l'automatiser avec la certitude que les réponses concorderont exactement. L'appel est sans état, ne stocke rien et coûte $0.002 par requête lorsqu'il passe par l'API. Pour le travail en volume, envoyez une requête par point et agrégez les localisations côté client ; il n'existe pas de variante par lots, ce qui rend le contrat — et son tarif — trivialement prévisible.
Cas d’usage
Corriger des exercices de géométrie des coordonnées
Vérifiez qu'un élève a placé un point dans le bon quadrant sans écrire votre propre logique de test de signes.
Regrouper les points d'un nuage pour les colorer
Classifiez chaque point par quadrant ou par axe avant le rendu afin que chaque région reçoive sa propre couleur.
Valider des coordonnées de monde de jeu côté serveur
Confirmez qu'une position envoyée par le client tombe dans la région attendue par le serveur pour sa logique d'orientation.
Questions fréquentes
Combien cela coûte-t-il ?
$0.002 par requête. L'exécution est également gratuite dans votre navigateur sur cette page.
Quelle numérotation des quadrants utilise-t-elle ?
La convention standard : le quadrant I a un x positif et un y positif, et la numérotation continue dans le sens inverse des aiguilles d'une montre jusqu'au IV.
Que se passe-t-il lorsqu'une coordonnée vaut zéro ?
Le point est signalé sur l'axe des x (y = 0), sur l'axe des y (x = 0) ou à l'origine (les deux nulles) — jamais comme un quadrant.
Quelle entrée est rejetée ?
Toute coordonnée manquante ou qui n'est pas un nombre fini, y compris NaN, Infinity et le texte non numérique.
Quelque chose est-il stocké ?
Non. Les coordonnées sont classifiées puis supprimées ; seule la localisation est renvoyée.
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/coordinate-grid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x":-3.5,"y":2}'const res = await fetch("https://api.kit.forhosting.com/math/coordinate-grid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x": -3.5,
"y": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/coordinate-grid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x": -3.5,
"y": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/coordinate-grid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x":-3.5,"y":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x":-3.5,"y":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/coordinate-grid", 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
{
"x": -3.5,
"y": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.coordinate_grid",
"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. |