Verfasst am: 14.01.2016, 12:27
Titel: Gerade bilden mit gleichem orthongonal Abstand zu 2 weiteren
Hallo ich möchte eine Funktion schreiben, die 2 Punktpaare übergeben bekommt. Durch diese soll sie zwei lineare Geraden bilden. Die Geraden können, müssen aber nicht, die gleiche Steigung haben. Zum komplizierten Teil:
Es soll eine weitere Gerade oder Funktion errechnet werden deren orthogonaler Abstand zu den beiden anderen Geraden immer gleich ist. Was ich schon herausgefunden habe ist, dass es nicht die Winkelhalbierende ist ^^
Mein Problem in der Darstellung ist allerdings schon, dass ich nicht weiß, wie ich bisher eine Gerade aus zwei Punkten anders darstellen kann als folgendermaßen:
Also ich weiß nicht, wie ich die Gerade in Parameterform plotten lasse.
mit dieser Darstellung fällt eine Allgemeine Berechnung für x-beliebige Bereiche schwer. Es soll letztendlich eine Funktion entstehen, die dies für eine Matrix mit mehreren Randpunkten einer Strecke berechnet. Dabei liegen die Randpunkte nicht immer genau gegenüber, was viele kleine Intervalle verursacht.
Zu Anfang geht es mir aber erstmal darum, dass ich die mittlere Gerade/Funktion für ein Intervall hinbekomme
Mein erster Ansatz war über die Winkelhalbierende aber dies hat leider nicht funkioniert.
Letztlich bekomme ich eine Tabelle übergeben in der die Matrizen A= [n,2], B=[m,2] sind.
einmal für den inneren und für den äußeren Rand in der einen Zeile ist dann der x-wert in der anderen der y-wert.
Also ich hab zweimal ne x-spalte und zweimal ne y-spalte ^^
d.h. für das erste Paar für die ersten beiden Geraden reicht es die Punkte so auszulesen oder?
so könnte ich doch schonmal alle Punktpaare holen. ( vereinfacht für zwei gleich große Matrizen)
sind in diesem Beispiel A die x-Werte und B die y-Werte, oder ist in der Matrix A der Punkt(x/y) enthalten und in Matrix B der zweite Punkt(x/y) der Geraden enthalten?
Das stimmt - denn da wirst du weder bei beiden einen orthogonalen Abstand erreichen noch wird die Mittellinie eine Mittellinie sein! Da kommt es wohl zu einer Verzerrung
Aber du sollst ja dieses Forum nutzen wenn du programmier-technisch nicht weiter kommst! Die Aufgabe musst du dir selbst stellen und umsetzen probieren! Wenn du an der Umsetzung hängst, dann kannst du weiter fragen!
Deshalb: In welcher programmier-technischen Hinsicht scheiterst du gerade an deiner Umsetzung?
Punkte aus der Matrix auslesen und dann immer zwischen dem aktuellen und letzten eine Linie ziehen.
Ich hab mir für die beiden Straßenseiten jetzt das überlegt:
also wenn du die beiden plots in zwei for-Schleifen hast, dann rechnet dein Comp viel umher! Wie schon gesagt - MatLab ist prinzipiell auf Matrizen-Rechnungen aufgebaut und braucht wenn möglich keine Schleifen! Um es mit deinen Variablen zu veranschaulichen, poste ich folgenden Code:
Ist es möglich diese Linien auch als einzelne Funktionen darzustellen, die nur in diesem Bereich geplottet werden?
damit ich bei nicht gegenüber liegenden Punkten die Lotfußpunkte zur gegenüberliegenden Gerade berechnen könnte?
vorab noch ein Tipp von mir! Poste immer den dazu gehörenden Code-Abschnitt dazu um ein besseres Verständnis für die Community zu erreichen! Wenn du schreibst:
"Ist es möglich diese Linien auch als einzelne Funktion darzustellen, .. "
Da kann ich mir zwar grob was vorstellen - eine Code würde es allerdings erleichtern - meinst du, eine Variable die nur auf einen Straßenabschnitt (Linie) drauf zugreift?
Das Beispiel was ich geschrieben habe ist vielleicht blöd. also in der tatsächlichen Simulation später werden die Punkte der Streckenränder nicht mehr gegenüber liegen.
Für mich wäre es gut die Geraden zwischen zwei Punkten als tatsächliche Funktionen irgendwo abspeichern zu können. Allerdings darf auf diese Funktionen auch nur im Bereich zwischen den beiden Punkten zugegriffen werden.
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.