WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

winkel einer geraden messen

 

gargamel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 07.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2008, 09:33     Titel: winkel einer geraden messen
  Antworten mit Zitat      
hallo,

ich hab ein problem mit dem rotieren eines bildes, ich hab 2 Punkte in einem bild und hab diese mit einer linie verbunden.
nun will ich das bild so rotieren dass die linie waagrecht steht. wie kann ich am besten den winkel herausfinden um welchen diese verdreht ist?

lg gargamel
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 18.09.2008, 10:03     Titel:
  Antworten mit Zitat      
Hi,

wenn Du die Koordinaten der beiden Punkte hast ist der Winkel gegenüber der Horizontalen alpha=arctan(m), mit m=delta_y/delta_x.
Hilft das?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
gargamel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 07.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2008, 12:22     Titel:
  Antworten mit Zitat      
das ist mir schon bewußt was du da schreibst, ich hab mich vl auch nicht klar ausgedrückt.
das problem bei der lösung die du mir da anbietest und die ich mir selbst auch schon überlegt hab ist jenes, dass ich den winkel dann nicht immer in die gleiche drehrichtung messen kann.

-angenommen ich drehe eine horizontale gerade um 30° im urhzeigersinn kommt mit dieser methode auch 30° heraus => stimmt

-wenn ich aber nun die gerade um 150° im uhrzeigersinn drehe dann kommt ja ebenfalls 30° heraus => stimmt leider nicht

und wie soll ich dann herausfinden um welchen winkel ich drehen muss damit damit meine linie wieder horizontal ist? gibt es denn für so ein problem keine matlab funktion? oder ha eventuell jemand eine funktiononierende lösung für mich?


edit:
ich kann ich nicht sagen welcher meiner zwei punkte oben unten oder sonst wo sein muss. die punkte werden vollkommen automatisch gerneriert und sind abhängig von der orientierung des objektes, welches ich geradedrehen will, die wiederum beliebig ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
gargamel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 07.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2008, 12:56     Titel:
  Antworten mit Zitat      
hab das problem jetzt ein bisschen schlampig gelöst, und zwar so dass ich gedanklich immer einen punkt als koordinatenursprung annehme und schaue wo ist der andere. liegt er gedanklich im ersten oder dritten Quadranten muss ich um 180° - alpha drehen und wenn er im zweiten oder vierten Quadranten liegt dann einfach nur um alpha.


fällt nicht jemanden eine bessere lösung ein wo och nicht mit if-Schleifen herumscheissen muss?
Private Nachricht senden Benutzer-Profile anzeigen
 
Helmert
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 18.09.2008, 15:32     Titel:
  Antworten mit Zitat      
Ich glaube, was Du suchst, ist die Funktion:
Code:
atan2(delta_y,delta_x)
Die berücksichtigt die Quadrantenmehrdeutigkeit der Arkustangensfunktion und liefert Dir stets den korrekten Winkel.
Private Nachricht senden Benutzer-Profile anzeigen
 
gargamel
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 07.04.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.09.2008, 15:51     Titel:
  Antworten mit Zitat      
@Helmert
danke, genau das war es das ich gesucht hab. funzt super und dass mit nur einer Zeile

thx
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.