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

Problem bei der Ermittlung der konvexen Hülle

 

NachtStille
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.02.2011, 13:30     Titel: Problem bei der Ermittlung der konvexen Hülle
  Antworten mit Zitat      
Hallo zusammen,
ich versuche die konvexe Hülle von vier 3d-Punkten zu ermitteln. Die konvexe Hülle dieser Punkte ist jedoch zweidimensional.
Anscheinend hat die Routine convhull Probleme, wenn die konvexe Hülle dreimensionaler Punkte nur zweidimensional ist.

Code:

X=[P1,P2,P3,P4];
K = convhulln(X')
trisurf(K, X(:,1),X(:,2),X(:,3), 'FaceColor', 'red')


Ich benötige auf jeden Fall die konvexe Hülle dieser vier Punkte. Doch ich weiß nicht, wie ich das Problem beheben kann Sad

Freu mich auf eine Antwort.

Vielen Dank im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


NachtStille
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2011, 00:26     Titel:
  Antworten mit Zitat      
Kann mir denn keiner helfen? Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.02.2011, 12:52     Titel:
  Antworten mit Zitat      
Hallo,

Freitag und Wochenende ist hier eine eher ruhige Zeit. Aber versuch vielleicht auch, dein Problem besser zu beschreiben:
- ein Beispiel von P1 - P4, bei dem Probleme auftreten
- nutzt du nun convhull oder convhulln? Beides wird einmal erwähnt.
- wie äußern sich die Probleme?

Bei vier Punkten stelle ich mir das auch etwas schwierig vor: entweder sie liegen nicht in einer Ebene, dann sind die 4 Punkte zugleich die konvexe Hülle. Oder sie liegen in einer Ebene (oder gar auf einer Geraden), dann kann man 1 bzw. 2 Punkte "weglassen".

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
NachtStille
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.02.2011, 13:50     Titel:
  Antworten mit Zitat      
Hallo Harald,
hast recht,ich war viel zu ungeduldig..aber du kennst es bestimmt, wie es einem geht, wenn man stundenlang vor einem Problem steht und nicht voran kommt ))

zu meinem Problem; etwas präziser;
Es handelt sich um eine rechteckige Ebene, die z.B. durch folgende vier Eckpunkte definiert ist;
P1=[104;100;103],
P2=[103;100;103],
P3[103;100;103],
P4=[104;100;102].

Ich muss die konvexe Hülle dieser Punkte finden,um sie korrekt "nummerieren" zu können. Dadurch soll vermieden werden, dass zum eine "eckige 8" entsteht, statt einem Rechteck. Diese Punkte sind komplanar, was womöglich zu Problemen führt..

Ich habe es x-mal sowohl mit
%X=[P1,P2,P3,P4];
%K = convhulln(X') als auch convhull probiert.. Sad



Liebe Grüße
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: 13.02.2011, 22:32     Titel:
  Antworten mit Zitat      
Hallo NachtStille,

Eigentlich möchtest Du vier Punkte in 2D so numerieren, dass die Verbindung nicht überkreuz ist. Das ist zwar eine konvexe Hülle, aber eigentlich geht das auch viel einfacher:
CART2POL kann Dir Polarkorrdinaten ür die Punkte berechnen. Wenn Du sie dann nach dem Winkel sortierst, bekommst Du die Reihenfolge der Punkte ohne Überkreuzung.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 12.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.02.2011, 12:56     Titel:
  Antworten mit Zitat      
Hallo Jan,
vielen Dank für dein Tipp!hört sich sehr elegant an Smile
werds gleich ausprobieren;-)

Lieben Gruß
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.