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

Achsenbeschriftungen nach zweiten surf gespeigelt

 

nuby
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2014, 14:21     Titel: Achsenbeschriftungen nach zweiten surf gespeigelt
  Antworten mit Zitat      
Grüßt euch Matlaber,

1. Problem:
Ich habe ein 2D-Kennfeld mit "surf(x,y,z1)" dargestellt (Ansicht von oben mit "view(2)") und ein zweites Kennfeld ebenfalls mit "surf(x,y,z2)" in der gleichen axes darübergelegt. Um die Felder mit verschiedenen Farben darzustellen, teile ich die colormap auf. Das zweite Kennfeld ist in Abhängigkeit seiner Höhe transparent gesetzt (d.h. je geringer z2, desto höher die Transparenz). Nach dem Einfügen des zweiten Kennfeldes sind nun alle Achsenbeschriftungen gespeigelt dargestellt.

Im Forum gefunden:
Ich konnte das Problem teilweise lösen, indem ich den Code-Schnipsel:

feature('UseGenericOpenGL', 1) % bzw: 0

verwende. Wenn ich das einfüge, werden alle Beschriftungen wieder richtig herum gespiegelt. ABER:

-->1. Neues Problem:
Jetzt ist allerdings die Qualität der Darstellung meines zweiten Kennfeldes, welches über dem ersten liegt, beeinträchtigt! Dazu habe ich mal zwei kleine Ausschnitte der Darstellung als Screenshots mitgebracht.





2. Probelm:
Nach Einfügen des zweiten Kennfeldes funktioniert der Befehl:

shading interp

nicht mehr so, wie er soll. Vor Einfügen des zweiten Kennfeldes wurden die Werte entlang der Grenze zwischen zwei Farbbereichen "geglättet", um glatte Linien zwischen z.B. dem gelben und dem orangen Farbbereich zu erzeugen (s. Bilder). Nach Einfügen des zweiten Kennfeldes wird die "Trennlinie" zwar auch geglättet, verscwhwimmt allerdings etwas -> Keine klare Abgrenzung der Farbbereiche mehr.

FRAGEN:
1. Was kann ich tun, um die ursprüngliche Qualität der Darstellung des zweiten Kennfeldes beizubehalten, aber gleichzeitig die Achsbeschriftungen korrekt darzustellen?

2. Matlab hat anscheinend ein Problem mit der gleichzeitigen Ausführung der Befehle "shading interp" und alpha(Kennfeld2, transp).. Was kann man dagegen machen?


Besispeil-Code:

Code:
clear all

[x,y,z1] = peaks; % Kennfeld 1
z2 = (rand(49,49)); % Kennfeld 2

% Aufteilung der Colormap für die beiden Kennfelder!
c1 = (z1-min(z1(:)))/(max(z1(:))-min(z1(:)))/2-1/128;
c2 = (z2-min(z2(:)))/(max(z2(:))-min(z2(:)))/2+0.5;
c = [gray;hsv];

figure
Kennfeld1 = surf(x,y,z1,c1);
hold on
Kennfeld2 = surf(x,y,z2,c2);
colormap(c)
view(2);

% Maximalwertbegrenzung, sodass auch geringe Werte (Höhen) sichtbar bleiben
a = z1;
Max_alt = max(a(:));
Max_neu = Max_alt/10;
a(a>=Max_neu) = Max_neu;
% Transparenz des Kennfeldes abhängig von der Höhe der Felder
alpha(Kennfeld1, a);
% Glättung der Übergänge
shading interp
hold off

% Zurückspiegeln der Achsenbeschriftungen
feature('UseGenericOpenGL', 1)  % bzw: 0



Danke euch schon jetzt für eure Hilfe! Das Forum hier ist MEGA! Ohne euch wäre ich wahrscheinlich schon entlassen worden..."HEHE"

NUBY
edit winkow: bitte die code umgebung benutzen

kennfelder_schlecht.PNG
 Beschreibung:
so soll es NICHT aussehen!

Download
 Dateiname:  kennfelder_schlecht.PNG
 Dateigröße:  10.81 KB
 Heruntergeladen:  356 mal
kennfelder_gut.PNG
 Beschreibung:
so solls aussehen!

Download
 Dateiname:  kennfelder_gut.PNG
 Dateigröße:  7.74 KB
 Heruntergeladen:  359 mal
Private Nachricht senden Benutzer-Profile anzeigen


nuby
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.12.2014, 09:35     Titel:
  Antworten mit Zitat      
Hatte noch niemand das gleiche Probem? Wäre gut, wenn sich doch jemand findet!
Beste Grüße
Nuby
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.