Verfasst am: 24.11.2015, 15:06
Titel: Abfrage nach Operand
Hallo,
wie kann ich den Abfragen ob eine Variable addiert oder subtrahiert wurde?
Ich möchte nach Bestimmung des Schnittpunktes(s) der beiden Geraden ob von v2 oder u2 der Normalenvektor subtrahiert oder addiert wurde.
Code:
for jj = 2:n % Straßensegment mit 2 Dreiecken % 1.wo ist überstumpfe Winkel(180°<L<360°)? tf = isContourClockwise_liemor(xy(1, jj-1:jj+1), xy(2, jj-1:jj+1)); % im Uhrzeigersinn = überstumpf
L = xy(:, jj-1:jj+1);% [xy(:, jj-1:jj); xy(:, jj:jj+1)]; %
Verfasst am: 24.11.2015, 16:29
Titel: Re: Abfrage nach Operand
Hallo moehre,
Die Frage ist noch nicht klar. Um welche Stelle im Code geht es denn?
Meinst Du die Zeile "if ~xor(t2, tf) > 0"? Falls ja, liefert dies nicht schon die gewünschte Antwort?
Also ich habe gegeben mehrere Punkte einer Geraden.
Es werden daraus Straßen modelliert.
Berechnung: Beispielsweise habe ich xy = 3Punkte gebenen
1.) überstumpfe winkel bestimmen zwischen jj-1,jj,jj+1 mit der Funktion isContourClockwise_liemor()
2.) Differenzen zwischen den Punkten
3.) Normalenvektoren bestimmen (dy,dx)
4.) Gerade u2 (aus den Punkte j-1, j (Geraden siehe Bild = grün)
5.) Gerade v2 zwischen j, j+1
6.) l1,l2 = Kreuzprodukt zur Bestimmung des Schnittpunktes
7.) Berechnung des Schnittpunktes(s) (siehe Bild grüner Punkt)
ich will jetzt in allX und allY alle Punkte reinschreiben
Code:
for ii = 1:size(allStreetsStruct, 2)% alle streetPts(96)
xy = allStreetsStruct(ii).streetPts; % Punktkoordinaten vom aktuellen Straßenabschnitt
n = size(xy, 2)-1; % Anzahl Dreiecke im Straßenabschnitt
count = count + n;
wie kann ich allX, allY anpassen das der eine Punkt beim überstumpfen winkel (der berechnete Schnittwinkel S) genommen wird und die anderen bleiben identisch
Ziel ist es bei Straßen mit starken Kurven Lücken zu vermeiden.
Es wäre ein beachtlicher Aufwand sich in Deinen Code reinzuarbeiten. Alleine schon die Liste zu lesen und den bezug zum Code herzustellen, erfordert erhebliche Zeit. Schon der erste Satz ist nicht trivial:
Zitat:
Beispielsweise habe ich xy = 3Punkte gebenen
Was bedeutet "xy= 3Punkte"?
Zitat:
wie kann ich allX, allY anpassen das der eine Punkt beim überstumpfen winkel (der berechnete Schnittwinkel S) genommen wird und die anderen bleiben identisch
Welches ist "der eine Punkt" und welches sind "die anderen"?
Kannst Du die Frage auf die relevanten Code-Zeilen beschränken?
Ich vermute, in der bisherigen Form wird die Frage im Forum nicht beantwortet.
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
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.