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

Abweichung von 2 Punktwolken

 

Matthias_B1995
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2016, 20:27     Titel: Abweichung von 2 Punktwolken
  Antworten mit Zitat      
Hallo,

Ich habe 2 3D-Punktwolken (mit bis zu 1000 Punkte), von denen folgendes bekannt ist:
- Beide Punktwolken sollten im Idealfall identisch sein
- Beide Punktwolken müssen nicht zwangsweise gleiche Anzahl an Punkten haben
- Beide Punktwolken liegen im Idealfall auf einer Ebene (Punkte sind aber leicht durchgebogen)
- Punktwolken sind im Raum beliebig orientiert
- Skalierung der Punktwolken ist gleich. Es muss also nur noch rotiert und translatiert werden

Diese beiden Punktwolken möchte ich nun zueinander registrieren, d.h. ich möchte sie übereinander legen und anschließend Abweichungen zwischen den beiden Punktwolken berechnen.

Hat jemand eine Idee wie sich dies mit Matlab einfach umsetzen lässt?
Prinzipiell würde mir aber der mathematische Ansatz auch schon reichen!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.09.2016, 22:10     Titel:
  Antworten mit Zitat      
Hallo,

sind die Ebenen durch die Punktwolken denn näherungsweise parallel?
Dann würde ich jeweils eine Ebene durch die Punktwolken berechnen - dabei sollten die Ebenen parallel zueinander sein - und dann den Abstand zwischen den Ebenen berechnen.

Alternativ könnte man zu jedem Punkt einer Wolke den Abstand zum nächstgelegenen Punkt der anderen Wolke bestimmen, und über diese Abstände mitteln.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Matthias_B1995
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2016, 23:57     Titel:
  Antworten mit Zitat      
Hallo Harald,

Danke für deinen Tipp, habe die Alternative genommen.
Kann man zwei punktewolken einfach mit einem Drehwinkel übereinander führen oder gibt es irgendetwas auf die ich achten muss.

Gruß Matthias
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.09.2016, 00:03     Titel:
  Antworten mit Zitat      
Hallo,

die Drehachse dürfte wichtig sein...
Da hilft vielleicht die Idee mit den Ebenen wieder... die Schnittgerade der Ebenen würde ich als Drehachse verwenden, und den Winkel zwischen den Ebenen als Drehwinkel.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Matthias_B1995
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2016, 14:18     Titel:
  Antworten mit Zitat      
Hallo Harald,

Ich habe mit dem Befehl surfnorm die Normalenvektoren ermittelt, da die normalenvektoren von mir nicht Parallel sind bedeutet dies das meine Ebene auch nicht parallel sein kann. Jetzt habe ich zwei Probleme:
1: Wie stelle ich die Ebene von meinem Punktwolken dar.
versucht habe ich mit dem meshgrid.
Code:

%     [y,z] = meshgrid(Y,Z);
%     [x,z] = meshgrid(X,Z);
%  
%     [x,y] = meshgrid(X,Y);


2: Kann ich den abstand beider Punktwolken mit den Normalenvektoren ermitteln ?
Habe im Internet nachgeschaut wie man den abstand von nicht Parallelen Ebenen(Normalenvektoren) bildet jedoch fand ich nichts nützliches.


Bedanke mich jetzt schonmal für deine Hilfe

Gruß Matthias
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.09.2016, 14:41     Titel:
  Antworten mit Zitat      
Hallo,

1. Ich würde fitlm verwenden.
2. Wenn meine Geometriekenntnisse mich nicht im Stich lassen, schneiden sich nicht-parallele Ebenen im 3D-Raum. So gesehen ist der Abstand also 0.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Matthias_B1995
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 16.09.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2016, 15:53     Titel:
  Antworten mit Zitat      
Das stimmt Harald wenn zwei ebenen nicht parallel sind, dann ist der abstand 0. Jedoch wie kann ich den Abstand mit Hilfe der Normalenvektoren ermitteln bzw. wie kann ich zeigen an welcher stelle von meinen Punktwolken der abstand Null ist.
Die Normalenvektoren von beiden Punktwolken voneinander abziehen macht ja wenig sinn. Deshalb suche ich nach einem verfahren in dem ich dies ermitteln kann.

Gruß Matthias
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.09.2016, 16:22     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Jedoch wie kann ich den Abstand mit Hilfe der Normalenvektoren ermitteln

Allein mit dieser Information gar nicht. Parallele Ebenen haben bis auf das Vorzeichen den gleichen Normalenvektor.

Zitat:
wie kann ich zeigen an welcher stelle von meinen Punktwolken der abstand Null ist.

Indem du die Schnittgerade bestimmst. Wenn du nicht weißt, wie das geht, findest du sicher online Informationen dazu. Ob dir die Lage der Schnittgerade allerdings nun weiterhelfen wird, kann ich nicht sagen.

Grüße,
Harald
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.