Gleichseitiges Dreieck erstellen aus 2 Koordinaten
Ich bin langsam am Verzweifeln. Mein Ehrgeiz alleine eine Lösung zu finden ist nun nach 3 Stunden erloschen. Das ich so lange durchgehalten habe, finde ich doch recht erstaunlich, da es sich noch nicht mal um eine Hausaufgabe handelt, sondern lediglich um eine weiterführende Übung, die wir nicht einmal besprechen werden, da wir die Zeit dafür nicht haben. Dennoch möchte ich nun eine Lösung für das Problem finden.
Im Fach Informatik arbeiten wir momentan mit Delphi. Dort haben wir ein Programm erstellt, das verschiedene Formen zufällig in ein Image zeichnet (Ellipse, Rechteck). Da Delphi selber kein Dreieck erstellen kann, sollten wir uns daran versuchen.
Es geht nun also darum aus 2 beliebigen Koordinaten P(x1|y1), Q(x2|y2) ein gleichseitiges Dreieck zu Konstruieren. Dafür wird der dritte Punkt des Dreiecks benötigt.
Ich hatte schon mehrere Lösungen, die in und für sich schlüssig aussahen, jedoch beim Berechnen falsche Werte gaben. Könnte mir jemand erklären wie man zu einer Lösung kommt?
Ein paar Ansätze von mir:
Seitenlänge des Dreiecks:
a = [(x1-x2)² + (y1-y2)²]^0,5
Winkel zwischen P und einer parallelen der x-Achse:
α = tan ^-1 ((y1 -y2)/(x1-x2))
Alles andere lässt sich ohne Zeichnung nur schwer darstellen.
Ich hoffe jemand kann damit was anfangen und mir weiter helfen. VIelen Dank
Kannst Du mit Vektoren rechnen, bzw. kann Delphi das?
Damit könntest Du den Vektor zwischen den beiden Punkten bestimmen und daraus dann den Mittelpunkt dieses Vektors, bzw. die Länge.
Um die Entfernung zu bekommen musst Du dann tatsächlich mit dem Winkel und Tangens rechnen. Die Länge des halbierten Vektors und die Länge des gesamten Vektors in einem Winkel von 60° aufeinander stellen. Somit müsstest Du an den letzten Vektor kommen, bzw. wo genau die Spitze des Vektors liegt.
Ich denke mal, dass Dein Problem eher beim Berechnen des dritten Punktes liegt, das Zeichnen ließe sich einfach durch
- Code: Alles auswählen
TCanvas.Polygon(Array of TPoint);
Um diesen dritten Punkt zu errechnen gibt es ja mehrere Möglichkeiten, die den Besonderheiten des gleichseitigen Dreiecks geschuldet sind. Mir fällt spontan ein, dass das gleichseitige Dreieck immer drei Seiten mit der Länge a hat. Errichtet man am Punkt a/2 eine Gerade, die im Winkel von 90 ° auf a steht, dann kann man mit dem Satz des Pythagoras den Wert von h berechnen: (a/2)²+h² = a² => h = (1/2)*sqr(3)*a. Mit der Länge von h kann man dann auch den fehlenden Punkt des Dreiecks berechnen.
Link dieser Seite https://www.talkteria.de/forum/topic-36583.html
Ähnliche Themen
Weitere interessante Themen
- Notebook von Plus 3303mal aufgerufen · 3 Antworten · Autor: Simone1987 · Letzter Beitrag von Entenhausen
Forum: Hardware
- Notebook von Plus
- Lohnen sich Asien Fonds? 4369mal aufgerufen · 4 Antworten · Autor: Balthasar · Letzter Beitrag von FinanzScout
Forum: Geldanlage
- Lohnen sich Asien Fonds?
- Überweisung rückgängig machen 5820mal aufgerufen · 5 Antworten · Autor: Player · Letzter Beitrag von Wibbeldribbel
Forum: Geld & Finanzen
- Überweisung rückgängig machen