PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pstricks Koordinaten



graf
26-06-2011, 23:11
Hallo

Ich möchte die Koordinaten eines Schnittpunkts von zwei Funktionsgraphen benutzen, beispielsweis um den Schnittpunkt S(x|y) anzuzeigen.

Das folgende Minimalbeispiel soll das demonstrieren. Alles läuft rund, bis eben das "Transportieren" der mit PostScript berechneten Koordinaten auf TeX-Ebene.

Vielen Dank für alle Hinweise und Tipps.
Urs

\documentclass{scrartcl}%
%
\usepackage{pstricks}
\usepackage{pst-eucl}
\usepackage{pstricks-add}
\begin{document}
%--------------------------------------------------------------------------------------------------
\psset{xAxisLabel=$x$,yAxisLabel=$y$,linewidth=0.4 pt}%
%
%================================================= =================================================
% psgraph-Einstellungen
%--------------------------------------------------------------------------------------------------
\begin{psgraph}[Dx=1,Dy=2,ticksize=-2pt 2pt,arrowscale=1.5,labels=none,linewidth=0.2pt]{->}%
(0,0)(-4.1,-4.1)(3,8)%
{0.5\linewidth}{0.5\linewidth}%
%
%================================================= =================================================
% Defintion von Funktionen
%--------------------------------------------------------------------------------------------------
\def\f{x dup mul neg 6 add}%
\def\g{x 1 add x 3 add mul x 1 sub mul 2 div}
%
%================================================= =================================================
% Funktionsgraphen zeichnen
%--------------------------------------------------------------------------------------------------
\psset{linewidth=0.8pt}%
\psplot[plotstyle=curve]%
{-3}{3}{\f}%
\psplot[plotstyle=line,yMaxValue=8]%
{-3.3}{3}{\g}%
%
%================================================= =================================================
% Schnittpunkte berechnen und zeigen, aber ohne Namen
%--------------------------------------------------------------------------------------------------
\psset{PointName=none,PointSymbol=o,dotscale=1.5}%
\pstInterFF{\f}{\g}{2}{S}%
\pstInterFF{\f}{\g}{-2}{S'}%
%
%================================================= =================================================
% Schnittpunkt S mit den entsprechenden Koordinaten anzeigen
%--------------------------------------------------------------------------------------------------
\uput[0](! \psGetNodeCenter{S} S.x S.y){$S(1.59|3.48)$}
% die auf zwei Nachkommastellen gerundeten Koordinaten des Schnittpunkts S möchte ich, wenn dies
% irgendwie möglich ist, nicht von Hand berechnen, sondern automatisch berechnen lassen; nur kriege
%ich die mit PostScript berechneten Zahlen S.x und S.y nicht auf die LaTeX-Ebene zurück!
\end{psgraph}%
\end{document}

mechanicus
27-06-2011, 11:48
Hi,

http://www.mrunix.de/forums/showthread.php?t=59022

Marco

graf
27-06-2011, 12:25
Vielen Dank, Marco, für den Hinweis.

Dann bleibt mein Wunsch wohl ein schöner Traum.

Die Ausgabe via PostScript funktioniert, aber der Font ist dann verschieden vom TeX-Font ComputerModern, oder gibt's den auch als PostScript Variante?

Gruss
Urs

mechanicus
27-06-2011, 15:45
Hi,

schaue dir mal

string cvs /Computer-Modern-Roman findfont 11 scalefont setfont show

an.

Gruß
Marco

graf
28-06-2011, 06:11
Besten Dank. Computer-Modern-Roman kommt der Sache schon ziemlich nahe, perfekt ist es leider nicht; man vergleiche z.B. die Ziffer 5.

Schönen Tag
Urs

voss
29-06-2011, 09:12
Ich möchte die Koordinaten eines Schnittpunkts von zwei Funktionsgraphen benutzen, beispielsweis um den Schnittpunkt S(x|y) anzuzeigen.

Das folgende Minimalbeispiel soll das demonstrieren. Alles läuft rund, bis eben das "Transportieren" der mit PostScript berechneten Koordinaten auf TeX-Ebene.


Die Schrift kannst du mit einer anderen Option ändern. Siehe Doku pst-func


\documentclass{scrartcl}%
\usepackage[T1]{fontenc}
\usepackage{pst-eucl,pst-func}
\usepackage{pstricks-add}
\makeatletter
\def\Pst@InterFF[#1]#2#3#4#5{%
\bgroup\psset{#1}% % Affectation of local parameters
\pnode(!
tx@EcldDict begin
#4 { #3 } { #2 } NewtonSolving pop 2 copy
end /#5.y exch def /#5.x exch def ){#5}%
\Pst@geonodelabel{#5}%
\egroup%
}
\makeatother
\begin{document}
%--------------------------------------------------------------------------------------------------
\psset{xAxisLabel=$x$,yAxisLabel=$y$,linewidth=0.4 pt}%
\begin{psgraph}[Dx=1,Dy=2,ticksize=-2pt 2pt,
arrowscale=1.5,%labels=none,
linewidth=0.2pt]{->}(0,0)(-4.1,-4.1)(3,8){0.5\linewidth}{0.5\linewidth}
\def\f{x dup mul neg 6 add}
\def\g{x 1 add x 3 add mul x 1 sub mul 2 div}
\psset{linewidth=0.8pt}
\psplot[plotstyle=curve]{-3}{3}{\f}
\psplot[yMaxValue=8]{-3.3}{3}{\g}
\psset{PointName=none,PointSymbol=o,dotscale=1.5}
\pstInterFF{\f}{\g}{2}{S}
\pstInterFF{\f}{\g}{-2}{S'}
\uput[0](S){(%
\makebox[1.6em][l]{\psPrintValue[decimals=2]{ S.x }}|%
\makebox[1.6em][l]{\psPrintValue[decimals=2]{ S.y }}%
)}
\end{psgraph}%
\end{document}

Herbert