|
|
Winkel zwischen 3 Punkten berechnen |
|
ElDorado2604 |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 30.12.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 15:20
Titel: Winkel zwischen 3 Punkten berechnen
|
 |
Hallo zusammen,
ich habe folgendes Problem.
Über ein Bewegungsanalysesystem habe ich die 2dimensionalen Koordinaten (also x und y) von 3 Punkten a, b und c in einer Excel-Tabelle.
Diese möchte ich nun zuerst ein mal einlesen, dann die Punkte ab und bc verbinden und den Winkel zwischen den entstehenden Geraden berechnen.
Bisher habe ich folgendes:
Hier habe ich also die Excel eingelesen, und zugeordnet, welche Werte in welche Spalte stehen.
Jetzt stehe ich allerdings völlig auf dem Schlauch.
Kann mir jemand weiterhelfen?
VG
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 15:33
Titel:
|
 |
Hallo,
wo liegt das genaue Problem?
Du kannst aus den Punkten zwei Vektoren erzeugen (voneinander abziehen) und dann über das Skalarprodukt (entweder explizit berechnen oder
dot
) den Cosinus des Winkels bestimmen, dann mit
acos
den Winkel.
Grüße,
Harald
|
|
|
ElDorado2604 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 30.12.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 16:08
Titel:
|
 |
Eine Linie zwischen den Punkten kann ich ja normal mit line (A,B) und line (B,C) erzeugen, wenn ich vorher
A = [xa;ya];
B = [xb;yb];
C = [xc;yc];
oder?
Wie berechne ich dann noch den Winkel zwischen den Linien?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 16:15
Titel:
|
 |
Hallo,
line
hilft dir - abgesehen von der falschen Anwendung; siehe Doku - wenig, wenn du die Vektoren haben möchtest.
Die x-Koordinate von AB wäre z.B.
Ansonsten habe ich dir an sich die benötigten Schritte beschrieben. Zur Formel siehe hier:
https://de.wikipedia.org/wiki/Skalarprodukt
Ach ja,
norm
für Länge des Vektors fehlte noch.
Grüße,
Harald
|
|
|
ElDorado2604 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 30.12.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 16:18
Titel:
|
 |
Danke, schon verstanden!
Hab also das hier gemacht:
Müsste so korrekt sein oder?
Dann habe ich also einen Vektor AB und einen Vektor BC.
Zuletzt fehlt dann nur noch der Winkel dazwischen, richtig?
Welchen Matlab-Befehl gibt es hier?
[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 18:39
Titel:
|
 |
Hallo,
Zitat: |
Müsste so korrekt sein oder? |
Sofern die Excel-Tabelle nur eine Zeile hat: ja.
Zitat: |
Zuletzt fehlt dann nur noch der Winkel dazwischen, richtig?
Welchen Matlab-Befehl gibt es hier? |
Meines Wissens gibt es nicht den einen Befehl hierfür. Wie du den Winkel über eine Folge einfacher Befehle berechnen kannst, habe ich dir bereits geschrieben.
Grüße,
Harald
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 30.12.2015, 23:31
Titel:
|
 |
Hallo ElDorado2604,
Den Winkel zwischen zwei Vektoren zu berechnen ist nicht trivial, wenn man das numerisch stabil tun möchte. Einfach nur den ACOS des Punkt-Produkts zu verwenden ist nämlich instabil, d.h. für machne Werte ist das Ergebnis sehr ungenau. Mit ASIN hat man das gleiche Problem, nur für andere Werte.
Stabil ist:
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|