PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Restfläche in pstricks einfärben mit \pscustom



MeisterEde
06-12-2006, 20:59
Hallo,
ich fertige grad ein paar Zeichnungen an (mit PSTricks) und will einige Bereiche "einfärben".
Ich benutze dafür zur Zeit den \pscustom Befehl.

Hier mein Minimalbeispiel:


\documentclass[a4paper, 11pt, oneside]{article}
\usepackage{pstricks}
\usepackage{pst-all}
\usepackage{pstricks-add}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\begin{document}
\setlength{\parindent}{0pt}
\psset{unit=1cm}
\begin{pspicture}(0,0)(10,5)





\pscustom[fillstyle=solid, fillcolor=lightgray, linestyle=none]{
\psline(2.5,2.5)(0.3333333333,-1.25)
\psline(2.5,-2.5)(4.666666666,1.25)

}


\pscircle(2.5,0){2.5}

\psline[linestyle=dashed](0.333333333,1.25)(2.5,-2.5)
\psline[linestyle=dashed](2.5,-2.5)(4.666666666,1.25)
\psline[linestyle=dashed](4.666666666,1.25)(0.333333333,1.25)


\psline[linewidth=1.5pt](2.5,2.5)(0.3333333333,-1.25)
\psline[linewidth=1.5pt](0.3333333333,-1.25)(4.666666666666666,-1.25)
\psline[linewidth=1.5pt](2.5,2.5)(4.666666666666666,-1.25)


\psline[linecolor=red](3.1531,-2.43333333333)(4.9,0.65)
\psline[linecolor=red](1.0666666666666,-2.05)(3.55,2.2666666666)
\psline[linecolor=red](-2,-2)(-2.1,-2.1)


\psline(-2,0)(5.3,0)
\psline(-2.166666666,-1.5)(-0.16666666666,2)



\end{pspicture}
\end{document}

Der wichtige Teil ist der eingefärbte .
Anbei ist das fertige Bild.
Wie ihr seht sind unten und oben Teile weiß (die beideren kleineren Teile), die ich auch unbedingt einfärben will.
Ich dachte zurerst an den \pscurve Befehl (und dann halt die Koordinaten der Schnittpunkte zwischen Dreieck und Kreis angeben) aber das hat überhaupt nicht funktioniert. Es enstanden "komische" gewölbte Objekte.
Meine Frage ist jetzt:
Kennt einer einen Befehl, mit dem ich auch diese Reste einfärben kann?

localghost
06-12-2006, 21:18
In diesem Fall ist die \psclip-Umgebung die Lösung. Da aber alle Beschreibungen sehr umfangreich wären, solltest Du das besser in der Dokumentation nachlesen. Ein paar Beispiele sollten auf der Homepage von PSTricks (http://tug.org/PSTricks) zu finden sein.

MeisterEde
07-12-2006, 14:48
Ich hab mir jetzt den Abschnitt über \psclip in der Dokumentation (http://tug.org/PSTricks/doc/pst-usr3.pdf) durchgelesen und mir auch einige Beispiele angeschaut.
Um ehrlich zu sein, ich hab das Prinzip des Befehls noch nicht ganz verstanden.
So wie ich das gelesen habe, wird das Objekt in eine "Box" getan, und dann werden da Teile der Box "rausgeschnitten".
ICh versteh noch nicht ganz, wie ich das bei mir anwenden soll.
Vor allem versteh ich noch überhaupt nicht wie der Befehl aufgebaut ist.
Ich hab gestern Abend und heute Vormittag da ein wenig rumexperementiert aber das auch nicht wirklich geholfen.
Wäre echt super, wenn mir da einer einen kleinen Crashkurs geben könnte oder weiß wie ich den Befehl bei meinem "Problem" anwenden kann.:D

Schonmal jetzt vielen Dank im Voraus.

localghost
07-12-2006, 16:25
Dazu müsstest Du nochmal genau beschreiben welche Flächen jetzt noch wie eingefärbt werden sollen.

voss
07-12-2006, 16:41
Hallo,
Der wichtige Teil ist der eingefärbte .
Anbei ist das fertige Bild.
Wie ihr seht sind unten und oben Teile weiß (die beideren kleineren Teile), die ich auch unbedingt einfärben will.
Ich dachte zurerst an den \pscurve Befehl (und dann halt die Koordinaten der Schnittpunkte zwischen Dreieck und Kreis angeben) aber das hat überhaupt nicht funktioniert. Es enstanden "komische" gewölbte Objekte.
Meine Frage ist jetzt:
Kennt einer einen Befehl, mit dem ich auch diese Reste einfärben kann?



\pscustom[fillstyle=solid, fillcolor=lightgray, linestyle=none]{
\psline(2.5,2.5)(0.3333333333,-1.25)\psarc(2.5,0){2.5}{195}{270}
\psline(2.5,-2.5)(4.666666666,1.25)\psarc(2.5,0){2.5}{15}{90}}


Herbert

MeisterEde
07-12-2006, 17:11
Wow.:eek:
Vielen vielen Dank. Das sieht jetzt richtig Klasse aus.
Ich finds super, dass einem hier so schnell geholfen wird.:D

localghost
07-12-2006, 17:30
Etwas zu spät folgt hier die Variante mit der psclip-Umgebung. Die Ähnlichkeiten zu \pscustom sind recht groß.

\begin{pspicture}[showgrid=true](-3,-3)(3,3)
\SpecialCoor
\begin{psclip}{\pscustom[linestyle=none]{\psline(2.5;210)(2.5;90)\psarc(0,0){2.5}{210}{270 }\psline(2.5;270)(2.5;30)\psarc(0,0){2.5}{30}{90}} }
\psframe*[linecolor=lightgray](-3,-3)(3,3)
\end{psclip}
\psline[linestyle=dashed](2.5;30)(2.5;150)(2.5;270)(2.5;30)
\psline[linewidth=1.5pt](2.5;90)(2.5;210)(2.5;330)(2.5;90)
\psline[linecolor=red](2.5;65)(2.5;235)
\psline[linecolor=red](2.5;15)(2.5;285)
\pscircle{2.5}
\end{pspicture}

Das ganze ist in Polarkoordinaten, damit man sich nicht mit so krummen Zahlen herumplagen muss. Im Argument der psclip-Umgebung steht der Rahmen, in der Umgebung selbst der Hintergrund.

MeisterEde
07-12-2006, 19:11
Nochmal Danke.
ICh Versuch mich heute Abend mal mit mit diesen Befehlen bei meinen anderen Zeichnungen die ich noch fertig machen muss.

localghost
07-12-2006, 19:16
Viel Erfolg dabei. So weit mir das auffällt, ist \pscustom dann am besten geeignet, wenn der Rahmen durch einfache geometrische Strukturen (hier also Linien und Kreise) gegeben ist. Das Beispiel in der Dokumentation behandelt Flächen, die von mathematischen Funktionen eingegrenzt werden. In diesem Fall eignet sich die psclip-Umgebung dann besser.