![]() |
---|
Hallo Zusammen, Ich würde gerne die Koordinaten des ersten Fermat-Punktes anhand drei Punkten berechnen. Unten seht Ihr ein Beispiel, welches ich mit einem 3D-Programm berechnet habe. Beispiel: A:"(0/10/8)" B:"(8.66/-5/9)" C:"(-8.66/-5/3)" Lösung: F:"(0.24/0.21/6.77)" Ich benötige lediglich eine universelle Formel, dass ich mit verschiedenen Punkten den Punkt errechnen kann. Vielen Dank! Grüße AarZeon Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich benötige bitte nur das Ergebnis und keinen längeren Lösungsweg." |
Hierzu passend bei OnlineMathe: Online-Übungen (Übungsaufgaben) bei unterricht.de: |
![]() |
![]() |
Schätze, dass du bei deiner Lösung und y-Koordinate vertauscht hast (siehe Anhang). Du kannst ja mal versuchen, die Konstruktion des ersten Fermat-Punkts allgemein, vorzugsweise mithilfe eines CAS, nachzurechnen. Die allgemeine Formel, die du "lediglich" benötigst wird aber vermutlich recht abschreckend komplex sein. ![]() |
![]() |
Zuerst mal Danke für deine Hilfe! In deinen Anhängen kommt "a", "Q" und "b" vor jedoch weis ich nicht woher die nun abgeleitet sind. Ich sehe aber auch nicht wo der Punkt Schnitt(P,a,Q,b) beim Punkt Fermat(A,B,C) vorkommen sollte. |
![]() |
Das Ganze ist nur ein schneller Hack gewesen und hat Teile aus bereits vorhandenen Routinen per copy and paste übernommen. Es findet auch keine Fehlerprüfung, ob eventuell kollinear sind, statt, etc. Drehpunkt setzt einer Seite des übergebenen Dreiecks (jener, die dem ersten Punkt gegeüberliegt, das gleichseitige Dreieck auf. Dies wird von "Fermat" zweimal gemacht um und zu erhalten. "Schnitt" schneidet danach die beiden Geraden und um den Fermat-Punkt zu erhalten. "Schnitt" ist einer Funktion für 2D-Geometrie entnommen und reicht hier aus, da ja sichergestellt ist, dass die beiden Geraden komplanar sind und der Schnittpunkt daher existiert. Schnitt ist eine Funktion und sind die formalen Parameter, die jeweils die Bedeutung von Stützpunkt und Richtungsvektor von zwei Geraden haben. Index 0 bezeichnet dabei jeweils die x-Komponente und Index 1 die y-Komponente. Als aktuelle Parameter werden von "Fermat" da eben A mit dem Richtungsvektor und mit dem Richtungsvektor übergeben. Ich verwende hier schlampigerweise für Punkte die gleiche Bezeichnung wie für ihren Ortsvector. Der Versuch, die Routine mit allgemeinen Koordinaten wie zu füttern quittiert das verwendete Programm (Mathcad) mit der Meldung, dass das Ergebnis zu groß sei, um angezeigt zu werden, aber für weitere Berechnungen verwendet werden kann. Mathcad ist allerdings auch nicht gerade für eine starke Leistung in symbolischer Berechnung berühmt und du hast vielleicht mit einem Programm wie Maple oder Mathematica mehr Glück. Die Berechnungen sind ja recht elementar, aber das symbolische Ergebnis ist eben doch ein umfangreicherer Ausdruck. Wofür benötigst du das alles denn im Endeffekt? |
![]() |
Eine letzte Ergänzung: Allein der Aufruf von "Drehpunkt" mit allgemeinen Koordinaten liefert schon einen Ausdruck, den das Programm als "zu groß" moniert. Hier lässt es sich aber immerhin noch überreden, die Koordinaten wenigstens einzeln anzuzeigen (siehe Anhang). Der Ausdruck ließe sich vermutlich noch ein wenig zusammen fassen - jedenfalls könnte man getrost auf die Betragsstriche verzichten. Damit hast du jetzt jedenfalls eine Vorahnung, welche Ausdrücke dich bei den Koordinaten des ersten Fermat Punkts erwarten ;-) |
![]() |
Im folgendem Geogebra Link siehst Du, wie die Koordinaten der drei Punkten entstehen. Somit ist es nicht nötig die drei Punkte auf Kollinearität zu prüfen. www.geogebra.org/3d/rajhq3qm Ao / Bo / Co für sind für die X- und Y-Koordinaten bestimmt und ZAo / ZBo / ZCo für die Z-Koordinate. Wie ich sehe hattest Du recht das die Formel SEHR abstrakt wird ;-) |
![]() |
Hallo immer noch das gleiche Gelenk? Bitte wenn, dann auf ggb Classic verweisen und nicht auf die unfertige 3d App. Wenn ich wxMaxima auf die Formeln von Roman ansetze komm ich auf ca. 500 Zeilen (19899 Zeichen)... |
![]() |
> Ich benötige lediglich eine universelle Formel, dass ich mit verschiedenen Punkten den Punkt errechnen kann. Wenn man diese Formel nicht selbst entwickeln will, kann man auch einfach bei de.wikipedia.org/wiki/Fermat-Punkt nachschauen, Abschnitt "Baryzentrische Koordinaten". |
![]() |
Hallo maxsymca, Ja, immer noch das gleiche Gelenk ;-) Deine Formel die Du mal vor 1-2 Jahren erstellt hast, hatte einige Fehler bei grösseren Winkel und dies viel mir nun bei dem neuen Prototyp zum Verhängnis. Ich konnte den Fermat Punkt mit Hilfe dem GRG-Nichtlinear Solver auf Excel berechnen, jedoch findet er nur Teils eine Lösung. |
![]() |
Hallo HAL9000 Leider ist unter dem Abschnit "Baryzentrische Koordinaten" nur die Möglichkeit eines 2D Fermat Punktes zuberechnen. Unglücklicherweise befinde ich mich in einem 3D Koordinaten System und unter den Trilineare Koordinaten sind diese nicht eindeutig definiert. |
![]() |
Da irrst du dich: Das funktioniert für Punkte in einem beliebigen . |
![]() |
Ich versuchte es mit dem Trilineare Koordinaten bereits, aber die Koordinaten muss ich anschließend mit einer Zahl multiplizieren das diese die korrekte Skalierung hat. Im meinem Fall war die Zahl zwischen 4.456 und 4.475. Und ich habe bis heute keinen Weg gefunden die Zahl korrekt zu definieren. |
![]() |
Die Berechnung über Baryzentrische Koordinaten ist sicher nicht die effizienteste, da gibt es bessere - aber sie funktioniert: Aus den -Koordinaten von bestimmt man die reellen Dreiecksgrößen , daraus dann , , und damit dann den Fermatpunkt als Linearkombination . Klappt für alle . |
![]() |
Ich habe es nun mit deiner Baryzentrische Methode versucht, leider komme ich auf komplett falsche Resultate. Höchstwahrscheinlich weil ich dies Falsch zusammen gerechnet habe. Könntest Du vielleicht die Resultate im folgendem Bild kontrollieren? Zusätzlich hatte ich bei der Formel für den Fermatpunkt große Schwierigkeit im Anhang siehst Du, wie ich die Koordinaten gerechnet habe. |
![]() |
Bis hin zu scheint es richtig zu sein. Die Linearkombination berechnest du aber offenkundig falsch: Wenn alle drei Baryzentrischen Koordinaten positiv sind, dann muss der Zielpunkt im Dreiecksinneren liegen, und logischerweise die x-,y-,z-Koordinaten damit notwendig in der Spanne von Minimum bis Maximum der jeweiligen Koordinaten der drei Ausgangspunkte. Das hast du zumindest bei der -Koordinate aber sowas von versemmelt... :( Ich komme auf (0.206/0.240/6.770), d.h. die - und -Koordinate sind gegenüber deinen Werten im Eröffnungsposting vertauscht. |
![]() |
Mein Fehler ich habe im letzte Schritt anstelle Ax Bx Cx stattdessen habe ich Ax Ay Az benutzt. Vielen Dank, Du hast mir mehrere Stunden die ich mit Vektor Geometrie verbracht zunichte gemacht, wenigstens habe ich was dazugelernt ;-) Deine Formel funktioniert Wunderbar! |
![]() |
Mein Fehler ich habe im letzte Schritt anstelle Ax Bx Cx stattdessen habe ich Ax Ay Az benutzt. Vielen Dank, Du hast mir mehrere Stunden die ich mit Vektor Geometrie verbracht zunichte gemacht, wenigstens habe ich was dazugelernt ;-) Deine Formel funktioniert Wunderbar! |
![]() |
> Du hast mir mehrere Stunden die ich mit Vektor Geometrie verbracht zunichte gemacht Das tut mir leid. Aber ich gehe davon aus, dass die damit verbrachte Zeit letzten Endes doch keine Verschwendung war, irgendein Lerneffekt wird schon bleiben. ;-) Zum obigen Weg ist noch zu sagen, dass er nur funktioniert für Dreiecke, deren größter Innenwinkel ist. Bei genau kommt es sogar zum Crash wg. (Division durch 0). Also aufpassen, und sowas vorher abfangen! ----------------------------------------------------- Hab nochmal etwas rumgerechnet: Mit den Hilfsvariablen kann man übrigens auch folgende Baryzentrischen Koordinaten verwenden: Komplett trigonometriefrei, d.h., außer dreier Wurzeln nur die vier Grundrechenarten. Das hatte auch Roman-22 schon erreicht, sogar mit Herleitung. Allerdings geht diese Variante hier im beliebigen . ;-) |
![]() |
Hallo HAL9000 Ich habe nun deine neue Vorgehensweise ausprobiert. Leider verstehe ich das nicht ganz, könntest Du mir erklären wie ich auf den Wert kommen kann? Zusätzlich bin ich mir auch nicht sicher, ob mein Wert bei stimmt. Ich benutze die selben Punkte wie ganz oben im Beitrag. Bei habe ich wie folgt gerechnet: mein Resultat: Bei habe ich wie folgt gerechnet: mein Resultat: Bei habe ich wie folgt gerechnet: mein Resultat: Vielen Dank für deine Hilfe! |
![]() |
Mit meine ich das gewöhnliche Euklidische Skalarprodukt. |
![]() |
Hallo HAL9000 Als Beispiel Wenn ich nun aus diesen Dreipunkten den Fermat Punkt ziehe erhalte ich: Wenn ich nun ein Ebene durch die Dreipunkte ziehe erhalte ich: Nun mein Problem der Fermat Punkt tangiert die Ebene nicht. Ist das So? oder habe ich einen Fehler gemacht. www.geogebra.org/3d/bszfcwga Gruss Aaron |
![]() |
Das kann nicht sein: Ganz egal, wie groß die reellen Zahlen sind - solange ihre Summe von Null verschieden ist, liegt der Punkt ZWINGEND in der von aufgespannten Ebene (ist also prinzipbedingt bei Baryzentrischen Koordinaten immer so)!!! Du musst dich daher verrechnet haben. EDIT: Deine Ebenengleichung scheint falsch zu sein - Vorzeichenfehler im Mittelterm und vergessener Dezimalpunkt im letzten: |
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.
|