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

nur Ebene im Plot transparent machen Rest nicht.

 

selmer
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2011, 21:44     Titel: nur Ebene im Plot transparent machen Rest nicht.
  Antworten mit Zitat      
hallo liebes forum,

ich hab ein Programm geschrieben, dass zunächst Punkte 3D plottet und dann noch eine Ebene einfügt. Die Ebene soll dann trasparent sein, der Rest aber nicht. Das ist mein Code:

Code:
function [ x ] = grid3d( l )
%UNTITLED7 Summary of this function goes here
%   Detailed explanation goes here

d=3;
m=l+d-1;
for i=1:m-1
        for j=1:m-i
            for k=1:m-i-j
                for r=1:2^i-1
                   for s=1:2^j-1
                       for t=1:2^k-1
           
                    a=r*2^(-i);
                    b=s*2^(-j);
                    c=t*2^(-k);
                    x=[a b c];
                    axis([0,1,0,1,0,1])
                    if c==0.5
                    plot3(x(:,1), x(:,2),x(:,3),'.black')
                    else
                        plot3(x(:,1), x(:,2),x(:,3),'.r')
                    hold on;
                 
                    end
                       end
                   end
            end
        end
        end
end
                    e1=[1 0 0];
                    e2=[0 1 0];
                    [E1, E2]=meshgrid(e1,e2);
                    Z=0.5 + 0.*E1 + 0.*E2;
                    h=surf(E1,E2,Z);
                    colormap(gray)
                    alpha(h,0.1)
                    hold off
                   
end
 


Kann mir jemand sagen was ich falsch gemacht habe. Irgendwie wird alles transparent (Punkte, Gitter,...) und nicht nur die Ebene.

Schon mal Danke
Selmer

Bitte Code-Umgebung verwenden - Danke, Jan S
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: 10.12.2011, 23:55     Titel: Re: nur Ebene im Plot transparent machen Rest nicht.
  Antworten mit Zitat      
Hallo selmer,

Ich habe um Dein Programm laufen zu lassen mal l=3 gesetzt. Damit bekomme ich zumindest keine Darstellungsprobleme.
Dann habe ich es mit l=300 versucht - ich habe ja keine Ahnung, was Dein Code macht. Damit stieg mein Matlab aus.

Zitat:
Irgendwie wird alles transparent (Punkte, Gitter,...) und nicht nur die Ebene.

Zumindest werden bei mir die Punkte nicht transparent. Ein Gitter sehe ich nicht, auch ohne den ALPHA-Befehl. Was "..." bedeutet, weiß ich nicht.

Vielleicht gibt es Probleme mit Deinem OpenGL-Treiber. Dann versuche mal den Software-OpenGL-Treiber zu verwenden, siehe "help opengl".

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

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 00:34     Titel:
  Antworten mit Zitat      
hi jan,

in matlab ist das ganze noch nicht transparent erst wenn ich es als pdf speicher. hätte ich vielleicht noch dazu sagen sollen. woran könnte das liegen?
l=300 ist vielleicht vom rechenaufwand ein bisschen viel!
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: 11.12.2011, 02:15     Titel:
  Antworten mit Zitat      
Hallo selmer,

Deshalb ist es immer praktisch erstens die verwendeten Werte mit anzugeben, und zweitens das Problem vollständig und mit allen notwendigen Details zu beschreiben. Das schont die Zeit der Antwortenden.

Wie exportierst Du die Grafik als PDF?

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

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 02:40     Titel:
  Antworten mit Zitat      
hallo jan,

ich speichere den plot als pdf.
Wenn ich das ganze ohne die ebene speichere bekomme ich ein ganz normales bild. mit ebene werden die linien und punkte pixelig.
siehe datei.

gruß andi

3dSG_5_ebene_box2.pdf
 Beschreibung:

Download
 Dateiname:  3dSG_5_ebene_box2.pdf
 Dateigröße:  12.98 KB
 Heruntergeladen:  392 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: 11.12.2011, 15:05     Titel:
  Antworten mit Zitat      
Hallo selmer,

Zitat:
ich speichere den plot als pdf.

Ja, aber wie? Per PRINT(-dPDF) oder zuerst mit PRINT(-depsc2) und danach per GhostScript konvertieren? Oder mit einem PDF-Writer und einem normalen Druck-Job? Oder per GETFRAME und speichern als PDF-Image?

Veränderst Du dabei den Renderer? Transparenzen können nämlich nur mit den OpenGL-Renderer dargestellt werden. Der kann aber nur Bitmap-Grafiken exportieren, im Gegensatz zum Painters Renderer, der Vektor-Grafiken erzeugt. Wenn man aber Bitmaps exportiert, hängt die Darstellung im PDF-Betrachter von der gewählten Auflösung ab. Wenn Du dann noch im PDF-Betrachter (z.B. Acrobat-Reader) die Glättung von Pixel-Grafiken eingeschaltet hast, könnten kleine Pixel schonmal verschmiert aussehen.

Bitte poste also die Dateils, so dass wir nachvollziehen können, was Du überhaupt machst.

Gruß, Jan

Zuletzt bearbeitet von Jan S am 11.12.2011, 18:36, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
selmer
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 17:39     Titel:
  Antworten mit Zitat      
Hallo Jan,

ich hab in der Plotanzeige zunächst noch die Box hinzugefügt und die Ausrichtung geändert und dann über "save as" die datei als pdf gespeichert.
ich habs jetzt auch nochmal mit print -dpdf probiert da siehts nur unwesentlich besser aus. kann aber dann natürlich nichts mehr ändern.

gruß selmer
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: 11.12.2011, 19:04     Titel:
  Antworten mit Zitat      
Hallo selmer,

Wenn ich das von Dir gepostete PDF in Acrobat-Reader 10.1.1 öffne und wie gesagt das Glätten der Pixel-Grafiken ausgeschaltet habe, sieht das PDF gut aus: Die Punkte sind scharf, die Gitternetz-Linien der Achsen gepunktet und die Fläche ist halbtransparent.

Also liegt das Problem nicht bei Matlab, sondern bei Deinem PDF-Betrachter. Kann das sein?

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

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 03.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 19:44     Titel:
  Antworten mit Zitat      
Hallo Jan,

das ist gut möglich. In matlab sieht alles ja noch super aus.
Kannst du mir sagen, wie ich die Glättung ausschalte?

Vielen Dank
Andi
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: 11.12.2011, 21:45     Titel:
  Antworten mit Zitat      
Hallo selmer,

In Acrobat Reader X (Ich benutze ein Englisches System): Edit -> Preferences -> Page Display -> Rendering

Bei einer älteren Acrobat-Version sah das verschwommener aus, aber bei 10.1.1 finde ich die Darstellung mit und ohne Glättung eigentlich brauchbar. Von "alles wird transparent" kann jedenfalls keine Rede sein.

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.