PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Transparenz



W2K2005
30-11-2006, 10:33
Hallo,

ich habe ein Problem mit PSTRICKS und der Transparenz.
Ich schicke einfach mal mein Minimalbsp mit - vielleicht sieht jemand den Fehler.



\listfiles
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[a4paper,bmargin=2cm,tmargin=2cm]{geometry}
\usepackage{nofloat}
\usepackage{morefloats}
\setcounter{totalnumber}{10}
\setcounter{dbltopnumber}{10}
\usepackage{pstricks,multido}
\usepackage{pst-grad}
\usepackage{pst-vue3d}
\usepackage{pst-3dplot}
\usepackage{pst-gr3d}

\makeatletter
\define@key[psset]{}{transpalpha}{\pst@checknum{#1}\pstranspalpha}
\psset{transpalpha=1}
\def\psfs@transp{
\addto@pscode{/Normal .setblendmode \pstranspalpha .setshapealpha }
\psfs@solid}
\makeatother


\begin{document}

\vspace*{1cm}
\begin{nofloat}{figure}
\begin{center}
\psset{unit=1cm, THETA=48, PHI=25, Dobs=120, Decran=15}
\begin{pspicture}(1.5, 0.0)(2.5,5)
\psset{linewidth=0.4mm}
\AxesThreeD{->}(45)
{
\psset{linestyle=none,fillstyle=transp,transpalpha =0.2}
%\QuadrillageThreeD[fillstyle=solid, fillcolor=gray, normaleLongitude=90, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(-40, -40)(0, 0)
\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=gray](4,5,6)(0,2,0)(3,0,0)}
}
\end{pspicture}
\end{center}
\end{nofloat}

\end{document}

voss
30-11-2006, 11:34
Hallo,

ich habe ein Problem mit PSTRICKS und der Transparenz.
Ich schicke einfach mal mein Minimalbsp mit - vielleicht sieht jemand den Fehler.


du könntest ja wenigstens noch den Fehler verraten, den du angeblich siehst ...

Herbert

localghost
30-11-2006, 12:05
Im Grunde ist dein Beispielcode fehlerfrei. Bindest Du allerdings pstricks-add statt pstricks ein, kannst Du dir die aufwendige Definition zwischen \makeatletter und \makeatother sparen. Wichtige Änderungen habe ich hervorgehoben. Das Paket nofloat habe ich rauskommentiert, weil es bei meiner Installation von MiKTeX (2.5) nicht zu finden war.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[bmargin=2cm,tmargin=2cm]{geometry}
%\usepackage{nofloat,morefloats}
\usepackage{pst-3dplot,pst-gr3d,pst-grad,pst-vue3d,pstricks-add}

\begin{document}
\vspace*{1cm}
\begin{figure}
\centering
\psset{unit=1cm,THETA=48,PHI=25,Dobs=120,Decran=15 }
\begin{pspicture}(-6,-6)(6,6)
\psset{linewidth=0.4mm}
\AxesThreeD{->}(45)
{
\psset{linestyle=none,fillstyle=transparent,transp alpha=0.2}
% \QuadrillageThreeD[fillstyle=solid,fillcolor=gray,normaleLongitude=90 ,normaleLatitude=00,linewidth=0.08mm,grille=10](0,0,0)(-40,-40)(0,0)
\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=lightgray](4,5,6)(0,2,0)(3,0,0)}
}
\end{pspicture}
\end{figure}

\end{document}
In der PS-Datei ist bei mir auch nichts von Transparenz zu sehen. In der Dokumentation zum Paket pstricks-add (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/pstricks-add.html) bin ich allerdings auf einen Hinweis gestoßen. Im Abschnitt 9.1 (Transparent Colors) ist die Rede von der Umwandlung der PS-Datei in eine PDF-Datei. Erst dann tritt die Transparenz des Objekts auf. Ich habe den Quelltext im TeXnicCenter mit dem Profil "LaTeX => PS => PDF" bearbeitet und das Ergebnis hier mal angehängt. Das sieht doch eigentlich ganz gut aus.

W2K2005
30-11-2006, 14:26
zunächst einmal vielen Dank.

