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

Winkelfunktion

 

moehre
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 10.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2015, 18:01     Titel: Winkelfunktion
  Antworten mit Zitat      
Hallo Zusammen,

ich möchte gerne den größten Winkel zwischen zwei Dreiecken bestimmen!
1. Normalenvektor --> Winkel Z = Skalarprodukt / Länge
Dabei soll er mir am Ende den größten Winkel ausgeben zwischen zwei Dreiecken:

Code:
for ii = 1:size(allStreetsStruct, 2) %Iteration über alle Straßenabschnitte
     xy = allStreetsStruct(ii).streetPts;% Punktkoordinaten
     %xy = allStreetsStruct(ii);
     n = size(xy, 2)-1;
     
    for jj = 1:n% Iteration über Dreiecke vom Straßenabschnitt (oben)
       
        % wo ist überstumpfe Winkel(180°<L<360°)?
        allLines(:, count+1:count+n) = [xy(:, 1:end-1); xy(:, 2:end)];
        L = allLines+margin;
        count = count+n;
         
        allLength = sqrt((L(1, :)-L(3, :)).^2 + (L(2, :)-L(4, :)).^2);  
        % normalvector
        dy = thresh.*(L(1, :)-L(3, :))./allLength;
        dx = -thresh.*(L(2, :)-L(4, :))./allLength;
        % Winkel berechnen
        S = dot(dx,dy,2);%(x1y1+x2y2)
        B = S/ (allLength(1,1)+allLength(1,2));
        P = round(acosd(B),4); % cosd -> in degree
        Z = real(P);        
       
    end
     
end  


Hat jemand vllt. ne Idee wie ich das umsetzen kann?
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.10.2015, 11:01     Titel: Re: Winkelfunktion
  Antworten mit Zitat      
Hallo moehre,

Wie definierst Du denn "Winkel zwischen zwei Dreiecken" mathematisch? Wieso gibt es mehrere Winkel und wo ist das Problem beim bestimmen des größten?

Zitat:
1. Normalenvektor --> Winkel Z = Skalarprodukt / Länge

Das verstehe ich nicht.

Was macht der gepostete Code und welches Problem gibt es noch damit?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
moehre
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 10.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.10.2015, 16:13     Titel:
  Antworten mit Zitat      
Ich meinte nicht den Winkel zwischen zwei Dreiecken sondern den Winkel zwischen zwei Vektoren!
Ich habe eine Liste von Punkten durch die ich iteriere(ii = 96 Straßenabschnitte) pro Straßenabschnitt .

Ich suche den größten Winkel (überstumpfer Winkel alpha>180) siehe Anhang.
allLines= alle Linien eines Straßenabschnittes.
allLength = Länge der Seiten durch Pythagoras.
dy, dx = Normalenvektor---> der mir für den Winkel denke ich weniger bringt

Muss ich die Ortsvektoren der Punkte berechnen und dann jeweils den Winkel?

test.png
 Beschreibung:

Download
 Dateiname:  test.png
 Dateigröße:  8.12 KB
 Heruntergeladen:  351 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 22.10.2015, 22:49     Titel:
  Antworten mit Zitat      
Hallo moehre

Zitat:
Ich habe eine Liste von Punkten durch die ich iteriere(ii = 96 Straßenabschnitte) pro Straßenabschnitt .

In einem Forum ist es nützlich, alles wegzulassen, was nicht mit dem Problem zu tun hat. Du hast also eine "Liste von Punkten". Um Code empfehlen zu können, wäre es wichtig zu wissen, in welcher Form diese Liste vorliegt. Eine Matrix vielleicht?

Zitat:
allLines= alle Linien eines Straßenabschnittes.
allLength = Länge der Seiten durch Pythagoras.
dy, dx = Normalenvektor---> der mir für den Winkel denke ich weniger bringt

Das ist keine Liste von Punkten. Gehört das zur Frage oder ist es ein Teil Deines Lösungs-Versuchs? Der Winkel zwischen zwei Vektoren ist gleich dem Winkel zwischen ihren Normalen-Vektoren.

Zitat:
Muss ich die Ortsvektoren der Punkte berechnen und dann jeweils den Winkel?

Die Ortsvektoren der Punkte hast Du schon, nämlich die Koordinaten selbst. Welchen Winkel möchtest Du damit berechnen?

Bisher kann ich noch keine konkreten Ratschläge geben. Bitte erkläre das Problem genauer. Wie genau sehen die Inputs aus und was genau möchtest Du als Output?

Gruß, Jan
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 - 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.