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

Inhalte einer 3D-Matrix als Oberfläche plotten?

 

RoyalFlush
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 82
Anmeldedatum: 27.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2010, 07:09     Titel: Inhalte einer 3D-Matrix als Oberfläche plotten?
  Antworten mit Zitat      
Hallo!

Ich habe eine Matrix M(x,y,z). In dieser Matrix liegt z.B. ein Zylinder irgendwie schief drin. Die Punkte des Zylinders sind in der Matrix mit 1 beschrieben, überall wo kein Objekt ist ist die Matrix 0.

Ich würde den Zylinder jetzt gerne als 3D-Oberfläche darstellen, leider weiß ich nicht recht wie ich das anstellen soll. Ich habe von jedem Punkt des Zylinders die x-, y- und z-koordinaten.

Ich weiß, dass es da surf usw. gibt, allerdings komm ich damit nicht klar.


Bitte um Eure Hilfe,
Danke.

3D-Beispiel.tif
 Beschreibung:

Download
 Dateiname:  3D-Beispiel.tif
 Dateigröße:  424.09 KB
 Heruntergeladen:  986 mal
Private Nachricht senden Benutzer-Profile anzeigen


tom

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2010, 14:17     Titel:
  Antworten mit Zitat      
hi! das könnte dir weiterhelfen:

http://www.gomatlab.de/3d-bodediagramm-t10768.html

grüße
 
tom

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2010, 14:22     Titel:
  Antworten mit Zitat      
sorry, falscher eintrag kopiert. ich meine das hier:

Code:

rangeX  = 10:100:10^5; % X- Datenbereich festlegen
rangeY  = 0:0.1:0.5;       % Y- Datenbereich festlegen
[X,Y]=meshgrid(rangeX,rangeY);  % Gitternetz
%Interpolation der Messwerte Z an den Gitterpunkten X,Y
Z=griddata(xdata,ydata,zdata,X,Y,'cubic');
surf(X,Y,Z);
 
 
RoyalFlush
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 82
Anmeldedatum: 27.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2010, 14:27     Titel:
  Antworten mit Zitat      
Danke für die Antwort.


Wenn ich das mit meinen Daten so mache, dann kommt immer der Error:

??? Error using ==> qhullmx
qhull precision error: initial facet 1 is coplanar with the interior point


Meine Daten sind ca. 200000x3 (x,y,z). Was geht da schief?
Private Nachricht senden Benutzer-Profile anzeigen
 
Michias

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.05.2011, 18:00     Titel: Isosurface
  Antworten mit Zitat      
Hallo RoyalFlush!

Die Funktion 'isosurface' verwendet man, um z.B. Äquipotentiallinien zu zeichnen.
Wenn du dein Array auf 1 vergleichen lässt, könnte das vielleicht klappen.

Aus der Matlab-Hilfe:
Code:

p = patch(isosurface(V,1));   %Vergleiche deine 200000x3-Matrix auf 1
isonormals(V,p);   %isonormals bietet einen schöneren Plot als isosurface
set(p,'FaceColor','blue','EdgeColor','none');    %Plot-Optionen
view(3); axis equal; camlight; lighting phong  %Plot-Optionen
 
 
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.