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

Wirklich 3 dimensionaler Plot

 

Boojakascha
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2011, 14:55     Titel: Wirklich 3 dimensionaler Plot
  Antworten mit Zitat      
Mein Problem ist dass mein 3D Plot nicht wirklich 3D ist. Je nachdem wie ich drehe ist mal alles rote forne, mal alles blaue. Was wirklich, geometrisch hinten und forne ist (im Vordergrund, im Hintergrund) scheint nicht relevant zu sein. Ich hätte aber gerne einen dreidimensionalen Plot!

Weiss jemand an was dass es leigen könnte? Darf ich kein fill3 machen?

problem.JPG
 Beschreibung:
pseudo 3d

Download
 Dateiname:  problem.JPG
 Dateigröße:  32.79 KB
 Heruntergeladen:  537 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: 08.04.2011, 23:24     Titel: Re: Wirklich 3 dimensionaler Plot
  Antworten mit Zitat      
Hallo Boojakascha,

Das sieht ja krass aus! Kannst Du posten, wie Du den Plot erstellt hast? Eigentlich sollte der 3D-Plot auch wirkluch dreidimensional sein.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2011, 11:58     Titel: Re: Wirklich 3 dimensionaler Plot
  Antworten mit Zitat      
Jan S hat Folgendes geschrieben:
Kannst Du posten, wie Du den Plot erstellt hast? n


Hier:

Code:

% Linear Polarisiertes Licht
clc
clear

% Konstanten
%---------------
c = 299792458;      % m/s
nue = 6e7;         % Hz

% Variablen
E0 = [0;1;1];
t = 10;             % s (= t0)
phase = 0;

x = [0:0.00923:10]; % x Punkte
N = length(x); % Anzahl Punkte

% Funktion
%-------------

E = sin(2*pi*nue*(t - x/c) + phase );

fill3(x,zeros(1,N),E,'r'), grid;
hold on
fill3(x,E,zeros(1,N),'b')
hold off

 


Es ist wirklich sehr schade. Ich habe jetzt versucht die Sache in Mathematica zu zeichnen, aber das kann nicht horizontal fillen ^^ ach ach...

Ich mache es jetzt so:

Code:

fill3(x,zeros(1,N),E,'r'), grid;
hold on
plot3(x,E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.9*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.8*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.7*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.6*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.5*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.4*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.3*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.2*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.1*E,zeros(1,N),'k','LineWidth',w)
    plot3(x,0.01*E,zeros(1,N),'k','LineWidth',w)
xlabel('x')
ylabel('H')
zlabel('E')
hold off
 
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: 12.04.2011, 00:15     Titel: Re: Wirklich 3 dimensionaler Plot
  Antworten mit Zitat      
Hallo Boojakascha,

Wenn Du per FILL3 in eine FIGURE zeichnest und dabei den Painters Renderer verwendest, kommt es zu diesen sehr schrillen Artefakten: Painters zeichnet die Objekte in der Reichenfolge ihrer Erstellung. Das ist in 3D natürlich unsinnig.

Nun, dann dachte ich, ZBuffer wäre besser geeignet:
Code:

c = 299792458;
nue = 6e7;
E0 = [0;1;1];
t = 10;
x = 0:0.00923:10;   % Ohne eckige Klammern effizienter!
N = length(x);
E = sin(2*pi*nue*(t - x/c));

figure('Renderer', 'ZBuffer');
fill3(x,zeros(1,N),E,'r');
grid on
hold on
fill3(x,E,zeros(1,N),'b');

Selten haben ich so einen Quatsch gesehen! Da stimmt wirklich gar nichts (zumindest in Matlab 2009a): Zum Teil werden die Flaächen ausserhalb der Fläche eingefärbt, sind pixel-weise durchsichtig, und haben verblüffende Umrandungen:

Köstlich.
Aber ordentlich sah es dann aus nach:
Code:
set(gcf, 'Renderer', 'OpenGL');

Oder gleich im FIGURE-Kommando einfügen.

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

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 07.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2011, 16:18     Titel:
  Antworten mit Zitat      
@ Jan S


Vielen lieben Dank, so hat es jetzt echt geklappt =)
Ach ach, was ich an Zeit verbuttert habe^^ Aber nur so lernt man

Wusste garnicht dass man den Renderer ändern kann. Der hat ja anscheinend einen grossen Einfluss auf die Bildqualität des .eps!

Aber so ist jetzt hübsch Smile
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: 14.04.2011, 15:31     Titel:
  Antworten mit Zitat      
Hallo Boojakascha,

EPS werden eigentlich nur mit dem Painters-Renderer als Vektorgrafiken geschrieben. Mit ZBuffer und OpenGL werden auch im EPS nur Pixel-Grafiken eingebettet. Am Bildschirm sieht das gut aus, im Ausdruck meistens nicht so sehr.

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 - 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.