Postscriptgrafik

Neue Frage »

Lazarus Auf diesen Beitrag antworten »
Postscriptgrafik
Hi ihr.
Ja ich schon wieder und schon wieder mit einem Grafikproblem.

Hab jetzt weng rumexperimentiert mit Postscriptgrafik das in das Latexdocument direkt einzubinden und ich muss sagen, es klappt echt gut.
Nun is aber folgendes Problem: Postscript ist was die Funktionenauswahl angeht ja, sagen wir mal, überschaulich.
Was mach ich denn wenn ich eine speziellere Funktion plotten will ?

Ganz konkret isses bei mir etz grad LambertW -1 und 0 [also die beiden Zweige]
Hab ich da überhaupt eine Chance eine solche Funktion darzustellen ?
[kann ich mir z.b. selbst befehle definieren? dass es irgendwie über die Implizite darstellung gehen würde o.ä.?]

Mir schwebt ungefähr [um ehrlich zu sein sogar ziemlich genau] so ein Graph vor wie hier:
in dem Document auf Seite 3 zu finden ist.

Oder wie haben die ihren Graphen gemacht ?
Kann mir da jemand weiterhelfen ?
AD Auf diesen Beitrag antworten »

Zitat:
Original von Lazarus
Postscript ist was die Funktionenauswahl angeht ja, sagen wir mal, überschaulich.

Allerdings, es ist ja auch eine ziemliche Low-Level-Programmiersprache, siehe Postscript-Referenz von Adobe (8 MByte). Oder verwechselst du Postscript mit Programmen, die Grafiken in Postscript ausgeben?
 
 
Lazarus Auf diesen Beitrag antworten »

Nene ich mein schon die Programmiersprache.

Über \usepackage{pst-plot, pstricks} kann man ja dann ins Latexdokument mit
\begin{pspicture} [hier eben dieses ganze zeuchs] \end{..} direkt den Plot erstellen. Sozusagen Im Latexdokument selbst.

Habs schon hier dank Calvins Hilfe hinbekommen Externe Graphen einzubinden, die z.b. aus Gnuplot oder Maple oder so erstellt sind und dann als Bilder eingebunden werden, aber da stört mich halt irgendwie das dann im Bild ne andere Schriftart verwendet wird.
Und irgendwie sind die Kurven auch ned "rund"

In dem von dir verlinkten Buch hab ich mal weng auf gut Glück nach paar Schlagworten gesucht, aber nicht wirklich was gefunden.
Muss ich mich da wirklich durch die 900 Seiten schlagen ?
AD Auf diesen Beitrag antworten »

Zitat:
Original von Lazarus
Und irgendwie sind die Kurven auch ned "rund"

Das mag dran liegen, dass die Programme den Funktionsumfang von Postscript nicht voll ausnutzen: Sie verwenden dann z.B. nur lineto für Streckenzüge statt z.B. arcto (Kreisbogen) oder curveto (Bezier-Kurven).
Lazarus Auf diesen Beitrag antworten »

Und was mach ich dagegen ?
Und gehts garned direkt ?
AD Auf diesen Beitrag antworten »

Zitat:
Original von Lazarus
Und gehts garned direkt ?

Wie "direkt" ? Du kannst natürlich auch selbst Postscript programmieren, habe ich mal für einen speziellen Anwendungsfall mal gemacht (allerdings nicht für Funktionen zeichnen). Hier z.B. mal was nettes, um den in diesem Winter bisher fehlenden Schnee zu kompensieren:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 20 167 520 745
/a {0.5} bind def
/b {0.75 sqrt} bind def

/curve { dup 0 le {pop pop pop lineto} { 20 dict begin
  1 sub /d exch def /y1 exch def /x1 exch def /y2 exch def /x2 exch def
  /x {x2 x1 sub 3 div} bind def
  /y {y2 y1 sub 3 div} bind def
  /xa {x1 x add} bind def
  /ya {y1 y add} bind def
  /xb {xa x a mul y b mul sub add} bind def
  /yb {ya x b mul y a mul add add} bind def
  /xc {x2 x sub} bind def
  /yc {y2 y sub} bind def
  xa ya x1 y1 d curve
  xb yb xa ya d curve
  xc yc xb yb d curve
  x2 y2 xc yc d curve
end } ifelse } def

/tricurve { /it exch def
  /y3 exch def /x3 exch def
  /y2 exch def /x2 exch def
  /y1 exch def /x1 exch def
  newpath x1 y1 moveto
  x2 y2 x1 y1 it curve
  x3 y3 x2 y2 it curve
  x1 y1 x3 y3 it curve
  gsave 0.7 0.7 1 setrgbcolor fill grestore stroke
} def

0 setlinewidth 20 600 520 600 270 167 5 tricurve
Lazarus Auf diesen Beitrag antworten »

