Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Einige Probleme mit PSTricks

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24

    Einige Probleme mit PSTricks

    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

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von nuin Beitrag anzeigen
    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... @.@
    Code:
    \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

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24
    Oh, das scheine ich dann nicht gelesen zu haben. *verbeugt sich* Tut mir Leid!

    Kann man in Multido auch teilen oder multiplizieren?

    nochmals lg

  4. #4
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von nuin Beitrag anzeigen
    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

  5. #5
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24
    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

  6. #6
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von nuin Beitrag anzeigen
    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

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24
    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
    Geändert von nuin (24-01-2010 um 17:22 Uhr)

  8. #8
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von nuin Beitrag anzeigen
    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

  9. #9
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24
    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:

    Code:
    \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}

  10. #10
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von nuin Beitrag anzeigen
    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:
    Code:
    \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

  11. #11
    Registrierter Benutzer
    Registriert seit
    23.01.2010
    Beiträge
    24
    Wow O.O
    Dankeschön.

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

    lg

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •