PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einige Probleme mit PSTricks



nuin
24-01-2010, 12:56
Hallo!
Ich versuche derzeit meine Facharbeit zu schreiben (Thema: § dimensionale Objekte mit PSTricks), aber es gibt das so einige Probleme mit PSTricks, die mir die Sache ziemlich erschweren und ich finde auch in Tutorials keine Lösungen dazu...

1. Ist es möglich, die Variablen innerhalb eines Multido auch sinken zu lassen? Ich versuch derzeit, eine 2D-Pyramid (als kleines Beispiel im Text) hinzubekommen, aber subtrahieren oder Teilen im Multido Befehl... @.@

2. Gibt es eigentlich eine Möglichkeit, die Darstellreihenfolge von "Programmierreihenfolge" auf "natürlich" umzustellen? Was ich damit meine: Ist es möglich, ein Objekt zu programmieren (z.B. einen Kasten aus 6 pstThreeDSquare), bei dem einem aus jeder Richtung angezeigt wird, das angezeigt, was man räumlich sehen würde? Weil so legt er (ungeachtet von der räumlichen Postition) automatisch das zuletzt programmierte Square nach oben, was ein wenig seltsam ist...

Mit vielen lieben Grüße

voss
24-01-2010, 12:59
Ich versuche derzeit meine Facharbeit zu schreiben (Thema: § dimensionale Objekte mit PSTricks), aber es gibt das so einige Probleme mit PSTricks, die mir die Sache ziemlich erschweren und ich finde auch in Tutorials keine Lösungen dazu...

1. Ist es möglich, die Variablen innerhalb eines Multido auch sinken zu lassen? Ich versuch derzeit, eine 2D-Pyramid (als kleines Beispiel im Text) hinzubekommen, aber subtrahieren oder Teilen im Multido Befehl... @.@


\multido{\rA=1.3+-0.7}{5}{blah}



2. Gibt es eigentlich eine Möglichkeit, die Darstellreihenfolge von "Programmierreihenfolge" auf "natürlich" umzustellen? Was ich damit meine: Ist es möglich, ein Objekt zu programmieren (z.B. einen Kasten aus 6 pstThreeDSquare), bei dem einem aus jeder Richtung angezeigt wird, das angezeigt, was man räumlich sehen würde? Weil so legt er (ungeachtet von der räumlichen Postition) automatisch das zuletzt programmierte Square nach oben, was ein wenig seltsam ist...


Steht doch groß in der Anleitung, dass "verdeckte Linien/Flächen" nicht
berücksichtigt werden. Das geht mit pst-solides3d

Herbert

nuin
24-01-2010, 13:22
Oh, das scheine ich dann nicht gelesen zu haben. *verbeugt sich* Tut mir Leid!

Kann man in Multido auch teilen oder multiplizieren?

nochmals lg

voss
24-01-2010, 13:24
Kann man in Multido auch teilen oder multiplizieren?


nein, aber es gibt zig andere Möglichkeiten, dazu müsstest du
aber mal ein _vollständiges_ kleines Beispiel angeben, was genau du
machen willst.

Herbert

nuin
24-01-2010, 13:39
Oh, ja, Entschuldigung.

Zum Beispiel einen Plattenkondensator, bei dem man die Pfeilzahl varieren kann. Nur damit die Pfeile (für die Feldlinien) gleichmäßig verteilt sind, müsste ich die x2- und x3-Koordinaten umgekehrt proportional zur Pfeilzahl skalieren lassen...

\newcommand{\Plakond}{\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-10,-10)(10,10,10)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+1.2}{6}{
\multido{\rB=2+1.2}{6}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)

So sieht es derzeit aus, einfach nur statisch mit 36 Pfeilen

mfg