Direkt so wie ungefähr sowas:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{pst-plot, pstricks}
\usepackage{fancybox,amssymb,color}
\pagestyle{empty}
\parindent=0pt
\usepackage{fancybox,amssymb,color}
\usepackage{pst-plot, pstricks}
\usepackage{graphicx}
\newpsobject{showgrid}{psgrid}%
    {subgriddiv=1,griddots=4,gridlabels=0pt}

\begin{document}
\psset{unit=1.0cm}
\begin{center}
Hyperbelfunktionen mit PSTricks
\normalsize
\vspace{0.7cm}\\
\begin{pspicture}(-4,-4)(4,4)
   \psclip{\psframe(-4,-4)(4,4)}
   \psaxes{->}(0,0)(-4,-4)(4,4)
   \psplot[plotstyle=curve,linestyle=dotted,%
   linewidth=1pt]{-2.2}{2.2}{2.71828 x exp %
   2.71828 x neg exp add 2 div}
   \psplot[plotstyle=curve]{-2.2}{2.2}%
   {2.71828 x exp 2.71828 x neg exp sub 2 div}%
   \psplot[plotstyle=curve,linestyle=dashed]%
   {-4}{4}{2.71828 x exp 2.71828 x neg exp sub %
   2.71828 x exp 2.71828 x neg exp add div}%
   \endpsclip
   \psplot[linestyle=dotted]{-4}{4}{x}

   \rput(3.5,-0.2){$\mathbf{x}$}
   \rput(0.3,3.5){$\mathbf{y}$}
   \rput(-2.3,-3){\colorbox{white}%
   {\ovalbox{$\sinh x=\frac{e^x-e^{-x}}{2}$}}}
   \rput(-2.3,0.8){\colorbox{white}%
   {\ovalbox{$\cosh x=\frac{e^x+e^{-x}}{2}$}}}
   \rput(2.9,0.6){\colorbox{white}%
   {\ovalbox{$\tanh x$}}}
\end{pspicture}
\end{center}
\end{document}


Aber wie würde ich da z.b. nen Asinh reinbringen können o.ä. ?
Das is mein Problem.
Geht das garnicht so wie oben ?
Wie könnte ichs dann stattdessen besser machen ?

Und zu deinem Schneekompensator (^^):
Wo gäbe ich das denn ein damit ich was rausbekommen kann ?

Tut mir leid wenn ich bisschen begriffsstutzig bin, ich bemühe mich wirklich und ich bin dir sehr dankbar für deine Bemühungen!!
AD Auf diesen Beitrag antworten »

Ok, jetzt ist einiges klar: Du redest nicht direkt von Postscript, sondern von den Befehlen, die die LaTeX-Pakete pst-plot, pstricks u.a. dieser Familie bereitstellen - das ist was anderes.

Zitat:
Original von Lazarus
Und zu deinem Schneekompensator (^^):
Wo gäbe ich das denn ein damit ich was rausbekommen kann ?

Einfach als *.eps Datei abspeichern und ansehen, z.B. mit GhostView. smile
Ist nicht so wichtig.
Lazarus Auf diesen Beitrag antworten »

Ja genau. Tut mir leid das das nicht ganz klar geworden is bisher.
Und wie siehts damit etz aus ?
AD Auf diesen Beitrag antworten »

Du kannst ja trotzdem Postscript dort einbetten, wenn ich das richtig erkenne.

asinh gibt es in Postscript nicht, aber das kannst du ja auch mit ln darstellen - Kapitel 8.2 im obigen Postscript-Manual listet alle Funktionen auf.

Grundsätzlich musst du, wenn du das anwenden willst, natürlich etwas die Sprache verstehen, und die ist operandenstackbasiert: So bedeutet

3 4 7 mul add sin

übersetzt , das ist sozusagen UPN.
Lazarus Auf diesen Beitrag antworten »

Das mit der Sprasche und der UPN geht klar, damit komm ich zurecht.
Aber das bedeutet LambertW -1 und 0 (also die beiden Rellen Zweige) zu zeichnen z.b. würde nicht gehn.
Is dann die einzige Möglichkeit die Punkte einzutragen und dann verbinden zu lassen ?

Der Punkt ist, ich will so eine Grafik erzeugen wie hier auf der Dritten Seite oben.

Das is doch mit ps-plot erstellt oder nicht (sieht finde ich zumindest so aus).

Und gibts ne gute Alternativmöglichkeit statt die ganzen einzelnen Punkte einzugeben, so eine Grafik zu erzeugen die 1) Die beiden Rellenäste von LambertW anzeigt,2) x*exp(x) anzeigt, den 3) Punkt x=-1/e markieren kann und 4) die Beschriftung in Latexschrift macht.

Das ist eigentlich das ganze Problem, und dabei bin ich eben auf pst-plot gekommen.
AD Auf diesen Beitrag antworten »

Zitat:
Original von Lazarus
Das is doch mit ps-plot erstellt oder nicht (sieht finde ich zumindest so aus).

Weiß ich nicht - könnte auch MetaPost sein. verwirrt
Neue Frage »
Antworten »



Verwandte Themen