goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Automatisierungstechnik

Studierende:
Praktikant/-in im Bereich Akustik
Kfz-Zulieferindustrie
Behr GmbH & Co. KG - Stuttgart

Abschlussarbeit Entwicklung von innovativen Technologien (Leistungselektronik, Regelungstechnik, Matlab; Bachelorarbeit)
Energieversorgung
SMA Solar Technology AG - Niestetal

Praktikanten und Diplomanden (m/w) im Bereich Steuerungsentwicklung für Hybridantriebe
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Schweinfurt

Praktikum Entwicklung von Leistungselektronik (Simulation mit Matlab / Simulink)
Energieversorgung
SMA Solar Technology AG - Niestetal

Praktikant (m/w) im Bereich digitale Signalverarbeitung - Simulation eines Funkkommunikationssystems
Mess- und Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - Stuttgart

weitere Angebote

Partner:




Vermarktungspartner


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-Newbie
Forum-Newbie

Beiträge: 8
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-Newbie
Forum-Newbie

Beiträge: 8
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: 5356
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     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
Private Nachricht senden Benutzer-Profile anzeigen
 
NachtStille
Themenstarter

Forum-Newbie
Forum-Newbie

Beiträge: 8
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: 3887
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 6.5, 2009a
     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-Newbie
Forum-Newbie

Beiträge: 8
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



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.