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

Punktdetektion

 

CptWittrich
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 25.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2017, 11:22     Titel: Punktdetektion
  Antworten mit Zitat      
Hallo ich habe eine weitere Frage. Ich muss ein kurzes Programm schreiben, dass im Umkreis, den ich selbst per variable verstellen kann, um einen Punkt erkennt ob andere Punkte in diesem Umkreis liegen und wenn ja welche Koordinaten diese Punkte haben. Komme allerdings nicht Voran. Würde mich über jede Hilfe freuen.
Private Nachricht senden Benutzer-Profile anzeigen


retsam
Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.04.2017, 19:18     Titel:
  Antworten mit Zitat      
Hallo
um welche Art von Punkten handelt es sich?
Liegen diese schon in einer Matrix vor als Peak, oder noch als Bild?

Greetz

Ret
Private Nachricht senden Benutzer-Profile anzeigen
 
CptWittrich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 25.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2017, 08:42     Titel:
  Antworten mit Zitat      
Liegen bereits in einer Matrix vor, die Punkte erzeugt das Programm selbst speichert sie ab und soll dann im Umkreis um diese Punkte andere Punkte und den Abstand zu Ihnen detektieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2017, 08:55     Titel:
  Antworten mit Zitat      
Hallo,
wie liegen denn die Daten vor?
Wie muss ich mir das Vorstellen? Eine Glaskugel habe ich nicht.
Greetz
Retsam
Private Nachricht senden Benutzer-Profile anzeigen
 
CptWittrich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 25.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2017, 11:53     Titel:
  Antworten mit Zitat      
Ich habe ein Matrix in der Punkte von Dreiecken gespeichert sind nun soll um die Punkte der Dreiecke in einem variablen umkreis um diese nach Eckpunkten von anderen Dreiecken gesucht werden. Im folgenden der Codeausschnitt der die Punkte generiert und abspeichert:

Code:
%% Dreieckspunkte berechnen
  clear i;
 i=1;
 while i<=AnzahlU-1
 %Länge des Lotrichtungsvektors
 LaengeRVLot(i)=sqrt(RVLot(i,1)^2+RVLot(i,2)^2);
 %Berechnen der Punktkoordinaten in Richtung des normierten Lotvektors um
 %den Betrag der Höhe eines gleichseitigen Dreiecks vom Mittelpunkt aus
 PDreieck(i,1)=MP(i,1)+LaengeLot(i)*(1/LaengeRVLot(i))*RVLot(i,1);
 PDreieck(i,2)=MP(i,2)+LaengeLot(i)*(1/LaengeRVLot(i))*RVLot(i,2);
 i=i+1;

 end
axis equal
hold on
plot(PDreieck(:,1),PDreieck(:,2),'*')
 
 
%% Plotten der Dreiecke
%Abspeichern der 3 Dreieckskoorndinaten in die Matrix KnotenDreiecke
clear i;
i=1;
while i<AnzahlU
        KnotenDreieckeX(i,:)=[KnotenU(i,1) KnotenU(i+1,1)];
        i=i+1;
end
clear i
i=1;
while i<=AnzahlU-1
        KnotenDreieckeX(i,3)=PDreieck(i,1);
        i=i+1;
end
clear i;
i=1;
while i<AnzahlU
        KnotenDreieckeY(i,:)=[KnotenU(i,2) KnotenU(i+1,2)];
        i=i+1;
end
i=1;
while i<=AnzahlU-1
        KnotenDreieckeY(i,3)=PDreieck(i,2);
        i=i+1;
end
clear i;
% PLotten der Dreiecke
for i=1:AnzahlU-1
    hold on
plot(KnotenDreieckeX(i,:),KnotenDreieckeY(i,:))
end
clear i
for i=1:AnzahlU-1
    hold on
plot(KnotenDreieckeX(i,1:2:3),KnotenDreieckeY(i,1:2:3))
end



Und wie beschrieben muss ich im Umkreis um diese Punkte andere Punkte finden können

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
retsam
Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2017, 12:36     Titel:
  Antworten mit Zitat      
Hallo,
also wenn ich es richtig verstehe, dann suchst du quasi die Punkte im Umkreis um den Ausgangspunkt X.
Ich würde es wie folgt lösen um die Punkte zu finden:
Angenommen du hast eine Matrix (3x6).
Code:

matrixA =

     1     2     1
     0     1     0
     1     0     0
     1     2     0
     1     0     1
     0     0     0
 

Dann würde ich (ausgehend von Zeile 4; Spalte 2) dein Startpunkt erst alle Zellen vertikal subtrahieren und dann die Matrix um 90° drehen um die Zellen wieder zu subtrahieren. An dem Punkt wo ein Vorzeichenwechsel stattfindet ist ein Peak oder Punkt (je nachdem wie du das bezeichen möchtest). Beide Ergebnismatrixen (aus den jeweiligen Subtraktionen) vergleichst du miteinander.

Hinterher bestimmst du den Radius um deinen Ausgangspunkt mittels Variable und suchst von dort aus die Punkte in der nähe.

Greetz

Retsam
Private Nachricht senden Benutzer-Profile anzeigen
 
CptWittrich
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 25.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.05.2017, 09:02     Titel:
  Antworten mit Zitat      
Geht dies auch irgendwie mit der "rangesearch" funktion von Matlab?
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.