Bitte lass mich noch eine Frage hinterherschieben. Ich wollte in meiner Zeichnung eine Ebene (Box) einfügen, die senkrecht auf einer Achse steht und den Text "N" beinhaltet.
Das sah aber immer komisch aus und die Koordinaten, die ich verwendet habe, haben die BOX immer komplett aus dem sichtbaren Bereich herausgeschoben.
Nun habe ich auf einen anderen Befehl für das Koordinatensystem zurückgegriffen. Dadurch ändert sich aber der Viewpoint und die Achsenlängen in ungewollter Weise.

Was sollte ich tun?



\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[bmargin=2cm,tmargin=2cm]{geometry}
\usepackage{pst-3dplot,pst-gr3d,pst-grad,pst-vue3d,pstricks-add}
\usepackage{nofloat}

\newcommand{\TCircle}[1]{
\setlength{\unitlength}{10pt}
\begin{pspicture}(0.0, 0.38)
\psovalbox[framesep=1pt, boxsep=1pt, linewidth=0.5pt, linecolor=black]{#1}
\end{pspicture}
}

\begin{document}

\vspace*{1cm}
\begin{nofloat}{figure}
\begin{center}
\psset{unit=0.5cm, THETA=48, PHI=25, Dobs=120, Decran=15}
\begin{pspicture}(1.5, 0.0)(2.5,5)
\psset{linewidth=0.4mm}
%\AxesThreeD{->}(45)
\pstThreeDCoor[xMin=0, xMax=45, yMin=0, yMax=45, zMin=0, zMax=45, linecolor=black]
\QuadrillageThreeD[normaleLongitude=00, normaleLatitude=90, linewidth=0.15mm, grille=10](0,0,0)(-40, 0)(0, 40)
\QuadrillageThreeD[normaleLongitude=90, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(0, -40)(40, 0)
\QuadrillageThreeD[normaleLongitude=00, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(-40, -40)(0,0)

\pNodeThreeD[SphericalCoor=false](20,20,20){ijk}
\pNodeThreeD[SphericalCoor=false](40,20,20){ip1jk}
\psdots[dotscale=1.8, linecolor=black](ijk)(ijk)(ip1jk)

\pNodeThreeD[SphericalCoor=false](20,40,20){ijp1k}
\pNodeThreeD[SphericalCoor=false](20,00,20){ijm1k}
\pNodeThreeD[SphericalCoor=false](40,40,20){ip1jp1k}
\pNodeThreeD[SphericalCoor=false](40,00,20){ip1jm1k}

\pNodeThreeD[SphericalCoor=false](20,20,40){ijkp1}
\pNodeThreeD[SphericalCoor=false](40,20,40){ip1jkp1}
\pNodeThreeD[SphericalCoor=false](20,20,00){ijkm1}
\pNodeThreeD[SphericalCoor=false](40,20,00){ip1jkm1}
%\pNodeThreeD[SphericalCoor=false](00,40,20){ip1jm1k}
%\pNodeThreeD[SphericalCoor=false](20,20,00){ijkm1}
%\pNodeThreeD[SphericalCoor=false](20,20,40){ijkp1}
%\pNodeThreeD[SphericalCoor=false](20,40,20){ip1jp1k}
%\pNodeThreeD[SphericalCoor=false](20,40,20){ip1jm1k}
\psdots[dotscale=1.5, linecolor=black](ijp1k)(ijm1k)(ip1jp1k)(ip1jm1k)%(ijkm1)(ijkp1)(ip 1jp1k)(ip1jm1k)
\psdots[dotscale=1.5, linecolor=black](ijp1k)(ip1jkp1)(ijkp1)(ip1jkm1)(ijkm1)

\psset{linewidth=0.4mm}
\psline(ijk)(ip1jk)
\psline(ijp1k)(ijm1k)
\psline(ip1jp1k)(ip1jm1k)
\psline(ijm1k)(ip1jm1k)
\psline(ip1jp1k)(ijp1k)

\psline(ip1jkp1)(ijkp1)
\psline(ip1jkm1)(ijkm1)
\psline(ip1jkp1)(ip1jkm1)
\psline(ijkp1)(ijkm1)

\psset{linewidth=0.05mm}
\pNodeThreeD[SphericalCoor=false](10,10,10){A}
\pNodeThreeD[SphericalCoor=false](30,10,10){B}
\pNodeThreeD[SphericalCoor=false](30,30,10){C}
\pNodeThreeD[SphericalCoor=false](10,30,10){D}
\pNodeThreeD[SphericalCoor=false](10,10,30){AA}
\pNodeThreeD[SphericalCoor=false](30,10,30){BB}
\pNodeThreeD[SphericalCoor=false](30,30,30){CC}
\pNodeThreeD[SphericalCoor=false](10,30,30){DD}
\psdots[dotscale=1.5](A)(B)(C)(D)(AA)(BB)(CC)(DD)

\psset{linewidth=0.3mm}
\psline[linestyle=dashed](A)(B)
\psline[linestyle=dashed](B)(C)
\psline[linestyle=dashed](C)(D)
\psline[linestyle=dashed](D)(A)
\psline[linestyle=dashed](A)(AA)
\psline[linestyle=dashed](B)(BB)
\psline[linestyle=dashed](C)(CC)
\psline[linestyle=dashed](D)(DD)
\psline[linestyle=dashed](AA)(BB)
\psline[linestyle=dashed](BB)(CC)
\psline[linestyle=dashed](CC)(DD)
\psline[linestyle=dashed](DD)(AA)
{
\psset{linestyle=none,fillstyle=transparent,transp alpha=0.2}
%\QuadrillageThreeD[fillstyle=solid, fillcolor=gray, normaleLongitude=90, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(-40, -40)(0, 0)
\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=gray](1,0,0)(0,0,0)(0,0,0)}
}
%\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=lightgray](4,5,6)(0,2,0)(3,0,0)}
\pstPlanePut[plane=yz,pOrigin=lb](25,5,5){\fbox{\Huge\green N}}
%\pstPlanePut[plane=yz,pOrigin=lb](30,20,30){}
\end{pspicture}
\end{center}
\end{nofloat}

