|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.10.2016, 13:40
Titel: "begrenzen" von ebenen
|
|
|
|
|
Moin.
folgende aufgabe:
Ich habe ein CAD Modell, von dem die Oberflächen durch ein Dreiecksgitter angenähert sind. Als 1. Eingabe für mein MAtlab script hab ich nun die Eckpunkte der besagten Dreiecke. (Als Matrix [X;Y;Z] und jeweils 3 aufeinander folgende Punkte definieren ein Dreieck)
Als 2. Eingabe habe ich eine Punktwolke. (Als 3 einzelne Vektoren)
nun soll ich von jedem Punkt den kürzesten Abstand zur nächsten ebene(Dreieck) berechnen, um zu schauen, wie gut die Punktwolke sich an das CAD Modell fittet.
Ich definiere nun alle gegebenen Dreiecke durch ebenen und bestimme mir für jeden der Punkte den minimalen Abstand zur nächsten Ebene. (über Normalenvektoren)
Mein Problem ist jetzt dass die ebenen unendlich groß sind, und so zb auch Punkte zu Ebenen gefittet werden, zu denen sie gar nicht gehören.
gibt es in Matlab eine Möglichkeit die Ausmaße der eben zu begrenzen? bzw kann ich mir aus den 3 Punkten Dreiecke definieren und muss nicht über den Zusatzschritt der ebenen gehen?
Ich hoffe das war irgendwie verständlich
Danke schonmal im Voraus
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 17:01
Titel: Re: "begrenzen" von ebenen
|
|
Hallo Anonymous,
Du kannst Dir zu jedem Punkt das Dreieck suchen, das am nächsten liegt, indem Du den Abstand zwischen dem Punkt und der Ebene berechnest.
Gruß, Jan
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.10.2016, 15:19
Titel:
|
|
ja genau, das habe ich bereits getan.
Das Problem ist, dass ich die Dreiecke als ebenen definiert habe, das bedeutet sie sind unendlich groß.
liegt nun beispielsweise ein Punkt in einer Gegend, die ich "vergessen" habe durch ein Dreieck anzunähern sollte sein Fehlerwert vergleichsweise Groß sein.
Da nun aber die anderen Ebenen unendlich groß sind, kommt der Punkt meist irgendeiner Ebene nah, und wird mir deshalb nicht als Fehler angezeigt.
relevant dafür ist vielleicht noch, das es sich um sehr viele Dreiecke (730) und Punkte (235.000) handelt.
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 18:45
Titel:
|
|
Hallo Anonymous,
Zitat: |
Das Problem ist, dass ich die Dreiecke als ebenen definiert habe, das bedeutet sie sind unendlich groß. |
Aber Du hast schon noch die Koordinaten der Ecken der Dreiecke zur Verfügung, oder?
Zum Glückist 730 Flächen und 235'000 Punkte nicht sehr viel, so dass man das auch ohne besonders smarter Methoden lösen kann.
Vielleicht hilft Dir dies: https://www.mathworks.com/matlabcen.....oint-and-a-triangle-in-3d
Gruß, Jan
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.10.2016, 14:23
Titel:
|
|
Jo die habe ich, habe mir darüber Verbindungsvektoren berechnet, normalenvektor bestimmt, und aus dem die ebene. Das war eventuell etwas überflüssig :'D
Danke dir, ich gucke mal drüber
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|