Calculatrice de distance euclidienne entre vecteurs, gratuite
De [0, 0] à [3, 4], la distance vaut exactement 5, et de [0, 0, 0] à [1, 2, 2] elle vaut 3. Saisissez deux vecteurs de même longueur, dans n'importe quelle dimension, et obtenez la distance et son carré. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Premier texte
- 0, 0
- Second texte
- 3, 4
- Distance
- 5
- Distance au carré
- 25
- Dimensions
- 2
La calculatrice de distance euclidienne répond à une question précise : étant donné deux vecteurs décrits par leurs composantes numériques, à quelle distance se trouvent-ils en ligne droite dans un espace à n dimensions ? Elle applique la formule pythagoricienne généralisée — la racine carrée de la somme des différences au carré composante par composante — après avoir validé que les deux vecteurs ont la même longueur et que chaque composante est un nombre fini. La réponse renvoie la distance non négative avec la distance au carré, le nombre de dimensions commun, les tableaux de composantes normalisés et une étiquette de méthode euclidean afin que les consommateurs automatisés documentent la métrique utilisée.
La formule euclidienne généralisée à n dimensions
Appelez a le premier vecteur et b le second, chacun une liste de n composantes numériques. La séparation en ligne droite entre eux est l'hypoténuse d'un triangle rectangle à n dimensions : soustrayez les composantes deux à deux, élevez chaque différence au carré, additionnez les carrés et prenez la racine carrée du total.
En deux dimensions, c'est exactement la formule scolaire de la géométrie analytique ; en trois, elle mesure la distance dans l'espace physique ; et en dimensions supérieures, c'est la notion de proximité par défaut en statistique, en apprentissage automatique et en recherche d'information. La valeur est toujours non négative, vaut zéro exactement quand les deux vecteurs coïncident composante par composante et ne change pas si vous échangez les vecteurs, car chaque différence est élevée au carré.
Les vérifications classiques rendent la formule mémorable : de [0, 0] à [3, 4] la distance vaut exactement 5, et de [0, 0, 0] à [1, 2, 2] elle vaut exactement 3. Comme le calcul n'utilise que soustraction, multiplication, addition et une racine carrée, il s'exécute en temps linéaire selon le nombre de composantes, sans tables trigonométriques, sans solveurs itératifs et sans bibliothèques externes.
Où la distance euclidienne entre vecteurs s'avère utile
La distance euclidienne entre vecteurs arbitraires est la métrique de référence partout où des entités sont décrites par des listes de caractéristiques. En apprentissage automatique, les classifieurs k plus proches voisins, le partitionnement k-moyennes et les détecteurs d'anomalies classent les candidats selon cette distance, donc une implémentation stricte et bien validée est idéale pour les cas de test, les démonstrations pédagogiques et les vérifications face à un pipeline de référence.
En ingénierie et en physique, la même formule mesure des amplitudes de déplacement dans des systèmes de coordonnées 2D et 3D, et les tableaux de composantes normalisés renvoyés rendent chaque cas de test autodescriptif et reproductible.
Cas d’usage
Cas de test ML et science des données
Validez du code k-NN, k-moyennes ou plus proche voisin face à une distance euclidienne déterministe entre deux vecteurs de caractéristiques.
Vérifications de similarité d'embeddings
Transformez deux vecteurs d'embedding de même longueur en une distance (ou distance au carré) pour le classement, la déduplication et les démonstrations d'anomalies.
Déplacement en physique et ingénierie
Calculez des amplitudes de déplacement en ligne droite en 2D ou 3D à partir de composantes de coordonnées avec une validation stricte de l'entrée.
Questions fréquentes
Quelle formule cette calculatrice utilise-t-elle ?
La formule euclidienne généralisée : distance = √(Σ (b[i] − a[i])²) sur toutes les composantes. La réponse inclut method: "euclidean" pour confirmer la métrique.
Que se passe-t-il si les vecteurs ont des longueurs différentes ?
Les vecteurs incompatibles ne sont jamais tronqués ni complétés en silence.
Que se passe-t-il si une composante n'est pas un nombre fini ?
Les vecteurs manquants, les tableaux vides, le texte non numérique, NaN et Infinity sont rejetés avant toute arithmétique.
L'ordre des deux vecteurs a-t-il de l'importance ?
Non. La distance est symétrique : échanger a et b donne la même valeur non négative, car chaque différence par composante est élevée au carré.
Puis-je comparer des vecteurs de plus de trois composantes ?
Oui. Les deux vecteurs peuvent compter autant de composantes que vous voulez, pourvu qu'ils en aient le même nombre. La règle est la même en toute dimension : soustraire composante par composante, élever chaque écart au carré, additionner, puis prendre la racine carré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/math/euclidean-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":[0,0,0],"b":[3,4,0]}'const res = await fetch("https://api.kit.forhosting.com/math/euclidean-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": [
0,
0,
0
],
"b": [
3,
4,
0
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/euclidean-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": [
0,
0,
0
],
"b": [
3,
4,
0
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/euclidean-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":[0,0,0],"b":[3,4,0]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":[0,0,0],"b":[3,4,0]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/euclidean-distance", 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": [
0,
0,
0
],
"b": [
3,
4,
0
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.euclidean_distance",
"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 vecteurs de longueurs différentes, les champs manquants, le texte non numérique, NaN et Infinity sont rejetés avec une erreur invalid_input claire, plutôt qu'un NaN silencieux qui se fait passer pour une réponse valide. Le même module pur alimente l'outil gratuit du navigateur et l'API payante, donc les résultats sont identiques sur les deux canaux. Aucun appel réseau, aucun échantillonnage aléatoire, aucune conversion d'unités cachée : seulement de l'arithmétique déterministe IEEE-754 sur les nombres que vous fournissez, à $0.002 par élément d'API réussi.
La formule euclidienne généralisée à n dimensions
Des composantes extrêmement grandes peuvent encore dépasser la plage double précision une fois élevées au carré ; dans ce cas la requête échoue avec un message de dépassement clair au lieu de renvoyer Infinity en JSON.
Entrées, validation et forme du résultat
Envoyez deux vecteurs obligatoires, a et b, sous forme de tableaux de nombres finis ayant le même nombre de composantes. Le contrôle de longueur est strict et explicite : si a a trois composantes et b deux, la requête échoue avec un message indiquant les deux longueurs, car tronquer ou compléter des vecteurs en silence produit des distances plausibles en apparence et fausses en réalité. Une fois les deux vecteurs acceptés, le service accumule la somme des différences au carré, vérifie que le total est resté fini et prend la racine carrée. Les chaînes numériques comme "2.5" dans les tableaux sont acceptées et normalisées, et le texte séparé par des virgules est toléré pour faciliter le collage dans les formulaires, mais les tableaux JSON de nombres restent le contrat canonique. La validation s'exécute avant toute arithmétique : un vecteur manquant, un tableau vide, une composante non numérique, NaN ou Infinity échouent avec une erreur invalid_input qui nomme la position fautive, et une validation échouée n'est pas facturée. La réponse JSON renvoie distance arrondie à douze décimales pour une sérialisation stable, squared_distance pour les algorithmes qui n'ont besoin que d'ordonner et peuvent se passer de la racine, le nombre commun dimensions, l'écho des tableaux a et b normalisés et method avec la chaîne euclidean pour la journalisation et la documentation. L'utilisation de l'API coûte $0.002 par élément réussi.
Où la distance euclidienne entre vecteurs s'avère utile
En recherche et recommandation, les embeddings de documents, d'images ou de produits sont de longs vecteurs numériques ; la distance entre deux d'entre eux quantifie à quel point les éléments sont différents, et le champ squared_distance permet au code de classement d'éviter une racine carrée quand seul l'ordre compte. Comme la capacité est un moteur parse pur, il n'y a ni aléa ni dépendance à l'horloge, donc la même entrée produit toujours la même sortie dans le navigateur et dans l'API. Si vous avez besoin des métriques de Manhattan, cosinus ou Minkowski, ou de la distance orthodromique sur le globe, ce sont des intentions différentes servies par des outils différents ; celle-ci reste délibérément centrée sur le cas euclidien en ligne droite entre deux vecteurs de même longueur à $0.002 par élément.
Questions techniques
Combien cela coûte-t-il ?
L'outil du navigateur est gratuit. L'utilisation de l'API coûte $0.002 par élément réussi ; les requêtes qui échouent à la validation ne sont pas facturées.