\end{document}

localghost
03-12-2006, 12:23
Das gleiche Problem wie in diesem Thema. Beachte besonders die Hinweise von voss.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[bmargin=2cm,tmargin=2cm]{geometry}
\usepackage{pst-3dplot,pst-gr3d,pst-grad,pst-vue3d,pstricks-add}
\usepackage{nofloat}

\newcommand{\TCircle}[1]{
\setlength{\unitlength}{10pt}
\begin{pspicture}(0.0, 0.38)
\psovalbox[framesep=1pt, boxsep=1pt, linewidth=0.5pt, linecolor=black]{#1}
\end{pspicture}
}

\begin{document}

\vspace*{1cm}
\begin{nofloat}{figure}
\begin{center}
\psset{THETA=48, PHI=25, Dobs=120, Decran=15}
\begin{pspicture}(-6,-6)(6,6)
% \psgrid[subgriddiv=1,griddots=10](-6,-6)(6,6)
\psset{unit=0.5cm,linewidth=0.4mm}
\AxesThreeD{->}(45)
% \pstThreeDCoor[xMin=0,xMax=4,yMin=0,yMax=4,zMin=0,zMax=4,linecolo r=black]
\QuadrillageThreeD[normaleLongitude=00, normaleLatitude=90, linewidth=0.15mm, grille=10](0,0,0)(-40, 0)(0, 40)
\QuadrillageThreeD[normaleLongitude=90, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(0, -40)(40, 0)
\QuadrillageThreeD[normaleLongitude=00, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(-40, -40)(0,0)

\pNodeThreeD[SphericalCoor=false](20,20,20){ijk}
\pNodeThreeD[SphericalCoor=false](40,20,20){ip1jk}
\psdots[dotscale=1.8, linecolor=black](ijk)(ijk)(ip1jk)

\pNodeThreeD[SphericalCoor=false](20,40,20){ijp1k}
\pNodeThreeD[SphericalCoor=false](20,00,20){ijm1k}
\pNodeThreeD[SphericalCoor=false](40,40,20){ip1jp1k}
\pNodeThreeD[SphericalCoor=false](40,00,20){ip1jm1k}

\pNodeThreeD[SphericalCoor=false](20,20,40){ijkp1}
\pNodeThreeD[SphericalCoor=false](40,20,40){ip1jkp1}
\pNodeThreeD[SphericalCoor=false](20,20,00){ijkm1}
\pNodeThreeD[SphericalCoor=false](40,20,00){ip1jkm1}
%\pNodeThreeD[SphericalCoor=false](00,40,20){ip1jm1k}
%\pNodeThreeD[SphericalCoor=false](20,20,00){ijkm1}
%\pNodeThreeD[SphericalCoor=false](20,20,40){ijkp1}
%\pNodeThreeD[SphericalCoor=false](20,40,20){ip1jp1k}
%\pNodeThreeD[SphericalCoor=false](20,40,20){ip1jm1k}
\psdots[dotscale=1.5, linecolor=black](ijp1k)(ijm1k)(ip1jp1k)(ip1jm1k)%(ijkm1)(ijkp1)(ip 1jp1k)(ip1jm1k)
\psdots[dotscale=1.5, linecolor=black](ijp1k)(ip1jkp1)(ijkp1)(ip1jkm1)(ijkm1)

\psset{linewidth=0.4mm}
\psline(ijk)(ip1jk)
\psline(ijp1k)(ijm1k)
\psline(ip1jp1k)(ip1jm1k)
\psline(ijm1k)(ip1jm1k)
\psline(ip1jp1k)(ijp1k)

\psline(ip1jkp1)(ijkp1)
\psline(ip1jkm1)(ijkm1)
\psline(ip1jkp1)(ip1jkm1)
\psline(ijkp1)(ijkm1)

\psset{linewidth=0.05mm}
\pNodeThreeD[SphericalCoor=false](10,10,10){A}
\pNodeThreeD[SphericalCoor=false](30,10,10){B}
\pNodeThreeD[SphericalCoor=false](30,30,10){C}
\pNodeThreeD[SphericalCoor=false](10,30,10){D}
\pNodeThreeD[SphericalCoor=false](10,10,30){AA}
\pNodeThreeD[SphericalCoor=false](30,10,30){BB}
\pNodeThreeD[SphericalCoor=false](30,30,30){CC}
\pNodeThreeD[SphericalCoor=false](10,30,30){DD}
\psdots[dotscale=1.5](A)(B)(C)(D)(AA)(BB)(CC)(DD)

\psset{linewidth=0.3mm}
\psline[linestyle=dashed](A)(B)
\psline[linestyle=dashed](B)(C)
\psline[linestyle=dashed](C)(D)
\psline[linestyle=dashed](D)(A)
\psline[linestyle=dashed](A)(AA)
\psline[linestyle=dashed](B)(BB)
\psline[linestyle=dashed](C)(CC)
\psline[linestyle=dashed](D)(DD)
\psline[linestyle=dashed](AA)(BB)
\psline[linestyle=dashed](BB)(CC)
\psline[linestyle=dashed](CC)(DD)
\psline[linestyle=dashed](DD)(AA)
{
\psset{linestyle=none,fillstyle=transparent,transp alpha=0.2}
%\QuadrillageThreeD[fillstyle=solid, fillcolor=gray, normaleLongitude=90, normaleLatitude=00, linewidth=0.08mm, grille=10](0,0,0)(-40, -40)(0, 0)
\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=gray](1,0,0)(0,0,0)(0,0,0)}
}
%\ThreeDput[normal=1 0 0](0,0,0){\pstThreeDSquare[fillcolor=lightgray](4,5,6)(0,2,0)(3,0,0)}
\pstPlanePut[plane=yz,pOrigin=lb](20,5,5){\fbox{\Huge\green N}}
%\pstPlanePut[plane=yz,pOrigin=lb](30,20,30){}
\end{pspicture}
\end{center}
\end{nofloat}

\end{document}
Du benutzt immer wieder Koordinaten und Einheiten falsch.