voss
24-01-2010, 14:53
Zum Beispiel einen Plattenkondensator, bei dem man die Pfeilzahl varieren kann. Nur damit die Pfeile (für die Feldlinien) gleichmäßig verteilt sind, müsste ich die x2- und x3-Koordinaten umgekehrt proportional zur Pfeilzahl skalieren lassen...

\newcommand{\Plakond}{\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-10,-10)(10,10,10)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+1.2}{6}{
\multido{\rB=2+1.2}{6}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)

So sieht es derzeit aus, einfach nur statisch mit 36 Pfeilen


vielleicht kannst du erstmal die Fehler in dem Beispiel beseitigen
und daraus ein _komplettes_ machen.

Herbert

nuin
24-01-2010, 17:15
Oh man, ich bin soschusselig heute, tut mir Leid :(

\newcommand{\Plakond}{\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-10,-10)(10,10,10)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+1.2}{6}{
\multido{\rB=2+1.2}{6}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)
\end{pspicture}}

Hab das \end{pspicture} weggelassen @.@

lg

voss
24-01-2010, 17:20
Oh man, ich bin soschusselig heute, tut mir Leid :(

\newcommand{\Plakond}{\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-10,-10)(10,10,10)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+1.2}{5}{
\multido{\rB=2+1.2}{5}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)
\end{pspicture}}

Hab das \end{pspicture} weggelassen @.@

lg

ich habe einfach keine Lust, mir das Beispiel erst lauffähig zu machen.
Es war die Rede von _komplettem_ Beispiel, was ich gleich laufen lassen
kann. Und Fehler (Plural!) sind da immer noch drin, was zeigt, dass du es
nicht selbst hast laufen lassen.

Herbert

nuin
24-01-2010, 17:30
Ok, also noch mal langsam.

Komplett heißt in dem Kontext mit den richtigen Packages und begin, wie auch end{document}? Bei mir läuft das Beispiel fehlerfrei. Vermutlich wirklich nur ne Paketsache:


\documentclass{article}
\usepackage{pst-3dplot}
\usepackage{multido}

\newcommand{\Plakond}{\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-10,-10)(10,10,10)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+1.2}{5}{
\multido{\rB=2+1.2}{5}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)
\end{pspicture}}

\begin{document}
\begin{center}
\Plakond
\end{center}
\end{document}

voss
24-01-2010, 17:56
Ok, also noch mal langsam.

Komplett heißt in dem Kontext mit den richtigen Packages und begin, wie auch end{document}? Bei mir läuft das Beispiel fehlerfrei. Vermutlich wirklich nur ne Paketsache:



\documentclass{article}
\usepackage{pst-3dplot}

\makeatletter
\def\setzePara#1{%
\def\nPfeil{#1}%
\pst@dima=6pt%
\divide\pst@dima by \nPfeil%
\edef\XPfeil{\strip@pt\pst@dima}%
}
\makeatother
\begin{document}


\setzePara{5}
\psset{unit=.5cm, Alpha=20}
\begin{pspicture}(-8,-5)(3,6)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
%\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+\XPfeil}{\nPfeil}{%
\multido{\rB=2+\XPfeil}{\nPfeil}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)
\end{pspicture}
%
\setzePara{10}
\begin{pspicture}(-8,-5)(3,6)
\pstThreeDLine(0,5,5)(2,5,5)
\pstThreeDSquare[fillstyle=solid](2,2,2)(0,6,0)(0,0,6)
%\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\multido{\rA=2+\XPfeil}{\nPfeil}{%
\multido{\rB=2+\XPfeil}{\nPfeil}{\pstThreeDLine{<-}(2, \rA, \rB)(8, \rA, \rB)}}
\pstThreeDSquare[fillstyle=solid](8,2,2)(0,6,0)(0,0,6)
\pstThreeDLine(10,5,5)(8,5,5)
\end{pspicture}

\end{document}


Herbert

nuin
24-01-2010, 18:11
Wow O.O
Dankeschön.

Und ein doppeltes Danke für die Geduld mit mir ^^°

lg