ABC-Dreieck-Löser: Seiten und Winkel aus jeder Kombination
Der ABC-Dreieckslöser nimmt jede Kombination aus den Seiten a, b, c und den Innenwinkeln A, B, C entgegen, die ein Dreieck eindeutig bestimmt, und liefert die Seiten und Winkel zurück, die Sie nicht angegeben haben.
Im Browser ausführen – kostenlos
Er wendet den Kosinussatz und den Sinussatz in der jeweils passenden Reihenfolge an — drei Seiten, zwei Seiten mit dem eingeschlossenen Winkel, zwei Winkel mit einer beliebigen Seite oder zwei Seiten mit einem nicht eingeschlossenen Winkel — und er lehnt Eingaben ab, die kein Dreieck, mehrere Dreiecke oder einander widersprechende Werte beschreiben. Winkel werden in Grad angegeben und zurückgegeben; jedes Ergebnis wird auf stabile zehn Nachkommastellen gerundet, sodass dieselbe Eingabe stets dieselbe Ausgabe erzeugt.
Ein Endpunkt für jede lösbare Kombination
Die Schulbuch-Trigonometrie zerlegt das Lösen von Dreiecken in fünf getrennte Verfahren — SSS, SWS, WSW, WWS und den heiklen SSW-Fall — und jedes hat sein eigenes Formelblatt. Dieser Dreieckslöser fasst alle fünf in einer einzigen Anfrage zusammen: Sie senden die Felder, die Sie gerade kennen, aus side_a, side_b, side_c, angle_a, angle_b und angle_c, und der Löser ermittelt, welches Verfahren anzuwenden ist. Drei bekannte Seiten lösen den Kosinussatz aus; zwei Seiten mit dem dazwischenliegenden Winkel verwenden einmal den Kosinussatz und danach den Sinussatz; eine Seite zusammen mit zwei Winkeln ist ein reines Sinussatz-Problem. Sie müssen den Fall niemals selbst benennen, und die Antwort enthält stets ein <em>method</em>-Feld, das den gewählten Lösungsweg dokumentiert — nützlich, wenn Sie Ergebnisse protokollieren oder zwischenspeichern. Weil die Schnittstelle einheitlich ist, löst derselbe Client-Code eine Dachneigung, eine Landvermessung und eine Hausaufgabe, ohne je nach Kombination zu verzweigen.
Konsistenz wird geprüft, nicht vorausgesetzt
Reale Messungen widersprechen sich. Wenn Sie mehr als die drei Werte senden, die ein Dreieck zwingend benötigt — etwa alle drei Seiten plus einen im Gelände gemessenen Winkel —, ignoriert der Löser den Überschuss nicht stillschweigend. Er löst das Dreieck zunächst aus einer bestimmenden Teilmenge und prüft anschließend jeden verbleibenden Wert innerhalb einer engen Toleranz gegen diese Lösung. Ein Wert, der dem Rest widerspricht, erzeugt einen ausdrücklichen Fehler, der das betreffende Feld nennt, statt eines plausibel wirkenden Dreiecks, das nur einen Teil Ihrer Eingabe leise erfüllt. Dieselbe Strenge erkennt die klassischen Fehlerfälle, bevor überhaupt gerechnet wird: drei Winkel, die nicht 180 Grad ergeben, drei Seiten, die gegen die Dreiecksungleichung verstoßen, ein SSW-Paar, dessen dem bekannten Winkel gegenüberliegende Seite zu kurz ist, und der mehrdeutige SSW-Fall, in dem zwei wirklich verschiedene Dreiecke zu den Daten passen. In dieser letzten Situation sagt der Löser dies offen und bittet um eine weitere Messung, statt einen Gewinner zu wählen, den Sie nicht gewählt haben.
So binden Sie ihn ein
Senden Sie ein JSON-Objekt mit den bekannten Feldern als Zahlen — numerische Zeichenketten werden ebenfalls akzeptiert — und lesen Sie das vervollständigte Dreieck zurück: alle drei Seiten, alle drei Winkel in Grad, die Winkeleinheit und das verwendete Verfahren. Fehlende Angaben werden ergänzt; von Ihnen gelieferte Angaben werden zurückgespiegelt, sodass die Antwort einen vollständigen, in sich geschlossenen Datensatz des Dreiecks bildet. Alles wird deterministisch mit doppelter Genauigkeit berechnet und auf zehn Nachkommastellen gerundet, wodurch sich die Ausgabe in Tests und Caches Byte für Byte vergleichen lässt. Die Funktion läuft auf unserem globalen Edge-Netz, ohne dass etwas gespeichert wird, und genau dasselbe Modul läuft kostenlos in Ihrem Browser auf dieser Seite — Sie können eine Berechnung also von Hand ausprobieren und zahlen erst bei der Automatisierung $0.002 pro Anfrage. Es gibt keinen Zuschlag pro Einheit: eine Anfrage hinein, ein gelöstes Dreieck heraus, $0.002.
Anwendungsfälle
Eine Geländevermessung prüfen
Senden Sie die gemessenen Seiten und Winkel gemeinsam; jeder Wert, der dem Rest widerspricht, wird markiert statt weggemittelt.
Ein Dach oder eine Strebe dimensionieren
Zwei Seiten und der eingeschlossene Winkel liefern in einem Aufruf die dritte Seite und die übrigen Winkel für Ihre Zuschnittliste.
Geometrieaufgaben bewerten
Vergleichen Sie das von einem Schüler vervollständigte Dreieck mit der stabilen, gerundeten Ausgabe des Lösers für SSS-, SWS-, WSW- und WWS-Aufgaben.
Häufige Fragen
Was kostet das?
$0.002 pro Anfrage. Außerdem läuft er kostenlos in Ihrem Browser auf dieser Seite.
Welche Kombinationen von Werten kann ich senden?
Jede, die ein Dreieck eindeutig bestimmt: drei Seiten, zwei Seiten mit dem eingeschlossenen Winkel, zwei Winkel mit einer beliebigen Seite oder zwei Seiten mit einem nicht eingeschlossenen Winkel. Sie dürfen auch zusätzliche Werte senden; diese werden auf Konsistenz geprüft.
Was passiert beim mehrdeutigen SSW-Fall?
Wenn zwei verschiedene Dreiecke zu zwei Seiten und einem nicht eingeschlossenen Winkel passen, wird die Anfrage mit einem Fehler abgelehnt, der um eine weitere Seite oder einen weiteren Winkel bittet, statt zu raten.
Sind die Winkel in Grad oder im Bogenmaß?
In Grad, sowohl bei der Eingabe als auch bei der Ausgabe. Innenwinkel müssen positiv und kleiner als 180 sein.
Warum habe ich den Fehler ‚inkonsistente Eingabe' erhalten?
Weil einer der gesendeten Werte dem durch die übrigen definierten Dreieck über eine kleine Toleranz hinaus widerspricht — etwa ein Winkel, der nicht zu drei gemessenen Seiten passt. Prüfen Sie diese Messung erneut.
Kann ich ein Dreieck allein aus drei Winkeln lösen?
Nein. Winkel legen die Form fest, aber nicht die Größe; mindestens eine Seite ist daher erforderlich. Der Löser gibt einen Fehler zurück, der dies erklärt.
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/abc-triangle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"side_a":3,"side_b":4}'const res = await fetch("https://api.kit.forhosting.com/math/abc-triangle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"side_a": 3,
"side_b": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/abc-triangle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"side_a": 3,
"side_b": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/abc-triangle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"side_a":3,"side_b":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"side_a":3,"side_b":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/abc-triangle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"side_a": 3,
"side_b": 4
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.abc_triangle",
"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. |