ForHosting KIT · Voyages et géographie

Enveloppe convexe de points

Pour les points (0, 0), (4, 0), (4, 3), (0, 3) et (2, 1), l'enveloppe convexe est le rectangle des quatre premiers, et (2, 1) reste à l'intérieur. C'est le contour que formerait un élastique tendu autour de vos points. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

L'enveloppe convexe est le plus petit polygone convexe qui contient tous les points d'un ensemble fini — le contour d'un élastique tendu autour de clous sur une planche. Géomètres, analystes SIG, développeurs de jeux et étudiants en géométrie algorithmique ont besoin de ce contour à partir d'échantillons non ordonnés : traces GPS, emprises de bâtiments, sommets de sprites ou nuages de classe de paires (x, y). Cet outil d'enveloppe convexe de points exécute le balayage de chaîne monotone d'Andrew : il trie les points par coordonnée horizontale puis verticale, construit les chaînes inférieure et supérieure en passes linéaires et renvoie les sommets extrêmes dans le sens antihoraire. Les points intérieurs et les échantillons colinéaires au milieu d'une arête sont éliminés automatiquement. Vous pouvez envoyer des paires planaires x/y ou des points géographiques lat/lon ; le mode geo calcule encore une enveloppe planaire dans le plan longitude–latitude, approximation locale habituelle pour des enveloppes à l'échelle d'une ville ou d'un site.

Qu'est-ce qu'une enveloppe convexe et comment fonctionne la chaîne monotone

Étant donné un ensemble fini de points dans le plan, l'enveloppe convexe est l'unique plus petit ensemble convexe qui les contient tous. Sa frontière est un polygone convexe dont les sommets sont un sous-ensemble de l'entrée : tout point extrême qui « dépasse » apparaît sur l'enveloppe, et tout point exprimable comme combinaison convexe d'autres points se trouve strictement à l'intérieur ou sur une arête. La chaîne monotone d'Andrew (aussi appelée balayage de chaîne monotone) calcule cette frontière en temps O(n log n) dominé par le tri.

