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

tri und convhull für Volumen

 

trust114
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2016, 21:32     Titel: tri und convhull für Volumen
  Antworten mit Zitat      
Hallo Forum,

ich habe mal versucht das Volumen eines zeitlich veränderlichen Körpers zu ermitteln. D. h. ich benötige das Volumen zu allen Zeitpunkten in einer Liste.

Hier ein Ausschnitt meines codes:

Code:
for rr=1:length(Datei_neu)
     if any(zKoordinatendesBildes{rr},2)~=0
         [K,V(rr)]= convhull(MP_X,MP_Y,zKoordinatendesBildes{rr});
     else
         V(rr)=0;
     end
end


Mir geht es gerade nur um die Zeile mit dem convhull-Befehl. MP_X und MP_Y sind zwei arrays die die kartesischen Koordinaten in der xy-Ebene definieren und zKoordinatendesBildes die z-Werte. Also in einer mathematischen Funktion ausgedrückt f(x,y) = z.

Ich habe bis jetzt immer gedacht das convhull das Volumen ausrechnet. Nur seid heute bin ich mir da nicht mehr so sicher. Könnt ihr drüber schauen und mir sagen ob ich so auch wirklich das Volumen und nicht fälschlicherweise etwas anderes berechne.

Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.01.2016, 22:15     Titel: Re: tri und convhull für Volumen
  Antworten mit Zitat      
Hallo trust114,

Zitat:
Ich habe bis jetzt immer gedacht das convhull das Volumen ausrechnet.

Die Dokumentation von convhull erklärt, dass der 2. Output das gesuchte Volumen ist - allerdings das, der konvexen Hülle. Ist Dein Körper konvex?


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2016, 23:02     Titel:
  Antworten mit Zitat      
ja mein Körper ist gewölbt bzw. rundlich. Danke dir Jan S.
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2016, 12:39     Titel:
  Antworten mit Zitat      
Oder meintest du etwas anderes Jan S? Übersetzt bedeutet convex ja gewölbt oder rundlich. Aber habe gelesen das für ein convex eben mindestens 3 Punkte benötigt werden.

Und meine Grundfläche, sowie sämtliche Oberflächen meines Körpers sind dreieckig.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.01.2016, 14:56     Titel:
  Antworten mit Zitat      
Hallo trust114,

Konkave Körper sind auch gewölbt und rundlich, aber sie weisen Krümmungen nach innen auf. Ein 3D Körper mit nicht verschwindendem Volumen benötigt mindestens 4 Punkte.
Die Oberfläche einer Punktwolke kann man immer in Dreiecke zerlegen, allerdings ist das nicht eindeutig.

Wenn Dein Körper Dellen nach innen hat, z.B. Löcher, ist das Volumen der Konvexen Hülle größer als das Volumen des Körpers. Wenn der Körper konvex ist, ist der zweite Output von convhull das Volumen der konvexen Hülle.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
trust114
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 10.11.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2016, 16:07     Titel:
  Antworten mit Zitat      
Verstehe.

Mein Körper ist nach außen hin gewölbt und hat auch keine Dellen oder sowas. Hier mal ein Bild.

Für das Volumen V bekomme ich etwas realistisches heraus. Nur kapiere ich irgendwie nicht was K ist. K soll ja der Rand der konvexen Hülle sein.

Für K bekomme ich eine lange Liste mit drei Spalten, die, die Eckpunkte meiner Dreiecke wiedergeben. Nur ich weiß nicht wieso er ausgerechnet diese Dreiecke in K abspeichert.

Schönen Gruß

Bild.PNG
 Beschreibung:

Download
 Dateiname:  Bild.PNG
 Dateigröße:  20.58 KB
 Heruntergeladen:  414 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.01.2016, 20:24     Titel:
  Antworten mit Zitat      
Hallo trust114,

Die Funktionsweise des Befehls convhull ist der Dokumentation klar beschrieben. Bleiben nach dem Lesen noch Fragen offen?

Du findest die Dokumentation entweder, indem Du hier auf den Befehl klickst, oder lokal bei Dir:
Code:

Gruß, Jan
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 - 2024 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.