3D-Distanz-Rechner
Von (1,5; 2,5; 3,5) nach (4,5; 6,5; 8,5) betragen die Differenzen 3, 4 und 5, der geradlinige Abstand ist also 7,07106781187. Geben Sie zwei beliebige Punkte im Raum ein und erhalten Sie diese Länge samt Differenz je Achse. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- X1
- 1,5
- Y1
- 2,5
- Z1
- 3,5
- X2
- 4,5
- Y2
- 6,5
- Z2
- 8,5
- Dx
- 3
- Dy
- 4
- Dz
- 5
- Entfernung
- 7,0710678119
Sie senden sechs Zahlen und erhalten den Abstand, die drei Achsendifferenzen und den quadrierten Abstand zurück, jeweils in derselben Einheit, in der Sie die Koordinaten gemessen haben. Es ist die natürliche Verallgemeinerung des Satzes des Pythagoras auf den Raum — die Antwort auf die Frage „wie weit sind diese beiden Dinge voneinander entfernt“ in Volumen, Szenen und physikalischen Modellen — geliefert als ein einziger deterministischer Aufruf, mit einem expliziten Fehler, sobald eine Koordinate fehlt oder keine endliche Zahl ist.
Von Pythagoras zu drei Dimensionen
Die 3D-Abstandsformel ist der Satz des Pythagoras, zweimal angewendet. Zuerst wird die z-Dimension reduziert: Die Projektion Ihrer Strecke auf die xy-Ebene hat die Länge sqrt(dx² + dy²), genau der 2D-Fall. Diese Projektion und der vertikale Abstand dz bilden die Katheten eines zweiten rechtwinkligen Dreiecks, dessen Hypotenuse die tatsächliche räumliche Strecke ist, also d = sqrt(dx² + dy² + dz²).
Der 3D-Abstandsrechner führt genau diese Berechnung durch und nichts weiter. Da jede Differenz quadriert wird, ist die Reihenfolge der Punkte irrelevant: Der Abstand von A zu B ist stets gleich dem Abstand von B zu A, und negative Abstände ergeben dieselben positiven Kathetenlängen. Da das Ergebnis eine Wurzel aus einer Summe von Quadraten ist, ist es immer nicht-negativ und genau dann null, wenn beide Punkte zusammenfallen.
Die Antwort spiegelt die eingelesenen Koordinaten und die drei Differenzen neben dem Abstand wider, sodass Sie genau nachvollziehen können, welche Eingaben welches Ergebnis erzeugt haben, ohne etwas von Hand neu herzuleiten. Diese Nachvollziehbarkeit ist wichtig, wenn ein Abstand eine Kollisionsschwelle, eine Qualitätstoleranz oder einen Sicherheitsabstand speist und später jemand fragt, warum ein Grenzfall bestanden oder nicht bestanden wurde.
Einheiten, quadrierte Abstände und numerische Robustheit
Der Endpunkt ist bewusst einheitenunabhängig: Koordinaten in Metern ergeben einen Abstand in Metern, Voxel ergeben Voxel und CAD-Modelleinheiten ergeben Modelleinheiten. Es wird keine Umrechnung vorgenommen und keine benötigt — das bedeutet auch, dass es Ihre Aufgabe ist, alle sechs Koordinaten vor dem Aufruf in derselben Einheit anzugeben. Zwei Implementierungsdetails sind wissenswert.
Erstens wird der quadrierte Abstand dx² + dy² + dz² zusammen mit dem Abstand selbst zurückgegeben: Wenn Sie Kandidaten nur nach Nähe sortieren müssen — die nächste Drohne, der nächste Sensor, der entfernteste Eckpunkt —, vermeidet der Vergleich quadrierter Abstände die Wurzel vollständig und ist der Standardtrick in Nearest-Neighbour-Schleifen über große Punktwolken. Zweitens wird die Wurzel mit Math.hypot gezogen statt durch naives Summieren der Quadrate, sodass Koordinatendifferenzen nahe 10¹⁵⁴ auf dem Weg zu einem völlig endlichen Ergebnis nicht zu Infinity überlaufen und winzige Differenzen nahe 10⁻¹⁵⁴ nicht zu null unterlaufen.
Die Ausgaben werden auf zwölf signifikante Dezimalstellen gerundet, was die Antworten über Maschinen und Läufe hinweg stabil und vergleichbar hält, ohne an Genauigkeit zu verlieren, die eine physikalische Messung rechtfertigen könnte.
Validierung, Fehler und Integration
Der Vertrag ist absichtlich streng: Jede der sechs Koordinaten muss eine endliche Zahl sein. Numerische Zeichenketten wie „4.5“ werden akzeptiert und konvertiert, weil Formulardaten und Query-Strings in der Praxis als Text ankommen, aber die Konvertierung ist exakt: Alles, was nicht vollständig als Zahl geparst wird, wird abgelehnt statt stillschweigend abgeschnitten. Wenn Ihre Daten wirklich zweidimensional sind, setzen Sie entweder beide z-Koordinaten auf denselben Wert oder verwenden Sie den dedizierten 2D-Endpunkt, der nur vier Zahlen benötigt.
Anwendungsfälle
Näherungs- und Kollisionsprüfung in 3D-Engines
Messen Sie Abstände zwischen Objekten, Wegpunkten oder Agenten in Spielen und Simulationen und lösen Sie Ereignisse aus, wenn der Abstand eine Schwelle über- oder unterschreitet.
Nächste Nachbarn in Punktwolken
Sortieren Sie quadrierte Abstände von einem Abfragepunkt zu Sensoren, Assets oder LiDAR-Abtastungen und wählen Sie den nächsten, ohne für unnötige Quadratwurzeln zu zahlen.
Abstände und Toleranzen im Ingenieurwesen
Prüfen Sie, ob zwei Montagepunkte, Kabel oder Bauteile in einem CAD- oder BIM-Modell den geforderten Mindest- oder Höchstabstand einhalten.
Häufige Fragen
Was kostet das?
Auf dieser Seite können Sie die Berechnung außerdem kostenlos in Ihrem Browser ausführen.
Welche Formel wird verwendet?
Der euklidische Abstand im Raum: d = sqrt((x2 - x1)² + (y2 - y1)² + (z2 - z1)²), berechnet mit Math.hypot für numerische Robustheit.
In welcher Einheit ist das Ergebnis?
In derselben Einheit wie Ihre Koordinaten. Sind x, y und z in Metern angegeben, ist auch der Abstand in Metern; es findet keine Einheitenumrechnung statt.
Kann ich sie für 2D-Punkte verwenden?
Ja — geben Sie beiden Punkten dieselbe z-Koordinate, und die Formel reduziert sich auf den 2D-Fall, wenngleich der dedizierte 2D-Endpunkt weniger Felder benötigt.
Warum wird auch der quadrierte Abstand zurückgegeben?
Weil der Vergleich quadrierter Abstände günstiger ist, wenn Sie Kandidaten nur nach Nähe sortieren müssen — für die Reihenfolge ist die Quadratwurzel unnötig.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/math/distance-3d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":1.5,"y1":2.5,"z1":3.5,"x2":4.5,"y2":6.5,"z2":8.5}'const res = await fetch("https://api.kit.forhosting.com/math/distance-3d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 1.5,
"y1": 2.5,
"z1": 3.5,
"x2": 4.5,
"y2": 6.5,
"z2": 8.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/distance-3d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 1.5,
"y1": 2.5,
"z1": 3.5,
"x2": 4.5,
"y2": 6.5,
"z2": 8.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/distance-3d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":1.5,"y1":2.5,"z1":3.5,"x2":4.5,"y2":6.5,"z2":8.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":1.5,"y1":2.5,"z1":3.5,"x2":4.5,"y2":6.5,"z2":8.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/distance-3d", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"x1": 1.5,
"y1": 2.5,
"z1": 3.5,
"x2": 4.5,
"y2": 6.5,
"z2": 8.5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.distance_3d",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Die 3D-Abstands-API berechnet den euklidischen Abstand zwischen zwei Punkten im dreidimensionalen Raum aus ihren x-, y- und z-Koordinaten: die Länge der geraden Verbindungslinie zwischen (x1, y1, z1) und (x2, y2, z2), gegeben durch d = sqrt((x2 - x1)² + (y2 - y1)² + (z2 - z1)²).
Validierung, Fehler und Integration
Ein fehlendes Feld, ein null, eine leere Zeichenkette, ein boolescher Wert, ein Array, eine nicht-numerische Bezeichnung wie „up“, NaN oder ±Infinity führen alle zum selben Ergebnis — ein sauberer invalid_input-Fehler, der das betroffene Feld nennt, und keine Kosten, da Clientfehler niemals berechnet werden. Die Integration ist trivial: Senden Sie per POST ein JSON-Objekt mit x1, y1, z1, x2, y2 und z2, lesen Sie das distance-Feld aus der Antwort und behandeln Sie den dokumentierten Fehlercode, statt Meldungen zu parsen. Derselbe Code, der auf unserer Edge läuft, läuft kostenlos in Ihrem Browser auf dieser Seite, sodass Sie mit echten Zahlen prototypen können, bevor Sie die API in Ihre Pipeline einbinden, und Sie zahlen die veröffentlichten $0.002 pro Anfrage erst, wenn Sie sie automatisieren.
Technische Fragen
Was passiert, wenn eine Koordinate fehlt oder keine Zahl ist?
Sie erhalten einen invalid_input-Fehler, der das betroffene Feld nennt, und die Anfrage wird nicht berechnet. NaN und Infinity werden ebenfalls abgelehnt.