Après tri par x croissant (et par y en cas d'égalité sur x), l'algorithme parcourt de gauche à droite pour l'enveloppe inférieure en maintenant toujours un virage strict à gauche sur les trois derniers sommets de la pile ; puis il parcourt de droite à gauche pour l'enveloppe supérieure avec le même test de virage.

Concaténer les deux chaînes sans dupliquer les extrémités partagées les plus à gauche et les plus à droite produit l'enveloppe complète dans le sens antihoraire, en partant de l'extrême le plus à gauche (puis le plus bas). Un test de virage non strict (produit vectoriel inférieur ou égal à zéro) supprime les points colinéaires intermédiaires afin que chaque arête soit maximale.

Les ensembles dégénérés sont traités proprement : un seul point unique renvoie une enveloppe à un sommet ; deux points distincts, un segment à deux sommets ; trois points colinéaires ou plus, seulement les deux extrêmes. Ce comportement correspond aux définitions de cours de l'enveloppe des points extrêmes et évite les « encoches » d'aire nulle dans les outils de polygone en aval causées par des échantillons au milieu d'arête.

Où un contour convexe se révèle utile

Les équipes cartographie et logistique calculent l'enveloppe convexe d'arrêts de livraison, de pings d'actifs ou de jalons de levé pour tracer un contour extérieur simple sans numérisation manuelle. Les pipelines jeux et CAD réduisent les proxies de collision ou les boîtes de sélection d'interface à l'enveloppe des sommets de maillage ou de sprite afin que les tests de chevauchement restent peu coûteux.

Les carnets de science des données utilisent l'enveloppe comme contour extérieur robuste pour nuages de points et revue d'anomalies lorsqu'une bounding box est trop lâche et qu'une forme alpha concave est trop lourde. Les plateformes de cours et de concours ont besoin d'un oracle déterministe pour les exercices « listez les points extrêmes dans l'ordre » ; une capacité parse pure renvoie des coordonnées stables à précision fixe pour que les correcteurs ne cassent pas sur le bruit flottant. Une validation échouée ne consomme pas de solde.

Gardez les nuages sous le plafond de dix mille points, figez les sommets d'enveloppe dans les tests, et vous obtenez des enveloppes reproductibles pour ETL SIG, workers de bord et devoirs sans monter une bibliothèque de géométrie complète en propre.

Enveloppe SIG d'échantillons GPS

Envoyez des pings lat/lon non ordonnés d'un levé de terrain ou d'une trajectoire de véhicule et obtenez le contour convexe antihoraire pour superpositions cartographiques et croquis simples de zone de service.

Proxies de collision jeux et CAD

Réduisez un nuage de sommets de maillage ou de sprite à une enveloppe convexe stricte pour collision large phase et bornes de sélection sans livrer une bibliothèque complète de géométrie algorithmique.

Contrôles de géométrie algorithmique en classe

Permettez aux étudiants de soumettre des ensembles de points et de vérifier les sommets extrêmes ordonnés face à la théorie de la chaîne monotone, y compris les cas colinéaires et les doublons.

Comment calcule-t-on l'enveloppe convexe d'un ensemble de points ?

Envoyez points comme tableau d'enregistrements {x,y} ou {lat,lon} (au moins un).

Le mode géographique utilise-t-il une enveloppe géodésique sphérique ?

Non. Le mode geo valide les plages lat/lon et exécute une chaîne monotone planaire dans le plan longitude–latitude. Cette approximation locale est standard pour les enveloppes à l'échelle ville et site ; les enveloppes géodésiques globales sont hors périmètre.

Les points colinéaires sont-ils conservés sur l'enveloppe ?

Les points colinéaires intermédiaires sur une arête sont supprimés. Seuls les extrémités de chaque arête de l'enveloppe restent, de sorte que le polygone est strictement convexe (pas de virages à 180°).

Quel est le nombre minimal de points ?

Au moins un. Un seul point unique renvoie une enveloppe à un sommet ; deux points, un segment ; trois points non colinéaires ou plus, une enveloppe polygonale.

Dans quel ordre les sommets de l'enveloppe sont-ils rendus ?

Dans le sens antihoraire, en partant du point le plus à gauche ou, si plusieurs partagent ce bord, du plus bas d'entre eux. L'anneau reste ouvert : le premier sommet n'est pas répété à la fin.

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.

POSThttps://api.kit.forhosting.com/geo/polygon-convex-hull

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é.

curl -X POST https://api.kit.forhosting.com/geo/polygon-convex-hull \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"x":0,"y":0},{"x":4,"y":0},{"x":4,"y":3},{"x":0,"y":3},{"x":2,"y":1}]}'
{
  "points": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 4,
      "y": 0
    },
    {
      "x": 4,
      "y": 3
    },
    {
      "x": 0,
      "y": 3
    },
    {
      "x": 2,
      "y": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.polygon_convex_hull",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Qu'est-ce qu'une enveloppe convexe et comment fonctionne la chaîne monotone

Les coordonnées exactement en double sont fusionnées avant les balayages pour qu'un coin répété n'enfle jamais hull_count.

Contrat d'entrée, modes de coordonnées et champs de réponse

Chaque enregistrement peut être {x, y} pour le travail planaire, {lat, lon} pour des échantillons géographiques, ou un tableau de deux nombres. En mode auto, les clés lat/lon sélectionnent l'étiquetage géographique ; x/y l'étiquetage planaire. Le mode geo valide la latitude dans [−90, 90] et la longitude dans [−180, 180] et exécute encore l'enveloppe dans le plan lon–lat (x = longitude, y = latitude). La precision optionnelle (0–15, défaut 10) fixe les décimales des coordonnées renvoyées. L'anneau de l'enveloppe est ouvert : le premier sommet n'est pas répété à la fin. Envoyez un corps JSON avec points obligatoire : un tableau d'au moins un enregistrement de coordonnées. Les alias vertices, coordinates et coords sont acceptés pour le tableau. Le coord_mode optionnel vaut auto (par défaut), planar ou geo. En cas de succès le corps inclut hull (sommets extrêmes ordonnés), hull_count, point_count (longueur d'entrée), unique_count (après suppression des doublons exacts), interior_count (uniques hors enveloppe), method égal à monotone_chain, coord_mode résolu en planar ou geo, et orientation égal à ccw. Points manquants, tableau vide, nombres non finis, latitudes ou longitudes hors plage en mode geo, ou plus de dix mille points échouent avec invalid_input et ne sont pas facturés. Associez cet endpoint à des calculateurs d'aire ou de périmètre seulement après disposer d'un anneau ordonné ; la sortie d'enveloppe est déjà ordonnée et prête pour ces outils lorsque vous avez besoin des métriques d'enveloppe d'un nuage de points plutôt que d'un polygone numérisé à la main.

Où une API d'enveloppe convexe justifie son coût

Comme l'implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.

Combien coûte le calculateur d'enveloppe convexe de points ?

L'outil navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →